]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/video/readers/jpeg.c: Support grayscale.
[grub2.git] / ChangeLog
CommitLineData
e9c492a0
VS
12013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/video/readers/jpeg.c: Support grayscale.
4
0340bdbc
JM
52013-09-24 Jon McCune <jonmccune@google.com>
6
7 * grub-core/commands/loadenv.c: Support skipping signature check
8 and variable names filtering.
9
30b7f58f
VS
102013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
13 * grub-core/kern/emu/hostfs.c: Likewise.
14 * util/getroot_unix.c: Likewise.
15
bab7b1eb
VS
162013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
19 Migrate all explicit defines to this new one.
20
43b1c99d
VS
212013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
24 grub_util_fd_strerror when using grub_util_fd_*.
25 (grub_util_fd_open_device): Likewise.
26 (grub_util_biosdisk_read): Likewise.
27 (grub_util_biosdisk_write): Likewise.
28 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
29 (grub_util_fd_strerror): Likewise.
30 (grub_util_fd_sync): Likewise.
31 (grub_util_fd_close): Likewise.
32 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
33 (grub_util_fd_close): Likewise.
34 (grub_util_fd_strerror): Likewise.
35 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
36 function proto rather than macro.
37 (grub_util_fd_sync): Likewise.
38 (grub_util_fd_open): Likewise.
39 (grub_util_fd_strerror): New proto.
40
e8fd80bc
VS
412013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
44 platforms on which it doesn't work.
45
bf645fda
VS
462013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
49 stat immediately to where it's used.
50
5177ba14
VS
512013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * util/getroot.c (grub_util_check_block_device): Move to ...
54 * util/getroot_unix.c (grub_util_check_block_device): ... here.
55 * util/getroot.c (grub_util_check_char_device): Move to ...
56 * util/getroot_unix.c (grub_util_check_char_device): ... here.
57
9db826e1
VS
582013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
61 disk closing logic.
62
49120085
AB
632013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
64
65 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
66
b3328b68
AB
672013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
68
69 * docs/grub.texi (File name syntax): Document ZFS filenames
70 (/volume@snapshot/...).
71
3fff48ab
VS
722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
75 Always return full path. Fixes a problem with mkrelpath.
76
39cfdaa9
PFS
772013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
78
79 * util/grub-install.in: Add GPT PReP support.
80 * util/grub-probe.c (probe): Support GPT partition type.
81 (main): Support -t gpt_parttype.
82
7c680e1f 832013-09-23 Aleš Nesrsta <starous@volny.cz>
84
85 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
86
890bdabe
MM
872013-09-23 Massimo Maggi <me@massimo-maggi.eu>
88
89 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
90
9c262ff9
TH
912013-09-23 Tim Hardeck <thardeck>
92
93 * util/grub.d/10_hurd.in: Filter out character for the class.
94 * util/grub.d/10_kfreebsd.in: Likewise.
95 * util/grub.d/10_linux.in: Likewise.
96 * util/grub.d/20_linux_xen.in: Likewise.
97
d755342a
MC
982013-09-23 Melki Christian <Christian.melki@saabgroup.com>
99
100 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
101 "changed".
102
68b77707
JT
1032013-09-23 Josh Triplett <josh@joshtriplett.org>
104
105 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
106 boot partition.
107
efa68bfa
VS
1082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
111 doesn't use posix_wrap. Keep literal -fno-builtin however.
112
d9104204
VS
1132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
116
c248781a 1172013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1182013-09-23 neil
119
5830df88 120 * configure.ac: Do not enable -Wmissing-noreturn as its
121 usefulness is limited and creates problems on some OS notably with
122 code generated by bison.
123
1242013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1252013-09-23 neil
126
127 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 128 supported by all gcc and when it is, it's already enabled by -Wall.
129
621bed69
VS
1302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
133 desactivated use of EDID at all.
134
71764dc8 1352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1362013-09-23 neil
137
138 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
139 video if no text is available.
140
affce7d4 1412013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
1422013-09-23 neil
143
144 * configure.ac: Substitute TARGET_RANLIB.
145
1462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1472013-09-23 neil
affce7d4
VS
148
149 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
150
151 Based on patches from AROS.
152
0e8daad0 1532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 1542013-09-23 neil
0e8daad0
VS
155
156 * grub-core/Makefile.am: Override STRIP and RANLIB.
157 * configure.ac: compute TARGET_RANLIB.
158 * INSTALL: Document TARGET_RANLIB
159
160 Based on patches from AROS.
161
3f7d9c82
VS
1622013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
165 that floppies are unpartitioned.
166
bca8873a
VS
1672013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
170 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
171
1722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
175 less nice but more portable.
176 * grub-core/lib/posix_wrap/wchar.h: Likewise.
177
a47a78be
VS
1782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
181 for cheat_fd.
182 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
183 functions.
184 (grub_cryptodisk_cheat_insert): Likewise.
185 (grub_cryptodisk_close): Likewise.
186
e85a5d5c
VS
1872013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
190 Use windows path for DEFAULT_DIRECTORY.
191
dad9fa6b
VS
1922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
195 difference was likely just gcc version, not anything mingw-related.
196
7e518ca8
VS
1972013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
198
199 Use Winapi on both cygwin and mingw32 to share more code between both.
200
d68d0157
AB
2012013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
202
203 * util/grub-install.in: Add --grub-editenv option.
204 * util/grub-install_header (grub_compress_file): Explicitly check for
205 plain file to avoid cp error.
206
775b284d
AB
2072013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
208
209 * docs/grub.texi (Device syntax): Document new LVM UUID based device
210 names; fix LVM driver name (lvm, not lv).
211 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
212 names.
213
3ff4063d
VS
2142013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
217 files rather than one file with loads of #if's.
218 * util/getroot.c: Likewise.
219
287faafe
VS
2202013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
223
d1983764
VS
2242013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
227 GNU/Hurd to the list of checked PRNG.
228
15ce95c4
VS
2292013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * configure.ac: On FreeBSD use -melf_*_fbsd format.
232
207862dd 2332013-09-21 Ales Nesrsta <starous@volny.cz>
234
7c680e1f 235 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 236
63653cfd
VS
2372013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
240 * grub-core/disk/lvm.c: Add LVM UUIDs.
241 * util/getroot.c: Use LVM UUIDs whenever possible.
242
f5d3e7ef
AB
2432013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
244
245 * docs/grub.texi (Networking commands): Add documentation for
246 network related commands.
247
53c6b7d6
VS
2482013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * util/getroot.c (grub_util_open_dm): Check major rather than the name
251 to determine if device is handled by devmapper.
252 (convert_system_partition_to_system_disk): Likewise.
253 (get_dm_uuid): Don't check explicitly if device is mapped, it's
254 already done in grub_util_open_dm.
255
e70d6736
LL
2562013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
257
258 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
259 Clean up stack manipulation (sync_caches_armv*)
260
90379808
VS
2612013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * util/lvm.c: Remove since unused. Remove remaining references.
264
386701a8
VS
2652013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
266
267 Handle the case of partitioned LVM properly.
268
269 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
270 Stop on meeting LVM, mpath or DMRAID.
271 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
272 (read_device_map): Likewise.
273 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
274 device is full disk rather than erroring out on LVM and similar cases.
275
53070787
VS
2762013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
279
1bc783bd
VS
2802013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
283 4K before the end.
284 Reported by: Leif Lindholm
285
436ad5c3
PW
2862013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
2872013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
290 codes.
291
607319c9
CW
2922013-09-18 Colin Watson <cjwatson@ubuntu.com>
293
294 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
295 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
296
d404d154
DR
2972013-09-18 Douglas Ray <dougray@cpan.org>
298
299 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
300 as secure.
301
28851ef6
AN
3022013-09-18 Aleš Nesrsta <starous@volny.cz>
303
304 * docs/grub.texi: Fix broken link.
305
897c3bc6
MC
3062013-09-18 Melki Christian <Christian.melki@saabgroup.com>
307
308 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
309 to break endless loop.
310
f1630459
VS
3112013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * util/grub-fstest.c: Fix several printf formats.
314 * util/grub-mkimage.c: Likewise.
315 * util/grub-mkimagexx.c: Likewise.
316 * util/grub-script-check.c: Likewise.
317
64463dfd
VS
3182013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
321 error.
322
48972495
VS
3232013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
326
5dd5e64b
VS
3272013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
330 removed in current versions cygwin_conv_*.
331
1c1f31e5
VS
3322013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * configure.ac: Disable efiemu runtime on cygwin.
335
c546a259
VS
3362013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
339 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
340
81690478
VS
3412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
344 error message.
345
6b87c10a
VS
3462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
349 windows variant.
350 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
351 data.
352
8f0baaac
VS
3532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
356 when on x86 and not cygwin.
357 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
358 -Wl,-melf_x86_64.
359
b224c266
VS
3602013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * configure.ac: Set CPP to build one when checkoing for freetype for
363 build.
364
506b336b
VS
3652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
368 [!GRUB_BUILD]: Remove has_argument.
369
8c8c87b7
VS
3702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
373 Replace with a dummy.
374
7dc5ca13
VS
3752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * configure.ac: Don't change host_os from mingw to cygwin.
378
c3302aa5
VS
3792013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * configure.ac: Change target_os from windows to cygwin.
382
7b780018
VS
3832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
384
385 Handle grub-pe2elf and grub-mkfont for cases when build != host.
386
387 * Makefile.am (build-grub-mkfont): Don't include gnulib.
388 (build-grub-gen-asciih): Likewise.
389 (build-grub-gen-widthspec): Likewise.
390 * Makefile.util.def (grub-pe2elf): Remove.
391 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
392 * configure.ac: Separate tests for build.
393 Move ./build-grub-pe2elf to grub-core.
394 Fix typo.
395 * grub-core/Makefile.am (build-grub-pe2elf): New target.
396 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
397 defined.
398 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
399 constants.
400 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
401 * util/grub-pe2elf.c: Simplify not to rely on getopt.
402 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
403
984cfd8a
VS
4042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
407 mingw32 as well based on grub_util_get_disk_size.
408 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
409 grub_util_get_fd_size.
410 (sync): Removed.
411 (fsync): Moved to ...
412 * grub-core/kern/emu/misc.c (fsync): ... here.
413
f82d79c9
VS
4142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * include/grub/mm.h (grub_extend_alloc): Remove.
417 * grub-core/loader/i386/pc/plan9.c: Use own version of
418 grub_extend_alloc with appropriate types.
419
fd7dd66d
VS
4202013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
423
43ffba7c
VS
4242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * util/getroot.c: Include sys/wait.h only when we need waitpid.
427
3c7eac44
VS
4282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
429
430 Fix dependencies on cygwin.
431
432 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
433 dependencies when used and defined.
434 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
435
bdb5ba47
VS
4362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
439 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
440
ed7fbf43
VS
4412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
444 implementation available to cause compile-time rather than runtime
445 error.
446
fc46e9fc
VS
4472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * util/grub-fstest.c: Don't check for symlinks on windows.
450
7f68269a
VS
4512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * INSTALL: Mention unavailability of man pages when cross-compiling.
454
8ed358e0
VS
4552013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
458 and gcry_log_bug.
459 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
460
fc97214f
VS
4612013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * INSTALL: Document cross-compilation.
464 * acinclude.m4: Determine whether nm support -P and --defined-only.
465 * configure.ac: Add TARGET_ to all variables pertaining to target
466 that don't have it yet.
467 * gentpl.py: Likewise.
468 * grub-core/Makefile.am: Likewise.
469 * grub-core/genmod.sh.in: Likewise.
470 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
471 as well.
472
ca1fb563
IB
4732013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
474
475 * configure.ac: Remove -Wempty-body. It's not essential and needs
476 recent gcc.
477
0031b229
IB
4782013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
479
480 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
481 * util/getroot.c: Likewise.
482
54ea2f44
VS
4832013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/disk/ahci.c: Add needed explicit cast.
486 * grub-core/lib/backtrace.c: Likewise.
487 * grub-core/net/ip.c: Likewise.
488 * grub-core/net/tcp.c: Likewise.
489 * grub-core/net/udp.c: Likewise.
490
3c601f8c
VS
4912013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
494
1d679dda
VS
4952013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * util/import_gcry.py: Add final newline in visibility.h.
498
00c28dd9
VS
4992013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * conf/Makefile.common: Fix typo.
502
32af299a
VS
5032013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
506
e733cf52
VS
5072013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * Makefile.am (widthspec.h): Fix typo.
510 * util/grub-gen-widthspec.c: Likewise.
511
c6b066f2
VS
5122013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
513
514 Move ascii.h and widthspec.h generation to a separate build-time-only
515 tool.
516
ad1fe3f9 5172013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
518
519 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
520 Always fill bootdisk info and improve check for NetBSD disklabel.
521
92a52dd4
VS
5222013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * conf/Makefile.extra-dist: Add util/bin2h.c.
525 Reported by: floppym.
526
b2e9d276
VS
5272013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
530
7b966834
VS
5312013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * configure.ac: Disable unifont and starfield if no freetype was found.
534
d5c1eef1
VS
5352013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
538 on NetBSD and OpenBSD.
539
66345b50 5402013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
541
542 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
543
66345b50 5442013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
545
546 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
547 reduced. Inheritant options are processed during the theme loading.
548
66345b50 5492013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
550
551 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
552
369508b3
AS
5532013-08-14 Avik Sil <aviksil@in.ibm.com>
554
555 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
556
5572013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
558
559 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
560 using qemu.
561
6f27a3f6
PFS
5622013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
563
564 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
565 remove-potcdate.sed.
566
c6ed362a
AB
5672013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
568
569 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
570 unused attribute from pull argument.
571
5e7d9464
AB
5722013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
573
574 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
575 memory leak.
576
dea55e2a
AB
5772013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
578
579 * util/getroot.c (pull_lvm_by_command): add --separator option
580 to vgs call to disable padding of output to 10 characters.
581
f0b94ded
VS
5822013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
585 here ...
586 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
587 here.
588
b828fb5d
VS
5892013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
592 length.
593
7c9d0c39
VS
5942013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
595
596 Fix handling of build-time grub-bin2h and grub-mkfont when doing
597 full Canadian cross. Tested with build=x86_64, host=arm,
598 target=ppc-ieee1275.
599
816719c8
VS
6002013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * configure.ac: Error if no $BUILD_CC could be found.
603 Reported by: DevHC.
604
2af2353b
VS
6052013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
608 i386-multiboot.
609
797abd0a
VS
6102013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
613 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
614
36e87d25
CW
6152013-08-13 Colin Watson <cjwatson@ubuntu.com>
616
617 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
618 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
619 falling back to the partition device, otherwise a later call to this
620 function may fail spuriously.
621 Reported by Axel Beckert. Fixes Debian bug #708614.
622
273349fe
GS
6232013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
624
625 * autogen.sh: Replace find -not by the POSIX-compliant find !.
626
418f86c6
GS
6272013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
628
629 Prevent shadowing of stdlib's devname(3) on BSD.
630
631 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
632 and devlast to diskname and disklast, respectively.
633
c137aea0
CW
6342013-08-11 Colin Watson <cjwatson@ubuntu.com>
635
636 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
637
272dc8df 6382013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
639
640 * docs/grub.texi: Introduce terminal window position options:
641 terminal-left: terminal window's left position
642 terminal-top: terminal window's top position
643 terminal-width: terminal window's width
644 terminal-height: terminal window's height
645 terminal-border: terminal window's border width
646 * grub-core/gfxmenu/theme-loader.c: Likewise.
647 * include/grub/gfxmenu_view.h: Likewise.
648 * po/exlude.pot: Likewise.
649 * grub-core/gfxmenu/view.c: Likewise.
650 Also updated minimal window size.
651 Also terminal_sanity_check function has been introduced.
272dc8df
VT
652 * grub-core/tests/checksums.h: Update (terminal window height
653 is adjusted now for low resolution screen)
b4743461 654
748a4533
VS
6552013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
658 position).
659
fca5f944
VS
6602013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * po/exclude.pot: Add few recent exceptions.
663
4f47d809
VS
6642013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * tests/grub_func_test.in: Add unicode.pf2.
667
a62ae90c
VS
6682013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
671 standard rather than noral color, in line with other terminals.
672
4ed41392
VS
6732013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
676 analysis.
677
3719fbc5
VS
6782013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/loader/arm/linux.c: Change printf to dprintf.
681
459b1d91
VS
6822013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
685 inappropriate printf.
686
f4e1ab9d
AB
6872013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
688
689 * .bzrignore: Remove grub-core/lib/dtc-grub,
690 grub-core/Makefile.libfdt.def
691 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
692
fa471bfa
VS
6932013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * include/grub/video.h (grub_video_register): Keep double-linked as
696 well as single-linked invariants.
697 Reported by: qwertial.
698
d65be02b
VS
6992013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/commands/nativedisk.c (get_uuid): Handle
702 GRUB_DISK_DEVICE_UBOOTDISK_ID.
703
ba8bc620
VT
7042013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
705
706 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
707 maximum of NW, N, NE heights instead of N's height and maximum of
708 NW, W, SW widths instead of W's width. (So the box will be always
709 correctly drawn)
710
4f0ad029
GS
7112013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
712
713 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
714 Fix misuse of variable count.
715
43d53b72
LL
7162013-07-18 Leif Lindholm <leif.lindholm@arm.com>
7172013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
7182013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 719
43d53b72
LL
720 New ports to arm-uboot and arm-efi.
721 Mostly by Leif Lindholm with some additions from
722 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 723
88f8d146
VS
7242013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
727 and not before.
728 Reported by: Leon Drugi.
729
3f42504c
VS
7302013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
733 Reported by: Paulo Flabiano Smorigo.
734
d110499b
VT
7352013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
736
737 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
738
a8674ad3
VT
7392013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
740
741 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
742
286fe4b3
VS
7432013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
746
1bd57aa3
VS
7472013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
750
7a87d69f
AB
7512013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
752
753 * grub-core/net/bootp.c: Export net_* variables.
754 * grub-core/net/net.c: Likewise.
755
b2182299
VS
7562013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
759
795b3dc0
VS
7602013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
763
68714c43
VS
7642013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
767
af211bab
VS
7682013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
771
0036f02d
MM
7722013-07-14 Massimo Maggi <me@massimo-maggi.eu>
773
774 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
775 <= 0.
776
6d0ddff3
MM
7772013-07-14 Massimo Maggi <me@massimo-maggi.eu>
778
779 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
780 functions.
781
038016f4
MM
7822013-07-14 Massimo Maggi <me@massimo-maggi.eu>
783
784 * grub-core/fs/zfs/zfs_lz4.c: New file.
785 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
786
776bdce2
MM
7872013-07-14 Massimo Maggi <me@massimo-maggi.eu>
788
789 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
790
c71dbd40
MM
7912013-07-14 Massimo Maggi <me@massimo-maggi.eu>
792
793 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
794 (check_pool_label): Likewise.
795 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
796
7972013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
798
799 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
800
8e67b50f
AB
8012013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
802
803 * docs/grub.texi (Commands): Document postition parameters
804 for menuentry command.
805
f5ae3717
AB
8062013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
807
808 * util/grub-mknetdir.in: Remove stray line from help output.
809
9c28da2a
VS
8102013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Remove early sm712 init as there is no reason for it (the "watchdog"
813 effect was due to wrong GPIO map).
814
139072b8
VS
8152013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/commands/pcidump.c: Remove static variables.
818
c6a61bda
VS
8192013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/commands/sleep.c: Refresh screen before sleeping.
822
51369614
VS
8232013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * configure.ac: Move delimiter after the infos.
826
efa8640a
VS
8272013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
830
6f80a7b2
VS
8312013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
834 not filling whole 8x16 space.
835
a2371e19
VS
8362013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
839
64fce2d8
VS
8402013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * configure.ac: Indicate which liblzma is used if any.
843
eb272d84
PW
8442013-06-21 Paul Wise <pabs3@bonedaddy.net>
8452013-06-21 Craig Sanders <savannah@taz.net.au>
846
847 * util/grub-reboot.in: Document submenu usage.
848
a9e5abee
CW
8492013-06-25 Colin Watson <cjwatson@ubuntu.com>
850
851 * .bzrignore: Update with a number of new test-related files.
852
e639c204
CW
8532013-06-25 Colin Watson <cjwatson@ubuntu.com>
854
855 * util/grub-script-check.c: Fail on scripts containing no
856 commands, to guard against corrupted grub-mkconfig setups that
857 produce no useful output.
858 * tests/grub_script_no_commands.in: New test.
859 * Makefile.util.def (grub_script_no_commands): Add.
860 Reported by Hans Putter. Fixes Debian bug #713886.
861
a4c89b17
AB
8622013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
863
864 * grub-core/disk/diskfilter.c: Forgot to remove comment
865 from previous commit.
866
5b06b53c
AB
8672013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
868
869 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
870 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
871
702da5c9
AB
8722013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
873
874 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
875
aa62a5b7
AB
8762013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
877
878 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
879 rescan diskfilter devices until nothing new is found.
880
4aa237c8
VS
8812013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Fix casts when compiling coreboot-specific code for 64-bit EFI.
884
93d8479b
VS
8852013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
886
887 Don't try to detect cbfs on *-emu.
888
837222cc
VS
8892013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/term/gfxterm.c: USe right background color when scrolling.
892
99c971af
VS
8932013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
894
895 Add support for processed coreboot payload chainloading.
896
e6930a45
VS
8972013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
898
899 Enable coreboot information commands even when not loaded as
900 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
901
5027af38
VS
9022013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Support for cbfs. Also factor out the part which is common
905 for all archives to a separate module. This splits tar from cpio
906 as they are very different but keeps cpio, cpio_be, odc and newc
907 together since they're very similar.
908
a5b55c4b
DM
9092013-06-15 David Michael <fedora.dm0@gmail.com>
910
911 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
912 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
913
0301a8b3
VS
9142013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * tests/grub_script_eval.in: Really add the eval test.
917
3d84cb17
VS
9182013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
919
920 Move flavour-specific parts out of common cpio.c file and
921 rename remaining to cpio_common.c
922
593e430c
AB
9232013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
924
925 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
926 off new function grub_script_execute_new_scope. Change callers to use
927 either of them as appropriate.
928 * grub-core/commands/eval.c: New command eval.
929 * docs/grub.texi (Commands): Document it.
930
63c29849
AB
9312013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
932
933 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
934 to fetch values when listing.
935
cc284112
AB
9362013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
937
938 Fix make dist on non-pc.
939
9402013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
941
942 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
943 without a device name.
944
69544d1e
VS
9452013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
946
947 Remove enable_executable_check as it's not needed anymore.
948 Reported by: dougray.
949
96dbe648
VS
9502013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
953 ambigouos RAID before discovering RAIDs on top of it.
954 Reported by: bodom.
955
ccfc0bdb
VS
9562013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
957
958 Fix typo (failback vs fallback).
959
f2587088
AB
9602013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
961
962 * util/grub.d/30_os-prober.in: Add support for probing EFI
963 System Partition (as of os-prober 1.58).
964
cec5cf0c
VS
9652013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * configure.ac: Add yet another path to unifont. For parabola.
968
e40b4596
JT
9692013-05-30 Josh Triplett <josh@joshtriplett.org>
970
971 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
972 handling to copy the killed characters to the kill buffer as
973 UCS4 stored as grub_uint32_t rather than as 8-bit characters
974 stored as char. Eliminates UCS4 truncation and corruption
975 observed when killing characters with Ctrl-u and yanking them
976 back with Ctrl-y.
977
fc4c4fdd
VS
9782013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
979
980 Detach optional parts of gfxterm and integrate in with coreboot init.
981
6570b205
VS
9822013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
983
984 Move blit and fill dispatcher to appropriate files to decrease export
985 and relocation overhead.
986
b8323067
VS
9872013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/font/font.c, include/grub/font.h: Inline simple font
990 functions.
991
3cc1878f
VS
9922013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/Makefile.am: Fix compilation problem with some
995 automake versions.
996
4b80e43c
VS
9972013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1000
57e0c20c
VS
10012013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1004 automake versions.
1005
4fd42c53
VS
10062013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1009 SSDT.
1010
1e908b34
RS
10112013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1012
1013 * grub-core/partmap/dfly.c: New partition map.
1014
1359e474
VS
10152013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1018 checking.
1019 Reported by: Francesco Lavra.
1020
17806392
AB
10212013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1022
1023 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1024 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1025 false conditions.
1026 * conf/Makefile.common: define dist_grubconf_DATA
1027
cdce14fa
VS
10282013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 Progressively skip menu elements on small terminals rather
1031 than crashing.
1032
c8d6cc3c
VS
10332013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1036 to avoid losing last column.
1037
a73b31ce
VS
10382013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * po/exclude.pot: Add missing string "%C".
1041
1202c764
VS
10422013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1045 after the test.
1046
50268344
VS
10472013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * util/grub-install.in: Gettextize "Not found" message.
1050
62b15edf
VS
10512013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Fix distfiles list.
1054 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1055
10562013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1057
1058 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1059 present.
1060 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1061
709ad61b
VS
10622013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1065
d128901a
VS
10662013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1069 attribute since structure is not necessarily aligned.
1070
34b22f5c
AB
10712013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1072
1073 * docs/grub.texi (Device syntax): Clarify description of network
1074 drives.
1075
0f7e980b
VS
10762013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1079 for vasprintf presence.
1080
30b03dc2
VS
10812013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * util/grub-install.in: Handle efibootmgr presence check.
1084 Reported by: Leif Lindholm.
1085
0dc11c08
VS
10862013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1089 new strings to translate.
1090
f8024c3f
VS
10912013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1094 yet another string (pun intended) to translate.
1095
b4c1da62
VS
10962013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * po/POTFILES-shell.in: Autogenerate it.
1099
0ef7478b
VS
11002013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1103
8200fa15
VS
11042013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1107 misnomer.
1108
091945b2
AB
11092013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1110
1111 * docs/grub.texi (Network): Add description of net_default_interface,
1112 net_default_ip and net_default_mac. Rewrite variables description
1113 to emphasize that they are per-interface.
1114
0e7b2e32
VS
11152013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 New test: cmdline and cat.
1118
16f7c8f6
VS
11192013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/commands/cat.c: Show UTF-8 characters.
1122
3e912fda
VS
11232013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * conf/Makefile.common: Poison float and double on non-emu.
1126
ee0220bc
VS
11272013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * configure.ac: Don't disable extended registers on emu.
1130
89e0240c
VS
11312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * configure.ac: Don't use extended registers on x86_64.
1134 Reported by: Peter Jones.
1135
e56d9637
VS
11362013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * grub-core/term/efi/console.c: Fix compile error.
1139
8098f655
VS
11402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 Compressed HFS+ support.
1143
16940e07
VS
11442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1147 pixel".
1148
c5dbc13d
VS
11492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 Menu color test.
1152
011f8ae8
VS
11532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/tests/setjmp_test.c: New test.
1156
2aa072d7
VS
11572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 New variables 'net_default_*' to determine MAC/IP of default interface.
1160
43fe02cb
VS
11612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * tests/gettext_strings_test.in: A test to check for strings not
1164 marked for translation.
1165
bed06142
VS
11662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * autogen.sh: Exclude unused libgcrypt files from translation.
1169
fb2666b5
VS
11702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 Simplify few strings.
1173
d22840ec
VS
11742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 Mark few forgotten strings for translation.
1177
e34092fd
VS
11782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1181 rather than printf.
1182
47cf82b4
VS
11832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1186 rather than printf.
1187 * grub-core/video/readers/tga.c: Likewise.
1188
1eed0e6e
VS
11892013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * tests/priority_queue_unit_test.cc: New test.
1192
c5b7697b
VS
11932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1196 than printf.
1197
5945c2f8
AB
11982013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1199
1200 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1201 variable for one time boot menu entry.
1202
fa292343
B
12032013-05-05 Bean <bean123ch@gmail.com>
1204
1205 * grub-core/commands/testspeed.c: New command testspeed.
1206
310d4214
VS
12072013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 Factor-out human-size printing.
1210
85002bf3
VS
12112013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Agglomerate more mallocs to speed-up gfxterm.
1214
22b06e96
VS
12152013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 Speed-up gfxterm by slightly agglomerating mallocs.
1218
b7c036bc
VS
12192013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 More video checks.
1222
92323d1f
VS
12232013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 Speed-up gfxterm by saving intermediate results in index+alpha
1226 format.
1227
0fb356a3
VS
12282013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1231 test.
1232
44dea3f9
VS
12332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1236 line of timeout as it may contain the rest of long line.
1237
14af86e4
VS
12382013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/normal/main.c: Fix freed memory dereference.
1241
03f7c8c3
VS
12422013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 Fix several memory leaks.
1245
c686014c
VS
12462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1249
0788a695
VS
12502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1253
daf01d61
VS
12542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 Fix test -a and -o precedence.
1257 Reported by: adrian15.
1258
82ae74d7
VS
12592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1262
8cec7bd4
AB
12632013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1264
1265 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1266 and add it as source to functional_test module.
1267
aa73d688
VS
12682013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1271
c104b6f9
VS
12722013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 New series of tests for gfxterm and gfxmenu.
1275
7391c4d5
VS
12762013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1279 the theme path relative to $prefix/themes.
1280
cff50118
VS
12812013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1284 Fix order bug.
1285 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1286
7c332bdc
VS
12872013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1290 descriptor.
1291
a4f9a5ff
VS
12922013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1295 grub_gfxmenu_timeout_notifications.
1296 (grub_gfxmenu_view_destroy): Likewise.
1297
b5a2114d
VS
12982013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1301
a8905e8a
VS
13022013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Several fixes to ieee1275 and big-endian video.
1305
813c1622
VS
13062013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 Add missing exports on mips.
1309
3f3e7326
VS
13102013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1313 if no unifont is found.
1314 Restore original keyboard.
1315
095accd1
VS
13162013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1319 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1320
50361660
VS
13212013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 First automated video test (running videotest and comparing results)
1324
cd0f6eec
VS
13252013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1328 instead of 2 to have full RGB/CMY test pattern.
1329
3f9634e5
VS
13302013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 Add few more tests.
1333
583e5b64
VS
13342013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1337 ARCS. All users updated.
1338
aa7bcb99
VS
13392013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1342
95ef1a54
VS
13432013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1346
46546fc5
VS
13472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1350 Reported by: qwertial.
1351
3476e0ef
VT
13522013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1353
1354 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1355 with syntax "XXX deg"/"XXX °".
1356
96f33fed
VS
13572013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 Make PCI init in i386-qemu port more robust.
1360
13612013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1362
1363 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1364 cached view is reused.
1365 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1366 open boot menus.
1367
c53b4e67
VS
13682013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 Unify more code in grub-install_header.
1371
f7457fb2
VS
13722013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 Add few new tests.
1375
e2f27a8c
VS
13762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 Enforce disabling of firmware disk drivers when native drivers kick in.
1379
ef9d8cd5
VS
13802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/commands/nativedisk.c: Customize the list of modules on
1383 platform. Don't try to search for disks already using native drivers.
1384
f7bf6c31
VS
13852013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1388 platforms.
1389
bdc4add8
VS
13902013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1393 handling of variables containing backslash.
1394
e9e46c9a
VS
13952013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1398 dereference.
1399 Reported by: qwertial.
1400
0e90dee8
VS
14012013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1404
e0aacf24
VS
14052013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1408 dereference.
1409 Reported by: qwertial.
1410
3c0003c3
VS
14112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1414
adb7d667
VS
14152013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1418
7cd0df84
VS
14192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 New command `nativedisk'.
1422
02adbb93
VS
14232013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1426 * grub-core/loader/i386/bsd.c: Likewise.
1427
9fb0fd4f
VS
14282013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1431
bd69257a
VS
14322013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1435 grub_get_unaligned16 rather than shifts.
1436
178c2764
VS
14372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * grub-core/kern/file.c: Use const char * rather than casting to
1440 non-const.
1441
eadfad24
VS
14422013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * grub-core/commands/probe.c: Add missing grub_device_close.
1445
9f73ebd4
VS
14462013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * INSTALL: Document linguas.sh.
1449
965fa829
VS
14502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Remove POTFILES.in and regenerate it in autogen.sh.
1453
d417ddc4
VS
14542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Move --directory/--override-directorry to grub-install_header and unify.
1457
f97ec546
VS
14582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/term/morse.c: Macroify dih and dah.
1461
b2d7470c
PFS
14622013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1463
1464 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1465
141e2a78
VS
14662013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/term/ns8250.c: Systematically probe ports by writing
1469 to SR before using them.
1470
1dd70ebd
PFS
14712013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1472
1473 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1474 disks.
1475 (check_sas): Get sas_adress info.
1476
c796a107
VS
14772013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1480 ports.
1481
43168646
LD
14822013-04-27 Leon Drugi <eyak>
1483
1484 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1485 BSS clearing.
1486
e7b8fd08
VS
14872013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 Core compression test.
1490
17f9fd29
VS
14912013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 Implement grub_machine_get_bootlocation for ARC.
1494
dc2a6c8b
VS
14952013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 Improve AHCI detection and command issuing.
1498
f25a2ba6
VS
14992013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 Fix pseries test.
1502
a6393224
VS
15032013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 Make 'make check' work on emu.
1506
db99fbe8
VS
15072013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 Replace libcurses with our own vt100 handling for the ease of testing
1510 and decreasing prerequisites.
1511
b24ca7cd
VS
15122013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1515
63314aa4
VS
15162013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1519 compile when not needed.
1520
c1b00fff
VS
15212013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * tests/pseries_test.in: New test.
1524
f93e89ef
VS
15252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Add test to check that different boot mediums work.
1528
c4b456d3
VS
15292013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1532 ofw limited ISO support.
1533
5fe67f39
VS
15342013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * configure.ac: Fix loongson conditional.
1537
7f63a64f
VS
15382013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 Enable mipsel-arc.
1541
b04b5990
VS
15422013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Add serial on ARC platform.
1545
88d2f302
VS
15462013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1549 commit.
1550
86eb23bc
VS
15512013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * tests/partmap_test.in: Add missing double semicolon.
1554
eec3bb75
VS
15552013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * util/grub-mkrescue.in: Fix loongson filename.
1558
e0810df3
VS
15592013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * util/grub-mkrescue.in: Move all files that don't have a location
1562 set in stone under /boot/grub. Use ISO hard links rather than copies
1563 to save some space.
1564
65a6b30b
VS
15652013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1568 bogus SLOF values.
1569
6aff0107
VS
15702013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Make check work on mips-arc.
1573
5e013e56
VS
15742013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * util/grub-mkrescue.in: Alias sashARCS as sash.
1577
d1989e2e
VS
15782013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1581 it's serial.
1582
1a25e72c
VS
15832013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * util/grub-install.in: Fix target fo qemu_mips.
1586 Fix extension on EFI.
1587
a59a9826
VS
15882013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1591 in front of chosen entry to mark it even if highlighting is lost.
1592
1a40f80c
VS
15932013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1596 gfxpayload=keep if cbfb is active.
1597
e343549c
VS
15982013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1601
45fbd9a2
VS
16022013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 Add missing video ids to coreboot and ieee1275 video.
1605
ab1440bd
VS
16062013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * util/grub-mkrescue.in: Add mips-arc support.
1609
cdeb8324
VS
16102013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1613
8528c879
VS
16142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 Move mips-arc link address. Previous link address was chosen
1617 in belief that RAM on SGI platforms grows down while in fact it
1618 grows up from an unusual base.
1619
17fca573
VS
16202013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1623 Fix a type which prevented CD-ROM and floppy boot.
1624
d178788e
VS
16252013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 Support coreboot framebuffer.
1628
1629 * grub-core/video/i386/coreboot/cbfb.c: New file.
1630
fe4c3e7e
VS
16312013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1634 detecting too small regions.
1635
ec2dd179
VS
16362013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1639
872dac83
VS
16402013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1643 Remove dprintf.
1644 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1645
90ec4b7f
VS
16462013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1649 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1650 * grub-core/loader/powerpc/ieee1275/linux.c
1651 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1652
f32555dd
VS
16532013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1656 Look for /boot-rom as well as /rom/boot-rom.
1657
38649799
VS
16582013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1661 handling when creating text_layer failed.
1662 * grub-core/video/video.c (grub_video_create_render_target):
1663 Set result to 0 on error.
1664 (grub_video_delete_render_target): Do not dereference NULL.
1665
aeace7f7
VS
16662013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1669 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1670 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1671 (grub_linux_load64): Mask out 2 high bits.
1672
4eafa175
AB
16732013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1674
1675 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1676 more place.
1677
daaa64bd
VS
16782013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 Add support for pseries and other bootinfo machines to grub-mkrescue.
1681
1682 Tested by: Paulo Flabiano Smorigo.
1683
d0d2daa6
VS
16842013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * util/grub-mkrescue.in: Add GPT for EFI boot.
1687
b193e100
VS
16882013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1691 It improves performance in qemu.
1692
a0f8f3ac
VS
16932013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * build-aux/snippet: Add missing gnulib files.
1696
284df0e2
AB
16972013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1698
1699 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1700
740201f3
AB
17012013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1702
1703 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1704
a7e03923
PJ
17052013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
17062013-04-15 Peter Jones <pjones@redhat.com>
1707
1708 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1709 sectors.
1710 Based on patch by Peter Jones.
1711
25fc51a8
VS
17122013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 Fix DMRAID partition handling.
1715
88017d47
VS
17162013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * tests/grub_cmd_date.in: Skip on sparc64.
1719
fa7d914e
VS
17202013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1723 firmware error messages.
1724
cbe57a48
VS
17252013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1728 source and destination differ.
1729
21aecce0
VS
17302013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1733 detection.
1734
25092d29
VS
17352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1738 match config-util.h to avoid warnings and increase compatibility.
1739
79451522 17402013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 17412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1742
1743 Add option to compress files on install/image creation.
1744
78b7d77b
VS
17452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * docs/grub-dev.texi: Rearrange menu to match the section order.
1748 Reported by: Bryan Hundven.
1749
cc2fa5ec
VS
17502013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1753
b49fe879
VS
17542013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 Move GRUB out of system area when using xorriso 1.2.9 or later.
1757
5351da81
VS
17582013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * tests/grub_cmd_date.in: Add missing exit 1.
1761
c9d586ea
VS
17622013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * tests/partmap_test.in: Skip on sparc64.
1765
3f729741
VS
17662013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 Support grub-shell on sparc64.
1769
8ca86b3a
VS
17702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 Support mkrescue on sparc64.
1773
aa1af9bb
VS
17742013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1777 Needed on OpenBIOS due to incomplete device tree.
1778
ac4fea79
VS
17792013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1782 would be otherwise excluded.
1783
17842013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1785
1786 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1787 Inline name defines used only once.
1788
fe22b071
VS
17892013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 Fix memory leaks in ofnet.
1792 Reported by: Francesco Lavra.
1793
9d21381b
VS
17942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * docs/man/grub-glue-efi.h2m: Add missing file.
1797
07aec23c
VS
17982013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1801
67ab8353
VS
18022013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 Better support Apple Intel Macs on CD.
1805
ba44ca6d
VS
18062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 Replace stpcpy with grub_stpcpy in tools.
1809
bbdd6305
VS
18102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 Handle Japanese special keys.
1813 Reported by: Hiroyuki YAMAMORI.
1814 Codes supplied by: Hiroyuki YAMAMORI.
1815
8573d302
VS
18162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * util/grub-mkimage.c: Document memdisk implying --prefix.
1819
d70dbab7
VS
18202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1823 much we can do about it anyway.
1824
51a4c3e3
AN
18252013-04-12 Aleš Nesrsta <starous@volny.cz>
1826
1827 Fix handling of split transfers.
1828
92c8f58d
VS
18292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/net/http.c: Fix bad free.
1832
b7d17a49
VS
18332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1836 than buffer size.
1837
a3d566d4
VS
18382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1841
a936af56
VS
18422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * tests/util/grub-shell.in: Fix it on powerpc.
1845
51212234
VS
18462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 Turn off QEMU ACPI-way since new releases don't have shutdown port
1849 anymore.
1850
a21eec9e
VS
18512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * docs/grub.texi: Update coreboot status info.
1854
e3734b84
VS
18552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * tests/grub_cmd_date.in: New test for datetime.
1858
f9d40055
VS
18592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * tests/partmap_test.in: Fix missing qemudisk setting.
1862
dbc56d8f
VS
18632013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 Support i386-ieee1275 grub-mkrescue and make check on it.
1866
a79b8a15
VS
18672013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1870 feature for it.
1871
48f39bb4
VS
18722013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1875 GRUB_CMDLINE_XEN_DEFAULT.
1876 Reported by: Marc Warne (GigaTux) <gigatux>
1877
053cfcdd
VS
18782013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 Import new gnulib.
1881
93cd84df
VS
18822013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Use ACPI shutdown intests as traditional port was removed.
1885
f4b1fa4f
AB
18862013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1887
1888 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1889 distinction.
1890
49818a59
VS
18912013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1894 Fix few warining messages and leaks while on it.
1895
9277a306
AB
18962013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1897
1898 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1899 links under grub-core/lib/libgcrypt-grub/mpi.
1900
d5e2a158
VS
19012013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 Fix ia64-efi image generation on big-endian machines. Deduplicate
1904 some code while on it.
1905 Reported by: Leif Lindholm.
1906
18866643
AB
19072013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1908
1909 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1910 as extra_dist.
1911
ca53deb8
AB
19122013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1913
1914 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1915
d4c4b8e1
BH
19162013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1917
1918 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1919 texinfo-5.1.
1920
47043f95
VS
19212013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/normal/term.c: Few more fixes for menu entry editor
1924 rendering.
1925 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1926
a3216068
VS
19272013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/normal/term.c: Few more fixes for menu entry editor
1930 rendering.
1931 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1932
21026747
AB
19332013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1934
1935 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1936 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1937
59624ca8
AB
19382013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1939
1940 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1941 instead of hardcoding grub.mo.
1942
1f44478c
FN
19432013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1944
1945 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1946
eeada7b1
VS
19472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1950 grub-core/disk/geli.c.
1951
132867de
VS
19522013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * util/grub-mkfont.c: Prefer enum to #define.
1955
de73de17
VS
19562013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1959
1865baa7
VS
19602013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1963
ce7d92a9
VS
19642013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1967
52eab656
VS
19682013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1971
98b23b95
VS
19722013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * include/grub/bsdlabel.h: Use enums.
1975
0467a5dd
VS
19762013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 Move GRUB_CHAR_BIT to types.h.
1979
16cc9f03
AB
19802013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1981
1982 * docs/grub.texi: Document more user commands.
1983
3152aecb
AB
19842013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1985
1986 * docs/grub.texi: Document menuentry --id option.
1987
c506fc30
FL
19882013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1989
1990 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1991
aa428238
VS
19922013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 Unify file copying setup across different install scripts. Add
1995 options for performing partial install.
1996
efe0cdda
PJ
19972013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19982013-04-04 Peter Jones <pjones@redhat.com>
1999
2000 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2001
f75835bd
VS
20022013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 Use TSC as a possible time source on i386-ieee1275.
2005
2cd5ce6c
VS
20062013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2009 Init err.
2010
c9625630
VS
20112013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * util/grub-setup.c (setup): Handle some corner cases.
2014
be008941
VS
20152013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2018
1a78d573
VS
20192013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/commands/verify.c: Save verified file to avoid it being
2022 tampered with after verification was done.
2023
db8ff59f
VS
20242013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2027 reported width by one to compensate for curesor algorithm problem.
2028
91bf46b1
VS
20292013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Fix screen corruption in menu entry editor and simplify the code
2032 flow while on it.
2033
a7b1d693
AB
20342013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2035
2036 * util/grub-mount.c (fuse_init): Return error if fuse_main
2037 failed.
2038
31df9ad8
FL
20392013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2040
2041 * include/grub/elf.h: Add missing ARM relocation codes and fix
2042 existing ones.
2043
07f392eb
VT
20442013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2045
2046 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2047
9efd73ec 20482013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
20492013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2052 into account when calculating radius.
2053
20542013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2055
2056 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2057
4985ddaa
VT
20582013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2059
2060 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2061
8c3635ff
RS
20622013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2063
2064 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2065 missing closing bracket.
2066
74a35e69
RS
20672013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2068
2069 * INSTALL: Mention xorriso requirement.
2070
40f1c000
AB
20712013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2072
2073 * grub-core/commands/verify.c: Fix hash algorithms values for
2074 the first three hashes - they start with 1, not with 0.
2075
e75fdee4
VS
20762013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2079 Try terminating EFI services several times due to quirks in some
2080 implementations.
2081
33028f4c
CW
20822013-03-26 Colin Watson <cjwatson@ubuntu.com>
2083
2084 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2085 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2086 BankField extended opcodes.
2087 (get_sleep_type): Add minimal scope handling (just enough to
2088 handle setting the scope to the root path).
2089 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2090 * include/grub/acpi.h: Add enumeration values for Event, Device,
2091 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2092
33871a10
VT
20932013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2094
2095 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2096 memory leak.
2097
8990963a
VS
20982013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/disk/ahci.c: Give more time for AHCI request.
2101
daae8f9e
VS
21022013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2105 command.
2106
6a7fb94b
VS
21072013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 Replace the region at 0 from coreboot tables to available in BSD
2110 memory map.
2111
ff99babd
VS
21122013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2115 non-BIOS platforms.
2116
30d6b1b2
VS
21172013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2120 platforms.
2121
6ccd0b31
VS
21222013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2125 handling of multi-device filesystems.
2126
23c9cc04
VS
21272013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2130 platforms.
2131
ce50dbd7
VS
21322013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 Add new 'proc' filesystem framework and put luks_script into it.
2135
d975e8d5
VS
21362013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2139 and qemu.
2140
e73ba5e8
VS
21412013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2144
92750e4c
VS
21452013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 Add ability to generate newc additions on runtime.
2148
0ec45a68
VS
21492013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2152 description.
2153
320abd43
VS
21542013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * po/POTFILES.in: Regenerate.
2157
d7a6506e
VS
21582013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * grub-core/commands/verify.c (hashes): Add several hashes
2161 from the spec.
2162
8fe05def
VS
21632013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Slight improve in USB-related boot-time checkpoints.
2166
524e2766
VS
21672013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/commands/boottime.c: Fix copyright header.
2170
cc19857a
VS
21712013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2174 coreboot tables content. Support for cbmemc.
2175
ef8810e9
VS
21762013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 Fix a conflict between ports structures with 2 controllers of
2179 same kind.
2180
e9dabdfa
VS
21812013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * include/grub/boottime.h: Add missing file.
2184
f6df57d2
VS
21852013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Initialize USB ports in parallel to speed-up boot.
2188
d745dda7
VS
21892013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 Fix USB devices not being detected when requested
2192 due to delayed attach.
2193
e5a2dd7b
VS
21942013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2195
e744219b
VS
2196 Implement boot time analysis framework.
2197
21982013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2201 descriptor to just receive it as argument rather than endpoint
2202 address.
2203
5dd6f587
VS
22042013-03-19 Aleš Nesrsta <starous@volny.cz>
2205
2206 Better estimate the maximum USB transfer size.
2207
2f1071d5
VS
22082013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 Resend a packet if we got the wrong buffer in status.
2211
46ecfc49
VS
22122013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2215 multiplication rather than division.
2216
ea811130
VS
22172013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2220 than divisions.
2221
d2789cf0
VS
22222013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2225 operations to have intended shifts and not divisions.
2226
a9c94590
VS
22272013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2230 intended shifts rather than division.
2231
84cfe81b
VS
22322013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2235 computation for some years before epoch. Avode confusing division
2236 while on it.
2237
21344ef6
VS
22382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/video/i386/pc/vbe.c
2241 (grub_video_vbe_print_adapter_specific_info): Replace division by
2242 shifts.
2243
3f2b4d1a
VS
22442013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 Adjust types in gdb module to have intended unsigned shifts rather than
2247 signed divisions.
2248
3dac5878
VS
22492013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2252 maximum size is 4G - 1 on hfs
2253
5341c0fb
VS
22542013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2257
fc3ff2a2
VS
22582013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2261 function.
2262
81455e8e
AB
22632013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2264
2265 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2266 causing gcc error with gcc 4.7.1.
2267
efd4f117
NZ
22682013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2269
2270 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2271 dereference null pointer. While the code is technically correct, gcc
2272 may eliminate a null check if pointer is already dereferenced.
2273
e11645f4
NZ
22742013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2275
2276 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2277 OOM check.
2278 * grub-core/normal/term.c (read_terminal_list): Likewise.
2279
77468368
VS
22802013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 Lift up core size limits on some platforms. Fix potential memory
2283 corruption with big core on small memory systems. Document remaining
2284 limits.
2285
f6b58fe5
VS
22862013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2289 gotoxy to 0,0.
2290
19ce697d
VS
22912013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 Remove all trampoline support. Add -Wtrampolines when
2294 present. Remove symbols used for trampolines to make
2295 link fail if trampolines are present.
2296
73b5d90f
VS
22972013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2300 append out of its parent.
2301
cb758e96
VS
23022013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2305 parent.
2306
3188131f
VS
23072013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2310 all vars to a macro. All users updated.
2311
e42b2514
VS
23122013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2315 i386-ieee1275.
2316
83e1a1a1
VS
23172013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2320
1d5a880f
VS
23212013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2324
6e4146c4
VS
23252013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 Move to more hookless approach in IEEE1275 devices handling.
2328
99fcda8a
VS
23292013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/kern/term.c (grub_term_normal_color),
2332 (grub_term_highlight_color): Add back lost defaults.
2333
73bf57e2
VS
23342013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 Make elfload not use hooks. Opt for flags and iterators instead.
2337
7f8c105f
VS
23382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2341 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2342
396d4091
VS
23432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2346
23472013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2350 hook pass-through parameter. All users updated and unnested.
2351
74a27421
VS
23522013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2355 out of its parent.
2356
b46d4213
VS
23572013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/fs/hfs.c: Remove nested functions.
2360
e114c3cc
VS
23612013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2364 the context through.
2365 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2366
f9b7d780
VS
23672013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * util/grub-editenv.c (list_variables): Move print_var out of its
2370 parent.
2371
ca9c2608
VS
23722013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2375 function.
2376
5d983f5f
VS
23772013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/gentrigtables.c: Make tables const.
2380
3056d3e7
VS
23812013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 Remove nested functions from videoinfo iterators.
2384
e2303774
VS
23852013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2388 for 64-bit platforms.
2389
f42e3a2f
VS
23902013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2393 a FOR_CHILDREN macro.
2394
be174e5e
VS
23952013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2398 platform from firmware path.
2399
0789b672
VS
24002013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 Enable linux16 on non-BIOS systems for i.a. memtest.
2403
2404 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2405 correctly.
2406 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2407
005a9c32
VS
24082013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2411 Fix end of table condition.
2412
ff2b3cd9
VS
24132013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2416 out of its parent.
2417
4fc40ff8
VS
24182013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/fs/jfs.c: Remove nested functions.
2421
be42d97a
VS
24222013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/fs/minix.c: Remove nested functions.
2425
99373ce4
VS
24262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/fs/iso9660.c: Remove nested functions.
2429
5aec2afe
VS
24302013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2433 of parent function.
2434
6c69e691
VS
24352013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/grub-fstest.c: Remove nested functions.
2438
43c91882
VS
24392013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/loader/machoXX.c: Remove nested functions.
2442
4eb8b756
CW
24432013-02-27 Colin Watson <cjwatson@ubuntu.com>
2444
2445 Remove nested functions from disk and file read hooks.
2446
2447 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2448 (struct grub_disk): Add read_hook_data member.
2449 * include/grub/file.h (struct grub_file): Likewise.
2450 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2451 argument.
2452
2453 Update all callers.
2454
df6da5a5
AB
24552012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2456
2457 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2458 Fix off by one error in enumerating extended partitions.
2459
21aecde5
AB
24602013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2461
2462 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2463 memory leak if device name is not found.
2464
f1a19118
AB
24652013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2466
2467 * grub-core/normal/menu_entry.c (update_screen): remove
2468 unused variable `off' which caused scroll down arrow to be always shown.
2469
958bfd20
AB
24702013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2471
2472 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2473 access to unallocated memory.
2474
b7b78edb
AB
24752013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2476
2477 * Makefile.util.def: Add partmap/msdos.c to common library.
2478 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2479 * grub-core/disk/ldm.c: Check for existence of
2480 GRUB_PC_PARTITION_TYPE_LDM.
2481
28d468d6
VS
24822013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2485 sizes and display sector size.
2486
d55ffb02
VS
24872013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 Implement new command cmosdump.
2490
b5ea6ce0
VS
24912013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2492
2493 Support Openfirmware disks with non-512B sectors.
2494
2495 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2496 size of the disk.
2497 * (grub_ofdisk_get_block_size): New function.
2498 * (grub_ofdisk_prepare): Use the correct block size.
2499 * (grub_ofdisk_read): Likewise.
2500 * (grub_ofdisk_write): Likewise.
2501 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2502 New proto.
2503
cc0e476f
VS
25042013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2507
c5dbdc33
VS
25082013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2511 on first error.
2512
3f078c0f
VS
25132013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2516 freeing it.
2517
66a93674
VS
25182013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 Implement USBDebug (full USB stack variant).
2521
c9f0c134
VS
25222013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2525 unless they have unexpected values.
2526
cfe1288b
VS
25272013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2530 grub_print_error.
2531
e42b9969
VS
25322013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2535 zero-out of port structure.
2536
cf94fd62
VS
25372013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2540 of extended attributes.
2541
f81ef4b5
AB
25422013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2543
2544 * util/grub-install.in: change misleading comment about
2545 device.map creation
2546
af18fdb4
VS
25472013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2550 when menu highlight color isn't set.
2551
08bcec50
M
25522013-01-27 C. Masloch <pushbx@38.de>
2553
2554 Improve FreeDOS direct loading support compatibility.
2555
2556 * include/grub/i386/relocator.h (grub_relocator16_state):
2557 New member ebp.
2558 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2559 variable.
2560 (grub_relocator16_boot): Handle %ebp.
2561 * grub-core/lib/i386/relocator16.S: Likewise.
2562 * grub-core/loader/i386/pc/freedos.c:
2563 Load BPB to pass kernel which partition to load from.
2564 Check that kernel file is not too large.
2565 Set register dl to BIOS unit number as well.
2566
7782b8a6
CW
25672013-01-22 Colin Watson <cjwatson@ubuntu.com>
2568
2569 * util/grub-reboot.in (usage): Document the need for
2570 GRUB_DEFAULT=saved.
2571 * util/grub-set-default.in (usage): Likewise.
2572 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2573
e661c180
VS
25742013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2577 than defining WORDS_BIGENDIAN manually.
2578
1c22ca9a
VS
25792013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2582 invariants.
2583
d44892fe
CW
25842013-01-21 Colin Watson <cjwatson@ubuntu.com>
2585
2586 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2587 nested.
2588 (blit_comb: add_device_width): Likewise.
2589
5fdbaed1
CW
25902013-01-21 Colin Watson <cjwatson@ubuntu.com>
2591
2592 Remove nested functions from USB iterators.
2593
2594 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2595 (grub_usb_controller_iterate_hook_t): Likewise.
2596 (grub_usb_iterate): Add hook_data argument.
2597 (grub_usb_controller_iterate): Likewise.
2598 (struct grub_usb_controller_dev.iterate): Likewise.
2599
2600 Update all implementations and callers.
2601
4250985a
VS
26022013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2605 margin when not needed.
2606
7d8848f3
VS
26072013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2608
bc136973 2609 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2610
26112013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2612
bc136973
VS
2613 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2614 asterisk.
7d8848f3 2615
ed12a003
CW
26162013-01-21 Colin Watson <cjwatson@ubuntu.com>
2617
2618 Fix powerpc and sparc64 build failures caused by un-nesting memory
2619 map iterators.
2620
6a0db449
CW
26212013-01-21 Colin Watson <cjwatson@ubuntu.com>
2622
2623 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2624 parameter declarations.
2625
ccd86b21
VS
26262013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2629
822b726b
VS
26302013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 Improve spkmomdem reliability by adding a separator between bytes.
2633
115c2cc1
CW
26342013-01-21 Colin Watson <cjwatson@ubuntu.com>
2635
2636 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2637 an Acer registration utility with several sightings in the wild.
2638 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2639
fc524edf
CW
26402013-01-21 Colin Watson <cjwatson@ubuntu.com>
2641
2642 Remove nested functions from filesystem directory iterators.
2643
2644 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2645 (struct grub_fs.dir): Add hook_data argument.
2646
2647 Update all implementations and callers.
2648
53d3e4e3
CW
26492013-01-21 Colin Watson <cjwatson@ubuntu.com>
2650
2651 * docs/grub.texi (Multi-boot manual config): Fix typo for
2652 "recommended".
2653
c821711f
LL
26542013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2655
2656 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2657 until after its use in generate_image.
2658
6a0debbd
CW
26592013-01-20 Colin Watson <cjwatson@ubuntu.com>
2660
2661 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2662 initrd size to addr_min, since the initrd will be allocated after
2663 this address.
2664
f41e08db
AB
26652013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2666
2667 * conf/Makefile.common: Fix autogen rules to pass definition
2668 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2669
77529e0f
LL
26702013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2671
2672 * include/grub/elf.h: Update ARM definitions based on binutils.
2673
b879aa7b
VS
26742013-01-20 Aleš Nesrsta <starous@volny.cz>
2675
2676 Split long USB transfers into short ones.
2677
8eb8284d
AB
26782013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2679
2680 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2681 is interrupted by ESC.
2682
08dad2dc
VS
26832013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * util/grub-script-check.c (main): Uniform the error message.
2686
6c724b85
CW
26872013-01-20 Colin Watson <cjwatson@ubuntu.com>
2688
2689 Remove nested functions from ELF iterators.
2690
25239370
CW
26912013-01-20 Colin Watson <cjwatson@ubuntu.com>
2692
2693 Remove nested functions from device iterators.
2694
2695 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2696 (grub_arc_iterate_devs): Add hook_data argument.
2697 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2698 (struct grub_ata_dev.iterate): Add hook_data argument.
2699 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2700 (grub_device_iterate): Add hook_data argument.
2701 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2702 (struct grub_disk_dev.iterate): Add hook_data argument.
2703 (grub_disk_dev_iterate): Likewise.
2704 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2705 Likewise.
2706 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2707 Likewise.
2708 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2709 type.
2710 (struct grub_partition_map.iterate): Add hook_data argument.
2711 (grub_partition_iterate): Likewise.
2712 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2713 (struct grub_scsi_dev.iterate): Add hook_data argument.
2714
2715 Update all callers.
2716
6c0314d6
CW
27172013-01-20 Colin Watson <cjwatson@ubuntu.com>
2718
2719 Fix typos for "developer" and "development".
2720
600dc5f1
VS
27212013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 Add license header to spkmodem-recv.c.
2724
17334a6b
VS
27252013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 Rewrite spkmodem to use PIT for timing. Double the speed.
2728
7d462559
VS
27292013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 Add new command pcidump.
2732
b78d6c32
VS
27332013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 New terminal outputs using serial: morse and spkmodem.
2736
34f71cb8
VS
27372013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 Improve bidi handling in entry editor.
2740
4542e71b
VS
27412013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2744 argument to prevent name collision.
2745
09fd6d82
CW
27462013-01-15 Colin Watson <cjwatson@ubuntu.com>
2747
2748 Remove nested functions from script reading and parsing.
2749
2750 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2751 getline_data argument, passed to getline.
2752 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2753 getline_data argument, passed to grub_parser_split_cmdline.
2754 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2755 lexerstate->getline_data to lexerstate->getline.
2756 (grub_script_lexer_init): Add getline_data argument, saved in
2757 lexerstate->getline_data.
2758 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2759 argument, passed to grub_script_parse.
2760 * grub-core/script/script.c (grub_script_parse): Add getline_data
2761 argument, passed to grub_script_lexer_init.
2762 * include/grub/parser.h (grub_parser_split_cmdline): Update
2763 prototype. Update all callers to pass appropriate getline data.
2764 (struct grub_parser.parse_line): Likewise.
2765 (grub_rescue_parse_line): Likewise.
2766 * include/grub/reader.h (grub_reader_getline_t): Add void *
2767 argument.
2768 * include/grub/script_sh.h (struct grub_lexer_param): Add
2769 getline_data member.
2770 (grub_script_parse): Update prototype. Update all callers to pass
2771 appropriate getline data.
2772 (grub_script_lexer_init): Likewise.
2773 (grub_normal_parse_line): Likewise.
2774
2775 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2776 data argument.
2777 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2778 static instead of nested. Rename to ...
2779 (grub_parser_execute_getline): ... this.
2780 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2781 data argument.
2782 * grub-core/normal/main.c (read_config_file: getline): Make static
2783 instead of nested. Rename to ...
2784 (read_config_file_getline): ... this.
2785 (grub_normal_read_line): Add unused data argument.
2786 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2787 getline): Make static instead of nested. Rename to ...
2788 (grub_script_execute_sourcecode_getline): ... this.
2789 * util/grub-script-check.c (main: get_config_line): Make static
2790 instead of nested.
2791
d0d4b8a0
CW
27922013-01-15 Colin Watson <cjwatson@ubuntu.com>
2793
2794 Remove nested functions from memory map iterators.
2795
2796 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2797 argument, passed to hook.
2798 * grub-core/kern/i386/coreboot/mmap.c
2799 (grub_linuxbios_table_iterate): Likewise.
2800 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2801 instead of nested.
2802 (grub_machine_mmap_iterate): Add hook_data argument.
2803 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2804 Add hook_data argument, passed to hook.
2805 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2806 Likewise.
2807 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2808 Likewise.
2809 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2810 Likewise.
2811 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2812 Likewise.
2813 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2814 Likewise.
2815 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2816 Likewise.
2817 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2818 (grub_machine_mmap_iterate): Likewise.
2819 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2820 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2821 prototype.
2822 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2823 Remove NESTED_FUNC_ATTR from here and from all users.
2824 (grub_mmap_iterate): Update prototype.
2825 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2826 pass appropriate hook data.
2827 (grub_machine_mmap_iterate): Likewise.
2828
2829 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2830 static instead of nested.
2831 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2832 Rename to ...
2833 (lsmmap_hook): ... this.
2834 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2835 Likewise.
2836 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2837 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2838 heap_init): Likewise.
2839 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2840 Rename to ...
2841 (mmap_iterate_hook): ... this.
2842 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2843 Likewise.
2844 * grub-core/lib/ieee1275/relocator.c
2845 (grub_relocator_firmware_get_max_events: count): Likewise.
2846 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2847 to ...
2848 (grub_relocator_firmware_fill_events_iter): ... this.
2849 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2850 hook): Likewise. Rename to ...
2851 (grub_relocator_alloc_chunk_align_iter): ... this.
2852 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2853 Rename to ...
2854 (generate_e820_mmap_iter): ... this.
2855 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2856 Rename to ...
2857 (count_hook): ... this.
2858 (grub_linux_boot: hook): Likewise. Rename to ...
2859 (grub_linux_boot_mmap_find): ... this.
2860 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2861 (grub_linux_boot_mmap_fill): ... this.
2862 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2863 hook): Likewise. Rename to ...
2864 (grub_fill_multiboot_mmap_iter): ... this.
2865 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2866 hook): Likewise. Rename to ...
2867 (count_hook): ... this.
2868 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2869 hook): Likewise. Rename to ...
2870 (grub_fill_multiboot_mmap_iter): ... this.
2871 * grub-core/loader/powerpc/ieee1275/linux.c
2872 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2873 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2874 Likewise. Rename to ...
2875 (alloc_phys_choose): ... this.
2876 (determine_phys_base: get_physbase): Likewise.
2877 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2878 find_hook): Likewise.
2879 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2880 (malloc_hook: count_hook): Likewise.
2881 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2882 Likewise. Rename to ...
2883 (lower_hook): ... this.
2884 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2885 (upper_hook): ... this.
2886 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2887 (post64_hook): ... this.
2888 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2889 Likewise. Rename to ...
2890 (lower_hook): ... this.
2891 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2892 (upper_hook): ... this.
2893 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2894 (grub_mmap_iterate: fill_hook): Likewise.
2895 (fill_mask): Pass addr and mask within a single struct.
2896 (grub_cmd_badram: hook): Make static instead of nested. Rename
2897 to ...
2898 (badram_iter): ... this.
2899 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2900 (cutmem_iter): ... this.
2901
22099030
VS
29022013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2905 delimit path in strings using quotes.
2906 * util/getroot.c (grub_guess_root_devices): Likewise.
2907 (grub_make_system_path_relative_to_its_root): Likewise.
2908 * util/grub-probe.c (probe): Likewise.
2909 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2910 (xrealpath): Likewise.
2911
4a9950ec
VS
29122013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 Fix compilation with older compilers.
2915
2916 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2917 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2918 declarations.
2919 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2920 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2921 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2922 identifier with b.
2923 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2924 * include/grub/crypto.h: Add type defines.
2925 * util/import_gcrypth.sed: Remove duplicate type defines.
2926
adcc6020
VS
29272013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 New command list_trusted.
2930
2931 * grub-core/commands/verify.c (grub_cmd_list): New function.
2932
a4528937
CW
29332013-01-13 Colin Watson <cjwatson@ubuntu.com>
2934
2935 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2936 info message.
2937
ca3a7446
CW
29382013-01-13 Colin Watson <cjwatson@ubuntu.com>
2939
2940 Remove nested functions from PCI iterators.
2941
2942 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2943 passed to hook. Update all callers to pass appropriate hook data.
2944 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2945 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2946 Remove NESTED_FUNC_ATTR from here and from all users.
2947 (grub_pci_iterate): Update prototype.
2948 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2949 instead of nested. Rename to ...
2950 (grub_cs5536_find_iter): ... this.
2951 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2952 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2953 Likewise.
2954 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2955 Likewise.
2956 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2957 Likewise.
2958 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2959 Likewise.
2960 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2961 * grub-core/video/radeon_fuloong2e.c
2962 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2963 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2964 find_card): Likewise.
2965 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2966 Likewise.
2967
f8e98fee
VS
29682013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/commands/verify.c: Mark messages for translating.
2971
055b36b6
VS
29722013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2975 fatal.
2976
f7ff879b
VS
29772013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2980 fatal.
2981
29822013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
2983
2984 * autogen.sh: Do not try to delete nonexistant files.
2985 * util/import_gcrypth.sed: Add some missing header removals.
2986
01323d49
CW
29872013-01-12 Colin Watson <cjwatson@ubuntu.com>
2988
2989 Clean up dangling references to grub-setup.
2990 Fixes Ubuntu bug #1082045.
2991
2992 * docs/grub.texi (Images): Refer generally to grub-install rather
2993 than directly to grub-setup.
2994 (Installing GRUB using grub-install): Remove direct reference to
2995 grub-setup.
2996 (Device map) Likewise.
2997 (Invoking grub-install): Likewise.
2998 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2999 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3000 * util/grub-install.in (usage): Likewise.
3001
3002 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3003 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3004 grub-setup.
3005 * configure.ac: Remove grub_setup output variable.
3006
3007 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3008 to grub-bios-setup.
3009 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3010 grub-setup to grub-sparc64-setup.
3011
5e3b8dcb
VS
30122013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 Import gcrypt public-key cryptography and implement signature checking.
3015
535714bd
VS
30162013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/fs/ntfs.c: Ue more appropriate types.
3019 * grub-core/fs/ntfscomp.c: Likewise.
3020 * include/grub/ntfs.h: Likewise.
3021
3e4f3566
VS
30222013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 Support Apple FAT binaries on non-Apple platforms.
3025
3026 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3027 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3028 Likewise.
3029 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3030 Apple FAT binaries.
3031
4dedb13f
VS
30322013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3035 sector devices.
3036
f8861eaf
CW
30372013-01-07 Colin Watson <cjwatson@ubuntu.com>
3038
3039 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3040 explicitly zeroing elements.
3041 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3042 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3043 of elements in a structure already allocated using grub_zalloc.
3044 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3045
86065b0a
CW
30462013-01-07 Colin Watson <cjwatson@ubuntu.com>
3047
3048 * docs/grub.texi (grub_cpu): New subsection.
3049 (grub_platform): Likewise.
3050
c6f1e92f
VS
30512013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3054
f797ec85
VS
30552013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3058 divisions.
3059
033d0b4b
VS
30602013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3063 * grub-core/fs/ntfscomp.c: Likewise.
3064 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3065 (grub_ntfs_comp): Likewise.
3066
21d1b9a0
VS
30672013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3070 Rename to ...
3071 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3072 of groups_per_block. All users updated.
3073
10ca8645
VS
30742013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3077 grub_error properly.
3078 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3079 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3080
a4c3ed4c
VS
30812013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3084 always in /boot/zfs.
3085 Reported by: Yuta Satoh.
3086
0b716507
YS
30872013-01-03 Yuta Satoh <nigoro>
3088
3089 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3090 ${grub_probe}
3091
00c05e22
VS
30922013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * configure.ac: Extend -Wno-trampolines to host.
3095
dadddb76
VS
30962013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3099 entry->len = 0.
3100
54ce53ca
CW
31012013-01-03 Colin Watson <cjwatson@ubuntu.com>
3102
3103 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3104 (Invoking grub-script-check): Likewise.
3105
8912efca
CW
31062013-01-03 Colin Watson <cjwatson@ubuntu.com>
3107
3108 * docs/grub.texi (Invoking grub-mount): New section.
3109 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3110
c3fc8394
CW
31112013-01-02 Colin Watson <cjwatson@ubuntu.com>
3112
3113 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3114 test failures, so that a failing unit test correctly causes 'make
3115 check' to fail.
3116
45d26abb
CW
31172013-01-02 Colin Watson <cjwatson@ubuntu.com>
3118
3119 Fix failing printf test.
3120
3121 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3122 '$' in the correct order when collecting type information.
3123
971dd2c6
CW
31242013-01-02 Colin Watson <cjwatson@ubuntu.com>
3125
3126 * docs/grub.texi (configfile): Explain environment variable
3127 handling.
3128 (source): New section.
3129 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3130
5c67ea6c
CW
31312012-12-31 Colin Watson <cjwatson@ubuntu.com>
3132
3133 Remove several trivially-unnecessary uses of nested functions.
3134
3135 * grub-core/commands/i386/pc/sendkey.c
3136 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3137 instead of nested.
3138 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3139 Rename to ...
3140 (legacy_file_getline): ... this.
3141 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3142 Likewise.
3143 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3144 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3145 to ...
3146 (probe_dummy_iter): ... this.
3147 * grub-core/kern/i386/coreboot/mmap.c
3148 (grub_linuxbios_table_iterate: check_signature): Likewise.
3149 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3150 check_varstate): Likewise. Mark inline.
3151 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3152 an additional parameter.
3153 (find_long: fnd_long): Likewise. Pass two additional parameters.
3154 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3155 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3156 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3157 Likewise. Rename to ...
3158 (grub_cmos_find_port_iter): ... this.
3159 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3160 Rename to ...
3161 (find_rtc_iter): ... this.
3162
3163 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3164 function directly into the function body, since it is only called
3165 once.
3166
33a68ac6
CW
31672012-12-30 Colin Watson <cjwatson@ubuntu.com>
3168
3169 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3170 __attribute__ ((unused)).
3171 * grub-core/video/bochs.c (find_card): Likewise.
3172 * grub-core/video/cirrus.c (find_card): Likewise.
3173 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3174 * grub-core/video/sis315pro.c (find_card): Likewise.
3175 * grub-core/video/sm712.c (find_card): Likewise.
3176
608b647a
CW
31772012-12-28 Colin Watson <cjwatson@ubuntu.com>
3178
3179 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3180 Fixes Savannah bug #37821.
3181
fd49ceb3
CW
31822012-12-28 Colin Watson <cjwatson@ubuntu.com>
3183
3184 Apply program name transformations at build-time rather than at
3185 run-time. Fixes Debian bug #696465.
3186
3187 * acinclude.m4 (grub_TRANSFORM): New macro.
3188 * configure.ac: Create output variables with transformed names for
3189 most programs.
3190 * util/bash-completion.d/grub-completion.bash.in: Use
3191 pre-transformed variables for program names.
3192 * util/grub-install.in: Likewise.
3193 * util/grub-kbdcomp.in: Likewise.
3194 * util/grub-mkconfig.in: Likewise.
3195 * util/grub-mkconfig_lib.in: Likewise.
3196 * util/grub-mknetdir.in: Likewise.
3197 * util/grub-mkrescue.in: Likewise.
3198 * util/grub-mkstandalone.in: Likewise.
3199 * util/grub-reboot.in: Likewise.
3200 * util/grub-set-default.in: Likewise.
3201 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3202 * tests/util/grub-shell-tester.in: Remove unused assignment.
3203 * tests/util/grub-shell.in: Likewise.
3204 * util/grub.d/00_header.in: Likewise.
3205
7024b3c0
CW
32062012-12-28 Colin Watson <cjwatson@ubuntu.com>
3207
3208 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3209
3210 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3211 HAVE_RAW_DECL_GETS.
3212 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3213
e3501b13
VS
32142012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3217 Reported by: Eriks Latosheks <foresterlv>.
3218
b40c88a9
VS
32192012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * docs/grub.texi (Network): Update instructions on generating netboot
3222 image.
3223
ce96d01c
VS
32242012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3227 around device name if necessarry.
3228
0f596201
PFS
32292012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3230
3231 * util/grub-install.in: Follow the symbolic link parameter added
3232 to the file command.
3233
600d5bdb
AB
32342012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3235
3236 * util/grub-install.in: Remove stale TODO.
3237
64ebd2f4
PFS
32382012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3239
3240 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3241 dynamic allocation for the bootpath buffer.
3242
74b2fe3e
DTB
32432012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3244
3245 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3246 window too small.
3247
969b804f
VS
32482012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3251 argument rather than font name. All users updated.
3252 (grub_gfxterm_set_window): Likewise.
3253
b9f5ebd6
VT
32542012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3255
3256 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3257 from working.
3258
258f43b7
VS
32592012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * util/getroot.c (convert_system_partition_to_system_disk): Support
3262 nbd disks.
3263
cc1ce5f9
VS
32642012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3267 infinite loop on corrupted FS.
3268
e77a16ca
VS
32692012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Fix big-endian mtime.
3272
3273 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3274 together sec and usec.
3275 (grub_ufs_dir): Use correct byteswapping for UFS time.
3276
d9c48c7b
VS
32772012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 Support big-endian UFS1.
3280
3281 * Makefile.util.def (libgrubmods): Add ufs_be.c
3282 * grub-core/Makefile.core.def (ufs1_be): New module.
3283 * grub-core/fs/ufs_be.c: New file.
3284 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3285 the file.
3286
2f9f40ba
LL
32872012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3288
3289 * include/grub/types.h: Fix functionality unaffecting typo in
3290 GRUB_TARGET_WORDSIZE conditional macro.
3291
48ff0889
PFS
32922012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3293
3294 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3295
03711240
GS
32962012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3297
3298 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3299 that /netbsd appears first (when it exists).
3300
a31b11bd
CJ
33012012-10-12 Christoph Junghans <ottxor@gentoo.org>
3302
3303 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3304 Fixes Savannah bug #37558.
3305
e8a5d5d4
CW
33062012-10-12 Colin Watson <cjwatson@ubuntu.com>
3307
3308 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3309 description of extract_entries_configfile.
3310
33112012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3312
3313 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3314 preferred_address.
3315 (grub_cmd_linux): Likewise.
3316 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3317 preferred_lifetime. Update all users.
3318
288c757d
CW
33192012-09-26 Colin Watson <cjwatson@ubuntu.com>
3320
3321 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3322 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3323
0d35da3f
CW
33242012-09-26 Colin Watson <cjwatson@ubuntu.com>
3325
3326 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3327 errors from grub-probe to /dev/null, not stdout.
3328
b78c3127
VS
33292012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3332 sector 1.
3333
473959f0
CW
33342012-09-24 Colin Watson <cjwatson@ubuntu.com>
3335
3336 * util/grub-install.in: Make the error message if $source_dir
3337 doesn't exist more useful.
3338
794c8c33
CW
33392012-09-22 Colin Watson <cjwatson@ubuntu.com>
3340
3341 Fix grub-emu build on FreeBSD.
3342
3343 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3344 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3345 headers on Linux.
3346 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3347 implementation is currently Linux-specific.
3348 * util/getroot.c (exec_pipe): Define only on Linux or when either
3349 libzfs or libnvpair is unavailable.
3350 (find_root_devices_from_poolname): Remove unused path variable.
3351
86d08fdb
CW
33522012-09-19 Colin Watson <cjwatson@ubuntu.com>
3353
3354 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3355 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3356 should fit before end == 63.
3357
735abf54
CW
33582012-09-19 Colin Watson <cjwatson@ubuntu.com>
3359
3360 * util/grub-setup.c (write_rootdev): Remove unused core_img
3361 parameter. Update all callers.
3362 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3363 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3364 GRUB_SETUP_BIOS.
3365
140acd3c
VS
33662012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3369 (grub_add_tab): New function.
3370 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3371 * util/grub.d/10_illumos.in: Likewise.
3372 * util/grub.d/10_kfreebsd.in: Likewise.
3373 * util/grub.d/10_linux.in: Likewise.
3374 * util/grub.d/10_netbsd.in: Likewise.
3375 * util/grub.d/10_windows.in: Likewise.
3376 * util/grub.d/10_xnu.in: Likewise.
3377 * util/grub.d/20_linux_xen.in: Likewise.
3378 * util/grub.d/30_os-prober.in: Likewise.
3379
7ddffdad
VS
33802012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3383 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3384 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3385 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3386 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3387 ieee1275-nocursor.
3388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3389 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3390
4e092454
VS
33912012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3394 le-conversion.
3395 Reported by: BURETTE, Bernard.
3396
735abf54 33972012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3398
3399 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3400 from comment.
3401
dfd39dbd
CW
34022012-09-14 Colin Watson <cjwatson@ubuntu.com>
3403
3404 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3405 IEEE1275 machines. Fixes powerpc-emu compilation.
3406 * include/grub/terminfo.h: Likewise.
3407
3bfa763c
VS
34082012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3411 a const pointer.
3412 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3413 const pointer.
3414 (efiemu_set_variable): Make vendor_guid a const pointer.
3415
250e475b
VS
34162012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 Don't require grub-mkconfig_lib to generate manpages for programs.
3419
3420 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3421 dependencies, don't add grub-mkconfig_lib.
3422 (program): Pass empty adddeps.
3423 (script): Pass grub-mkconfig_lib as adddeps.
3424
592fd0e4
VS
34252012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3428 * util/getroot.c (grub_find_device): Likewise.
3429 (get_mdadm_uuid): Likewise.
3430 (grub_util_is_imsm): Likewise.
3431 (grub_util_pull_device): Likewise.
3432 * util/grub-probe.c (probe): Likewise.
3433
801a3027
BG
34342012-09-10 Benoit Gschwind <gschwind>
3435
3436 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3437 (devs): Add devpath_8.
3438
c5052c81
PJ
34392012-09-08 Peter Jones <pjones@redhat.com>
3440
3441 * grub-core/Makefile.core.def (efifwsetup): New module.
3442 * grub-core/commands/efi/efifwsetup.c: New file.
3443 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3444 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3445 New define.
3446 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3447
8e832f71
JS
34482012-09-05 Jiri Slaby <jslaby@suse.cz>
3449
3450 * configure.ac: Add SuSe path.
3451
f0f55752
CW
34522012-09-05 Colin Watson <cjwatson@ubuntu.com>
3453
3454 * NEWS: Fix typo.
3455
ecadc4c2
CW
34562012-09-05 Colin Watson <cjwatson@ubuntu.com>
3457
3458 * util/import_gcry.py: Sort cipher_files, to make build system
3459 generation more deterministic.
3460
64498f25
VS
34612012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3464 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3465 (grub_set_datetime): Likewise.
3466
9cc836a2
VS
34672012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3470 warnings.
3471
bcfcea01
VS
34722012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3475
a4099485
VS
34762012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3479
265c162a
CW
34802012-09-04 Colin Watson <cjwatson@ubuntu.com>
3481
3482 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3483 required for checkouts from bzr, but it may be useful for users or
3484 distributors wishing to update translations against a tarball
3485 distribution, and it can be helpful for the tarball to be a superset
3486 of what's in bzr.
3487
3d171e95
CW
34882012-09-04 Colin Watson <cjwatson@ubuntu.com>
3489
3490 * Makefile.am (EXTRA_DIST): Add
3491 grub-core/tests/boot/linux.init-mips.S,
3492 grub-core/tests/boot/linux.init-ppc.S, and
3493 grub-core/tests/boot/linux-ppc.cfg.
3494
f2c2503e
CW
34952012-09-04 Colin Watson <cjwatson@ubuntu.com>
3496
3497 * grub-core/mmap/mips/loongson: Remove empty directory.
3498
34992012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3500
3501 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3502 gone.
3503
ab2163d5
CW
35042012-09-04 Colin Watson <cjwatson@ubuntu.com>
3505
3506 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3507 grub-sparc64-setup.
3508
ce938140
GS
35092012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3510
3511 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3512
529f58a5
GS
35132012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3514
3515 * po/POTFILES.in: Regenerated.
3516
16cf79e9
GS
35172012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3518
3519 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3520 (NetBSD): New subsection.
3521
39b27f1e 35222012-07-22 Ales Nesrsta <starous@volny.cz>
3523
3524 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3525 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3526
a885261b
VS
35272012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3530 * util/grub.d/10_hurd.in: Add missing quoting.
3531 * util/grub.d/10_illumos.in: Likewise.
3532 * util/grub.d/10_kfreebsd.in: Likewise.
3533 * util/grub.d/10_linux.in: Likewise.
3534 * util/grub.d/20_linux_xen.in: Likewise.
3535
7bd29c01
VS
35362012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 New command `lsefi'.
3539
3540 * grub-core/Makefile.core.def (lsefi): New module.
3541 * grub-core/commands/efi/lsefi.c: New file.
3542 * include/grub/efi/api.h: Add more GUIDs.
3543
ac625d8f
VS
35442012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3547 (grub_bsd_elf32_hook): Likewise.
3548 (grub_bsd_elf64_size_hook): Likewise.
3549 (grub_bsd_elf64_hook): Likewise.
3550 (grub_bsd_load_elf): Likewise.
3551
e73bb801
VS
35522012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3555 if hash function is unavailable.
3556 (dec_stream_header): Likewise.
3557
e81db8b5
VS
35582012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3561 filter state.
3562
d187a1c3
VS
35632012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 Fix coreboot compilation.
3566
3567 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3568 (grub_vga_text_init_real): ... this.
3569 (grub_vga_text_fini): Rename to ...
3570 (grub_vga_text_fini_real): ... this.
3571
91a05f64
VS
35722012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3575
6af96df7
VS
35762012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/lib/legacy_parse.c: Support clear and testload.
3579
4d569e12
VS
35802012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3583
073b57bb
VS
35842012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3587
a706f4cc
VS
35882012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/net/tftp.c (ack): Fix endianness problem.
3591 (tftp_receive): Likewise.
3592 Reported by: Michael Davidsaver.
3593
e7850aa9
VS
35942012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3597
35982012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3601 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3602 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3603
35692881
VS
36042012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3607 efi_mmap_size.
3608 Reported by: Stuart Hayes.
3609
c35fc5bd
VS
36102012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3613
3614 * grub-core/Makefile.core.def (mda_text): New module.
3615 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3616 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3617 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3618 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3619 here.
3620 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3621 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3622 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3623 here.
3624 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3625 to ..
3626 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3627 ... here
3628 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3629 here.
3630 * grub-core/term/i386/vga_common.c: Removed.
3631 * include/grub/i386/vga_common.h: Likewise.
3632 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3633 (grub_vga_cr_bw_read): Likewise.
3634 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3635 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3636 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3637 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3638 grub_vga_cr_read/grub_vga_cr_write.
3639 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3640
5f91f701
VS
36412012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * configure.ac: Bump version to 2.00.
3644 * grub-core/normal/main.c (features): Add feature_200_final.
3645
0c4f85f6
VS
36462012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
36472012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3648
3649 * NEWS: Fix unclarity and language mistakes.
3650
f923ad22
VS
36512012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3654 additional size to 3 pages.
3655 Reported by: Stuart Hayes.
3656
d22029ba
VS
36572012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * NEWS: Add 2.00 entry.
3660
58eee08f
VS
36612012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3664 put explicit "/" for empty path.
3665 (wildcard_expand): Improve dprintf.
3666
c59bdff7
VS
36672012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3670 it's equal to currnode. This can happen with "" symlink.
3671
5e6a440a
YB
36722012-06-27 Yves Blusseau <blusseau@zetam.org>
3673
3674 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3675 echo shell command by printf command.
3676
73a68bcb
VS
36772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3680 the value returned by firmware is the maximal position, not diumension.
3681 (grub_terminfo_output_state): Use a more sane fallback.
3682
392a603b
VS
36832012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3686
42d0867f
VS
36872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3690 frequency to 150 MHz.
3691
489509f4
VS
36922012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 Apple fixes.
3695
3696 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3697 __APPLE_
3698 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3699 definition.
3700 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3701
9f3fc883
VS
37022012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 Handle slash in HFS label.
3705
3706 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3707 (grub_hfs_dir): Tanslate slash.
3708 (grub_hfs_label): Don't translate slash.
3709
54853fd7
VS
37102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3713 network protocol listing since it introduces problematic dependency on
3714 net module.
3715
4dc02ddf
VS
37162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3719
c50c867d
VS
37202012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 Init video early on yeeloong to avoid being rebooted by watchdog.
3723
3724 * grub-core/Makefile.am (gensm712): New target.
3725 (sm712_start.S): Likewise.
3726 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3727 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3728 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3729 description.
3730 * include/grub/vga.h: Move registry definitions to...
3731 * include/grub/vgaregs.h: ... here.
3732
5f92c8a1
VS
37332012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3736 signedness.
3737
e9e6f111
VS
37382012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3741 platforms with firmware disk drivers in the core.
3742
754ad9eb
VS
37432012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3746 informative verbose message.
3747 (read_lv): Handle 64-bit segment size.
3748
315654c2
VS
37492012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3752
fb022c79
VS
37532012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3756 character but still remove trainling spaces.
3757 (grub_fat_label): Ignore archive flag.
3758
8645f72c
VS
37592012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3762 cast between linux_kernel_header and linux_kernel_params.
3763
36498496
VS
37642012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3767 type for size.
3768 (grub_raid6_recover_func_t): Likewise.
3769 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3770 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3771
0b5ea6b8
VS
37722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3775
650cfcfe
GS
37762012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3777
3778 Fix overflow.
3779
3780 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3781 [__NetBSD__]: Add explicit cast before bitshift.
3782
8a4d6a44
VS
37832012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * configure.ac: Bump to 2.00~rc1.
3786
2fb97ed3
VS
37872012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3790 half of $a0.
3791
1fa097dc
VS
37922012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
37932012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3794
3795 * docs/grub.texi: Fix search syntax.
3796 (Multi-boot manual config): Put msdos rather than GPT example.
3797 Grammar corrections.
3798
c890ba78
VS
37992012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3802
0f92dca7
VS
38032012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3806
3988c4a0
VS
38072012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3810 message on double free. Put the value of magic in case of mismatch.
3811
9e86d4c5
VS
38122012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 Speed-up video on yeeloong.
3815
3816 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3817 add cached_ptr.
3818 (grub_video_sm712_video_fini): Unmap cached_ptr.
3819 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3820 (grub_video_sm712_set_active_render_target): Removed.
3821 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3822 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3823 sync caches.
3824
ed24c312
VS
38252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 Avoid flushing the same line multiple times on loongson.
3828
3829 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3830 Step in 32 bytes and not 1 byte.
3831 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3832 Likewise.
3833
d1718e7d
VS
38342012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3837 subvolumes.
3838
982f1909
VS
38392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 Implement flow control for http.
3842
3843 * grub-core/net/http.c (parse_line): Handle response 206.
3844 (http_receive): Stall if too many packets are in the queue.
3845 (http_establish): Fix range header.
3846 (http_seek): Fix double free.
3847 (http_close): Likewise.
3848 (http_packets_pulled): New function.
3849 (grub_http_protocol): Set http_seek
3850 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3851 (ack_real): Set window depending on i_stall.
3852 (grub_net_send_tcp_packet): Likewise.
3853 (grub_net_tcp_stall): New function.
3854 (grub_net_tcp_unstall): Likewise.
3855 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3856 (grub_net_tcp_unstall): Likewise.
3857
bd407d6e
VS
38582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3861
c7564b8e
VS
38622012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3865
a3706162
VS
38662012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * tests/util/grub-shell.in: Fix a typo.
3869
b27069e0
VS
38702012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 Implement flow control for tftp.
3873
3874 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3875 packets but stop only if stop condition is satisfied.
3876 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3877 `stall' instead of `eof' as stop condition.
3878 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3879 (http_err): Likewise.
3880 * grub-core/net/tftp.c (ack): Replace the first argument with data
3881 instead of socket.
3882 (tftp_receive): Stall if too many packets are in wait queue.
3883 (tftp_packets_pulled): New function.
3884 (grub_tftp_protocol): Set packets_pulled.
3885 * include/grub/net.h (grub_net_packets): New field count.
3886 (grub_net_put_packet): Increment count.
3887 (grub_net_remove_packet): Likewise.
3888 (grub_net_app_protocol): New field `packets_pulled'.
3889 (grub_net): New field `stall'.
3890
6b9cfac6
VS
38912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3894 sync part to handle them.
3895
f35abd81
VS
38962012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3899 * grub-core/net/drivers/ieee1275/ofnet.c
3900 (grub_ieee1275_net_config_real): Likewise.
3901
0e7ec820
VS
39022012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3905 the direct route for server/gateway.
3906
9d611a31
VS
39072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3910 IP address to server name since we may not hame the DNS.
3911
418f45ab
VS
39122012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3915 freeing random buffer on failure.
3916 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3917
44a0efc1
VS
39182012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3921
531e2241
VS
39222012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3925 reserved bytes.
3926 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3927 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3928 Handle malloc error correctly.
3929
cde393c9
VS
39302012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3933 blocks.
3934
538478d0
VS
39352012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3938 increment.
3939
9b55efe0
VS
39402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3943 none is explicitly specified.
3944
9eb832c3
VS
39452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3948 while reallocating.
3949
d6b7c7c9
VS
39502012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 Respect netmask from bootp/dhcp.
3953
3954 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3955 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3956 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3957 into ...
3958 (grub_net_add_ipv4_local): ... this.
3959 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3960 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3961 (grub_net_add_ipv4_local): New proto.
3962
67caf9eb
VS
39632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3966 determining EFI memory map size.
3967
43657558
VS
39682012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3971
eb6d0dd3
VS
39722012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3975 when looking for partition separator.
3976
31230544
VS
39772012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3980 Escape commas.
3981
918a2517
VS
39822012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 Restructure FAT driver to avoid hook in label reading as it hits a
3985 GCC bug.
3986
3987 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3988 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3989 (grub_fat_iterate_dir): Split into ...
3990 (grub_fat_iterate_init): ... this, ...
3991 (grub_fat_iterate_fini): ... this, ...
3992 (grub_fat_iterate_dir_next): ... and this. All users updated.
3993
9f1d654e
VS
39942012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3997 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3998 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3999 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4000 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4001 New fields last_key and last_key_time.
4002 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4003 extended key-esc into extended key-extended key.
4004
52f0f643
VS
40052012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 Avoid unnecessary memcpy of whole video buffer.
4008
4009 * grub-core/video/fb/video_fb.c (dirty): New struct.
4010 (framebuffer): Add members current_dirty and previous_dirty.
4011 (dirty): New function.
4012 (grub_video_fb_fill_rect): Update dirty.
4013 (common_blitter): Likewise.
4014 (grub_video_fb_scroll): Likewise.
4015 (doublebuf_blit_update_screen): Copy only dirty part.
4016 (doublebuf_pageflipping_update_screen): Likewise.
4017 (grub_video_fb_doublebuf_blit_init): Init dirty.
4018 (doublebuf_pageflipping_init): Likewise.
4019 (grub_video_fb_setup): Likewise.
4020
e169a180
VS
40212012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4024 poll rate.
4025
48556879
VS
40262012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 Fix wildcard regexp dot and other special characters handling.
4029 Reported by: Robert Mabee.
4030
4031 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4032 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4033 (split_path): Trigger expansion on '?'.
4034 (unescape): New function.
4035 (wildcard_expand): Unescape parts copied without globbing.
4036 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4037 (grub_script_arglist_to_argv): Don't unescape expansions.
4038
0494408e
VS
40392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * include/grub/net.h (grub_net_card): New member txbufsize.
4042 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4043 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4044 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4045 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4046 txbufsize.
4047 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4048 compatible property to check for macs. Set
4049 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4050 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4051 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4052 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4053 (send_card_buffer): Use txbuf.
4054 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4055 nested function out of the parent while on it.
4056
cc35fe8f
VS
40572012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4060 presence check.
4061 (grub_ieee1275_net_config_real): Fix config pointer.
4062
970a0a09
VS
40632012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4066 filename parsing to non-block devices.
4067
3e19bf87
VS
40682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4071
c62d1a0c
VS
40722012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4075 All users updated.
4076
ef76bec3
VS
40772012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4080 UUID search command even if hints probing failed.
4081
40822012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4083
4084 * po/POTFILES.in: Regenerated.
4085
70aaf305
VS
40862012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 Speed-up video on fuloong.
4089
4090 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4091 New function.
4092 (grub_pci_device_unmap_range): Handle non-cached address.
4093 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4094 add direct_ptr.
4095 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4096 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4097 (grub_video_sis315pro_set_active_render_target): Removed.
4098 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4099 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4100 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4101 sync caches.
4102 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4103 New proto.
4104
10400f0b
VS
41052012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * docs/grub.texi (Multi-boot manual config): New section.
4108
ba67e2c6
VS
41092012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 Avoid slow read-back from VRAM.
4112
4113 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4114 Move from here ...
4115 * grub-core/video/fb/video_fb.c
4116 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4117 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4118 (front_target): Remove front_target. Add pages.
4119 (grub_video_fb_init): Skip setting front_pages.
4120 (grub_video_fb_fini): Likewise.
4121 (doublebuf_blit_update_screen): Use pages.
4122 (grub_video_fb_doublebuf_blit_init): Likewise.
4123 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4124 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4125 (grub_video_fb_setup): Prefer doublebuffing.
4126
377c98cb
VS
41272012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4130 gzio.
4131
eac49cff
VS
41322012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 Add loongson tests.
4135
4136 * tests/util/grub-shell.in: Handle loongson.
4137 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4138 drivers.
4139 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4140 Reboot instead of shutdown if REBOOT is defined.
4141
0321415e
VS
41422012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4145 sized ports since unlike on real hardware qemu supports only 32-bit
4146 regs.
4147
3f2bdd8f
VS
41482012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4151 * util/grub-mkrescue.in: Handle loongson.
4152
29a049c9
VS
41532012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4156 Set is_part appropriately.
4157 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4158 names. Canonicalize partition without full disk.
4159
4abde346
VS
41602012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 Revert usb-quiesce since it's wrong.
4163
4164 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4165 (grub_ofdisk_init): Don't do quiesce.
4166
61f1d93b
VS
41672012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4170 PowerMac workaround to Xserves as well.
4171 Information supplied by: Benjamin Herrenschmidt.
4172
a09eb541
VS
41732012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 Don't assume that beginning address is also the entry point on ppc.
4176
4177 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4178 (grub_linux_boot): Use linux_entry.
4179 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4180 (grub_linux_load64): Likewise.
4181
505b3c9b
VS
41822012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4185
cbe0b4ef
VS
41862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4189 needlessly lose the console.
4190
3006e981
VS
41912012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4194 space.
4195
4e5a96b0
VS
41962012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4197
7da036bb
VS
4198 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4199 than current grub_get_rtc() not implemented when booted with
4200 coreboot without TSC.
4201
4202 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4203 Add machine/time.h to kernel headers on loongson.
4204 * grub-core/Makefile.core.def (kernel): Remove
4205 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4206 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4207 (grub_get_rtc): Likewise.
4208 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4209 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4210 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4211 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4212 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4213 rather than installing known non-working time source.
4214 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4215 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4216 * include/grub/time.h: Don't include machine/time.h.
4217 * include/grub/efi/time.h: Removed.
4218 * include/grub/i386/efi/time.h: Likewise.
4219 * include/grub/i386/ieee1275/time.h: Likewise.
4220 * include/grub/powerpc/ieee1275/time.h: Likewise.
4221 * include/grub/sparc64/ieee1275/time.h: Likewise.
4222 * include/grub/x86_64/efi/time.h: Likewise.
4223
42242012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4227
4228 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4229 value.
4230 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4231 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4232 with dotless variants when any combining above is present.
4233
5561c22d
VS
42342012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4237 text and not binary.
4238
96f7e60e
VS
42392012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Stop polling as soon as we have the packet we were waiting for.
4242
4243 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4244 All users updated.
4245 * grub-core/net/arp.c (have_pending): New var.
4246 (pending_req): Likewise.
4247 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4248 stop indicator.
4249 (grub_net_arp_receive): Set have_pending.
4250 * grub-core/net/dns.c (recv_data): New field stop.
4251 (recv_hook): Set stop.
4252 (grub_net_dns_lookup): Init stop and use as stop condition.
4253 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4254 condition.
4255 * grub-core/net/net.c (grub_net_poll_cards): New argument
4256 stop_condition. Stop when it goes true.
4257 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4258 indicator.
4259 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4260
3e747239
VS
42612012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 Keep TX and RX buffers on EFI rather than always allocate new ones.
4264
4265 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4266 card. All users updated.
4267 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4268 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4269 (get_card_packet): Likewise.
4270 (grub_efinet_findcards): Init new fields.
4271
f695e99a
VS
42722012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4275 compilation error on sparc64.
4276
9e5e66d1
VS
42772012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Use ITC on IA64 rather than broken routine based on daytime.
4280
4281 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4282 ia64.
4283 (grub_get_rtc) [__ia64__]: Likewise.
4284 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4285 (get_itc): New function.
4286 (grub_rtc_get_time_ms): Likewise.
4287 (grub_machine_init): Calibrate ITC.
4288 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4289 Keep only on non-ia64. Don't export since it's broken and used only
4290 if TSC is unavailable.
4291
a1767404
VS
42922012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4295 even if it's used.
4296 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4297 Skip if parent is unused.
4298
34b2bced
VS
42992012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4302
5e619f40
VS
43032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 Fix wildcard escaping.
4306
4307 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4308 * grub-core/script/execute.c (wildcard_escape): .. to here.
4309 Don't escape dot.
4310 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4311 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4312 Don't escape dot.
4313 * grub-core/script/execute.c (gettext_append): Always escape.
4314 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4315 * grub-core/script/yylex.l: Don't cut away the escaping.
4316 * tests/grub_script_echo1.in: Add tests with wildcard.
4317
c8ca5855
VS
43182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4321 (ftdi_hw_configure): Likewise.
4322 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4323 define.
4324 (real_config): Handle 1.5 stop bits.
4325 (pl2303_hw_configure): Likewise.
4326
7183452c
VS
43272012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * Makefile.am: Add ppc linux bootcheck.
4330 * grub-core/tests/boot/linux-ppc.cfg: New file.
4331 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4332
f57c84cd
VS
43332012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * tests/grub_script_expansion.in: Skip network protocols.
4336
ecfc6207
VS
43372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4340
8d03d284
VS
43412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4344 --rom-directory.
4345 Add -graft-points.
4346
61c42af0
VS
43472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 ESCC serial driver for conducting sautomated tests in qemu.
4350 Not tested on real hardware.
4351
4352 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4353 * grub-core/term/ieee1275/escc.c: New file.
4354 * grub-core/Makefile.core.def (escc): New module.
4355
08fd1291
VS
43562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4359 invalid on error.
4360 (serial_hw_fetch): Don't read invalid handle.
4361 (serial_hw_put): Don't write into invalid handle.
4362
08dafeea
VS
43632012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 Add a 1.5 stop bits value.
4366
4367 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4368 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4369 GRUB_SERIAL_STOP_BITS_1_5.
4370
9068fdcf
VS
43712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4374 value rather than let it uninited.
4375
f4d5820f
VS
43762012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * grub-core/commands/wildcard.c (+check_file): New function.
4379 (wildcard_expand): Don't expand to non-existing files, expand with
4380 suffix and not attempt to expand if not needed.
4381
3d2de9a7
VS
43822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4385 out of partitions containing other partitions.
4386
c5c81ff9
VS
43872012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4390 on some qemu versions with GRUB.
4391
4392 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4393 define.
4394 (grub_openbsd_bootarg_pcibios): New struct.
4395 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4396 Add PCIINFO.
4397
08a14e0b
VS
43982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * tests/util/grub-shell.in: Trim firmware output on EFI.
4401
cede3ca3
VS
44022012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4405 and coreboot since it's already in kernel.
4406
558d3a60
VS
44072012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4410 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4411 to here. New return value start. All users updated.
4412 Recursively scan linear mappings.
4413 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4414 proto.
4415 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4416 Use grub_util_get_dm_node_linear_info.
4417 * util/getroot.c (convert_system_partition_to_system_disk): Use
4418 grub_util_info rather than grub_dprintf.
4419 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4420
60fde14d
VS
44212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4424
4425 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4426 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4427
24bd8838
VS
44282012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * include/grub/types.h (grub_set_unaligned64): New function.
4431 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4432 (setup): Likewise.
4433
7bc06a49
VS
44342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4437 (grub_ofdisk_fini): Quiesce USB devices.
4438
49cea015
VS
44392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4442 caches.
4443
8dcbe03b
VS
44442012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4447
5b258735
VS
44482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/disk/pata.c (grub_pata_pio_read)
4451 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4452 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4453
37ba07eb
VS
44542012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Extend automated tests to qemu-mips.
4457
4458 * Makefile.am: reorganise tests and enable qemu-mips.
4459 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4460 * grub-core/tests/boot/linux.init-mips.S: New file.
4461 * tests/partmap_test.in: Handle ata0 disks.
4462 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4463 non-pc i386.
4464
070038f8
VS
44652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4468 ia64.
4469 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4470 quotes while on it.
4471
004be2cd
VS
44722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4475 (grub_halt): Likewise.
4476 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4477
b1622487
VS
44782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * grub-core/term/serial.c (grub_serial_register)
4481 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4482 the behaviour in line with x86 platforms.
4483
b7b4ab33
VS
44842012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4487 (grub_ata_strncpy): Likewise.
4488 (grub_ata_identify): Add missing byteswaps.
4489
5e3535ae
VS
44902012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4493 byte-swap.
4494 (screen_read_char): Likewise.
4495 (grub_vga_text_cls): Likewise.
4496
c21b17e6
VS
44972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4500 filenames.
4501 (make_file_path): Likewise.
4502
bf293dec
VS
45032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4506 machines.
4507 Tested by: Paulo Flabiano Smorigo.
4508 Crucial information about API supplied by: Coleen <Last name unknown>.
4509 Reviewed by: Coleen <Last name unknown>.
4510
81f6ef0e
VS
45112012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * util/grub-mkimage.c: Disable -Wcast-align.
4514
7284143a
VS
45152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4518 as they are fatal.
4519
b99f3e00
VS
45202012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4523
944f752d
VS
45242012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * util/grub-probe.c (escape_of_path): Fix double free.
4527
6cce6f38
VS
45282012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/commands/videoinfo.c (hook): Show pitch.
4531
1e1eb50e
VS
45322012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4535
1c715b5a
VS
45362012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4539 (probe): Add ieee1275 to OFW devices.
4540
007ae52d
VS
45412012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4544
4557a36d
VS
45452012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 Handle IBM OFW path.
4548
4549 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4550 available.
4551 (of_path_of_scsi): Handle vdevice.
4552
efbeefe9
VS
45532012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4556 Allocate in multiples of 16 to avoid adding a few bytes free region the
4557 windows bugs upon.
4558
15a940bb
VS
45592012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4562 Allocate in multiples of 16 to avoid adding a few bytes free region the
4563 windows bugs upon.
4564 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4565
6e5efd60
VS
45662012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4569 resolutions.
4570 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4571 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4572
0d3d137e
IS
45732012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4574
4575 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4576
45dbe300
VS
45772012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4580 resulted in \\ at the end of the line.
4581
6d8db947
VS
45822012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4585 (grub_parser_cmdline_state): Likewise.
4586 (grub_parser_split_cmdline): Likewise.
4587
de89d338
VS
45882012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4591 /dev/root and /dev/dm-*.
4592
00d41dee
VS
45932012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4596 fix partially stale display.
4597
f95d1f11
VS
45982012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4601 substraction.
4602
6297e197
VS
46032012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4606 Fix MBR remapping workaround.
4607 (grub_util_biosdisk_read) [__linux__]: Likewise.
4608
8a7ecad3
VS
46092012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4612
2b34f944
VS
46132012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * configure.ac: Bump to beta6.
4616
684aef11
CW
46172012-05-31 Christer Weinigel <christer@weinigel.se>
4618
4619 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4620
05b0bb91
VS
46212012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4624 (grub_cmd_linux): Likewise.
4625
bda36bfa
CW
46262012-05-31 Christer Weinigel <christer@weinigel.se>
4627
4628 Fix EHCI low-speed.
4629
4630 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4631 (GRUB_EHCI_MULT_TWO): Likewise.
4632 (GRUB_EHCI_MULT_THREE): Likewise.
4633 (GRUB_EHCI_CMASK_MASK): New enum value.
4634 (GRUB_EHCI_SMASK_MASK): Likewise.
4635 (GRUB_EHCI_CMASK_OFF): Likewise.
4636 (GRUB_EHCI_SMASK_OFF): Likewise.
4637 (grub_ehci_pci_iter): Enable periodic schedule.
4638 (grub_ehci_parse_notrun): Likewise.
4639 (grub_ehci_restore_hw): Likewise.
4640 (grub_ehci_setup_qh): Set flags for low speed transfers.
4641 (grub_ehci_find_qh): Use periodic list for low speed.
4642 (grub_ehci_setup_transfer): Check periodic queue as well.
4643 (grub_ehci_check_transfer): Likewise.
4644 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4645
e12bcb1c
PFS
46462012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4647
4648 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4649 parameter is used.
4650
bcc75fb3
PJ
46512012-05-31 Peter Jones <pjones@redhat.com>
4652
4653 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4654 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4655 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4656
f19cb95e
VS
46572012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4660 uninited variable. Allocate at least setup_sects.
4661
a4e5ca80
VS
46622012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 Fix handling of EFI with big memory maps.
4665
4666 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4667 (real_mode_mem): Likewise.
4668 (real_mode_target): Likewise.
4669 (real_mode_pages): Likewise.
4670 (prot_mode_pages): Likewise.
4671 (linux_params): New var.
4672 (linux_cmdline): Likewise.
4673 (free_pages): Don't set real mode variables.
4674 (allocate_pages): Don't allocate real mode memory.
4675 (grub_e820_add_region): Remove the limit.
4676 (grub_linux_boot): Allocate and copy real mode memory.
4677 (grub_linux_unload): Free linux_cmdline.
4678 (grub_cmd_linux): Use temporary storage for parameters.
4679 (grub_cmd_initrd): Likewise.
4680 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4681 (linux_kernel_params): Make it 1K big.
4682
ddb73558
VS
46832012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * Makefile.util.def: Remove -Wno-format.
4686 * grub-core/Makefile.core.def: Likewise.
4687
1c4afb60
VS
46882012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * tests/cmp_unit_test.c: Add missing failure message.
4691 * tests/example_unit_test.c: Likewise.
4692 * tests/printf_unit_test.c: Likewise.
4693
941e3a6d
VS
46942012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4697 relaxation of protective MBR requirements.
4698
b105df76
VS
46992012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * configure.ac: Add condition for COND_HOST_XNU.
4702 * Makefile.util.def (10_xnu): New script.
4703 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4704
84e1569e
VS
47052012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4708 objconv bug.
4709
130c0f77
VS
47102012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4713 Binary on other platforms stays identical.
4714
6fd0b143
VS
47152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4718 Apple.
4719
0af1751d
VS
47202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4723
176d5f7d
VS
47242012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4727 rather than defining size_t ourselves to avoid conflict.
4728
7de5e20a
VS
47292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4732 initialisation to avoid __bzero reference.
4733
f7143efe
VS
47342012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4737 version.
4738 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4739 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4740 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4741 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4742 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4743
e6ad0555
VS
47442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4747 * grub-core/kern/misc.c: Likewise.
4748 * grub-core/loader/i386/xnu.c: Likewise.
4749 * include/grub/i386/tsc.h: Likewise.
4750 * include/grub/symbol.h: Likewise.
4751
4a5a3c4a
VS
47522012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4755 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4756 on older compiler.
4757
037f6d90
VS
47582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4761 Implement Apple flavour.
4762 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4763
f7194551
VS
47642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4767 (memmove) [__APPLE__]: Likewise.
4768 (memcpy) [__APPLE__]: Likewise.
4769 (memset) [__APPLE__]: Likewise.
4770 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4771 (memmove) [__APPLE__]: Likewise.
4772 (memcpy) [__APPLE__]: Likewise.
4773 (memset) [__APPLE__]: Likewise.
4774
85a730ca
VS
47752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4778 dependency discard.
4779
40e80b94
VS
47802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * grub-core/normal/main.c (read_config_file): Provide config_file and
4783 config_directory.
4784 * util/grub.d/41_custom.in: Use config_directoy when available.
4785
9da59c32
VS
47862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4789 (grub_bfs_dir): Likewise.
4790
2787ae53
PJ
47912012-05-27 Peter Jones <pjones@redhat.com>
4792
4793 The old code gives arguments to a printf function which can't work
4794 correctly, and the compiler complains.
4795
4796 * grub-core/tests/example_functional_test.c (example_test): Add
4797 missing text.
4798 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4799 * include/grub/test.h (grub_test_assert_helper): New declaration.
4800 (grub_test_assert): Use grub_test_assert_helper.
4801
526ef13d
VS
48022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4805 (exfctest): ... this to avoid overlong filenames.
4806 All users updated.
4807
20dd511c
VS
48082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 Handle "." and ".." on squashfs.
4811
4812 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4813 Make inode numbers into stack.
4814 (grub_squash_read_symlink): Use stack.
4815 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4816 (make_root_node): Fill stack.
4817 (grub_squash_open): Use stack.
4818
1d80c62a
VS
48192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4822 freeing.
4823
d336f652
VS
48242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4827 stderr on test calls.
4828
8b43f587
VS
48292012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4832
80a3dc3f
VS
48332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4836
47e297d4
VS
48372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4840 "..".
4841
df042ccb
VS
48422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4845 (grub_hfsplus_iterate_dir): Add "." and "..".
4846
fc977f48
VS
48472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4850 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4851
f3250e5f
VS
48522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4855 (find_path): Handle "." and "..".
4856
fd8ed4c5
VS
48572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4860 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4861 (grub_affs_iterate_dir): Handle hardlinks.
4862
4ce776d2
MG
48632012-05-26 Matthew Garrett <mjg@redhat.com>
4864
4865 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4866 (grub_efi_console_fini): Likewise.
4867 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4868 (grub_video_gop_fill_mode_info): Rename to ...
4869 (grub_video_gop_fill_real_mode_info): ... this.
4870 (grub_video_gop_fill_mode_info): New function.
4871 (grub_video_gop_setup): Setup double framebuffer.
4872 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4873 Free offscreen.
4874 (grub_video_gop_swap_buffers): Copy framebuffer.
4875 (grub_video_gop_fini): Free offscreen buffer.
4876 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4877 New enum.
4878 (grub_efi_gop_blt_pixel): New struct.
4879
683031ba
VS
48802012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * gentpl.py: Remove error disabling for objconv.
4883
c2deb798
VS
48842012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * configure.ac: Remove -Wunitialized as it's not available on older
4887 compilers.
4888
48892012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4890
4891 Fix extent overflow comparator.
4892
4893 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4894 (grub_hfsplus_read_block): Set type.
4895 (grub_hfsplus_cmp_extkey): Compare type.
4896
d6b1fd36
VS
48972012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4900
0a9aa0f6
VS
49012012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4904 than 0.
4905
8360e159
VS
49062012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4909 (dejavu_bold_14.pf2): New target.
4910
501b9e4b
VS
49112012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * configure.ac: Fix djvu font detection.
4914
7026b0e2
VS
49152012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4918 ext* instead of ext2.
4919
c2a51ade
VS
49202012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4923 name with \0.
4924
8f803a5d
JU
49252012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4926
4927 * docs/grub-dev.texi: Remove dot from .png.
4928
13c6353f
VS
49292012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4932 protective entry in any slot.
4933 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4934 if protective entry is found in any slot.
4935
4936 Protective entry in non-first slot make no sense but is a widespread
4937 brain damage.
4938
4cf6be1b
VS
49392012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4942
937d1c44
VS
49432012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4946 with old reiserfs.
4947 (grub_reiserfs_open): Don't free root.
4948
021d90ec
VS
49492012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4952 after freeing for safety.
4953
967b2b64
VS
49542012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4957 Reported by: Jordan Uggla.
4958
34274d02
JU
49592012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4960
967b2b64
VS
4961 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4962 actual implementation. Specifically, clarify that the grub menu will
4963 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4964 passed.
34274d02 4965
dcaaae9d
BH
49662012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4967
4968 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4969 of r0.
4970
7086ad52
VS
49712012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 Remove unjustified hard dependency of normal.mod on gfxterm.
4974
4975 * include/grub/term.h (grub_term_output): New member fullscreen.
4976 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4977 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4978 (grub_gfxterm): Set .fullscreen.
4979 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4980 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4981
37ed2c9b
VS
49822012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4985 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 4986 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 4987
a4469c88
VS
49882012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4991
4e461486
VS
49922012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4995 a bad FS.
4996
aa78f5c4
VS
49972012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5000 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5001
197626b5
VS
50022012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5005 (grub_jfs_mount): Fill caseins.
5006 (grub_jfs_find_file): Respect caseins.
5007
8ad3f28c
VS
50082012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5011 through UTF-16.
5012
0c6c324e
VS
50132012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5016 New argument origpath. All users updated.
5017
c6666ba6
VS
50182012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5021 (read_attr): Ensure that we read start of possibly compressed block.
5022
e28e5fe5
VS
50232012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5026 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5027 All users updated.
5028
5fc23ab2
VS
50292012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5032 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5033 (dejavu.pf2): Replace with ...
5034 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5035 this.
5036
79dbc21c
VS
50372012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * util/grub.d/20_linux_xen.in: Add missing line.
5040
d2fcfb0c
VS
50412012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5044 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5045 (grub_utf16_to_utf8): Likewise.
5046
5560e9d6
VS
50472012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5050 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5051 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5052 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5053 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5054 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5055
50562012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5057
5058 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5059 a bad FS.
5060
5560e9d6 50612012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5062
5063 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5064 (grub_udf_read_symlink): Handle read_string failure.
5065
5eae3175
VS
50662012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5069 comment.
5070
c1ad82db
VS
50712012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 Fix handling of UDF symlinks.
5074
5075 * grub-core/fs/udf.c (read_string): New argument outbuf.
5076 All users updated.
5077 (grub_ufs_read_symlink): Rename to ...
5078 (grub_udf_read_symlink): ... this. All users updated.
5079 Handle symlinks with more than one component.
5080
33eca6e0
VS
50812012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5084 symlinks. Replace leading colon with a slash.
5085
57f4a70b
VS
50862012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5089 filename.
5090
38c8ee20
VS
50912012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5094 match in inner node.
5095
2e57f28f
VS
50962012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5099 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5100 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5101 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5102 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5103 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5104 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5105 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5106 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5107
fe8c2f11
VS
51082012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 Use grub-probe and not cmp to check that disk is empty.
5111
5112 * util/grub-install.in: Use grub-probe for zero-check.
5113 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5114 (probe): Handle PRINT_ZERO_CHECK.
5115 (argp_parser): Handle -t zero_check.
5116
51172012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5118
5119 Flush block cache on adding disk to device map.
5120
5121 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5122 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5123 adding.
5124 (read_device_map): Likewise.
5125 (open_device): Flush on opening.
5126
690434e8
VS
51272012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5130 (handle_symlink): Fix off-by-one error.
5131 Canonicalize the target.
5132 (grub_cpio_dir): Canonicalize the name.
5133 Fix memory leak.
5134 Set directory.
5135 (grub_cpio_open): Canonicalize the name.
5136
742d2be6
VS
51372012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5140 handling.
5141
3244fe96
VS
51422012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5145 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5146
8aeb1837
VS
51472012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5150 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5151 All users updated.
8aeb1837 5152
9133fd05
VS
51532012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5156 counterpart.
5157
6d521c5b
VS
51582012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 Fix UFS1 big file support.
5161
5162 * grub-core/fs/ufs.c (INODE): Removed.
5163 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5164 64-bit.
5165 (INODE_MODE): Simplify.
5166 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5167 (grub_ufs_lookup_symlink): Don't use INODE.
5168
21b82e17
VS
51692012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5172
5173 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5174 (grub_minix_data): Replace log_block_size with block_size.
5175 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5176 (grub_minix_mount): Fill block_size.
5177
51782012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5179
5180 * configure.ac: Bump to beta5.
5181
f417ed04
VS
51822012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 Fix wrapped HFS+ handling.
5185
5186 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5187 blocks_start. All users updated.
5188 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5189 wrapping offset.
5190 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5191
607d282b
VS
51922012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 Fix long symlinks on reiserfs.
5195
5196 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5197 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5198 (grub_reiserfs_iterate_dir): Save size for non-directories.
5199 (grub_reiserfs_open): Don't reread stat block as we already know the
5200 size.
5201 (grub_reiserfs_read): Split into...
5202 (grub_reiserfs_read_real): ... and ...
5203 (grub_reiserfs_read): ...this.
5204
ae16024d
VS
52052012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 Fix non-indexed JFS.
5208
5209 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5210 (grub_jfs_data): New field namecomponentlen.
5211 (grub_jfs_mount): Fill namecomponentlen.
5212 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5213
eea1e26e
VS
52142012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5217 * tests/grub_script_echo1.in: Add tests.
5218
df760f77
VS
52192012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * util/grub-install.in: Ignore empty devicetree directory.
5222
5efb817d
B
52232012-05-08 Bean <bean123ch@gmail.com>
5224
5225 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5226 All users updated.
5227 (free_rsm): Free header as well.
5228 (free_old_fragments): Fix memory leak.
5229 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5230 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5231 (destroy_pq): Likewise.
5232 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5233
668ea6d2
VS
52342012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5237 resulting hash as a precaution.
5238
1739b1fe
VS
52392012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5242 '_' in variable names.
5243 * grub-core/net/net.c (grub_net_network_level_interface_register):
5244 Likewise.
5245
6ae485aa
VS
52462012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 Fix AFFS with non-512B blocks.
5249
5250 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5251 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5252 (grub_affs_data): Replace blocksize with log_blocksize.
5253 (grub_affs_read_block): Fix non-512B blocks.
5254 (grub_affs_read_symlink): Likewise.
5255 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5256 (grub_affs_read): Fix non-512B blocks.
5257 (grub_affs_label): Likewise.
5258 (grub_affs_mtime): Likewise.
5259 (grub_affs_mount): Fix block detection routine.
5260
d20fab84
VS
52612012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 Add filesystem mtime to AFFS.
5264
5265 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5266 (aftime2ctime): New function.
5267 (grub_affs_dir): Use aftime2ctime.
5268 (grub_affs_label): Fix return value.
5269 (grub_affs_mtime): New function.
5270 (grub_affs_fs): Add mtime.
5271
e87b10f5
VS
52722012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5275 UTF-8.
5276
7dceec9b
VS
52772012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5280 UTF-8.
5281
2f48221f
VS
52822012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5285
dacd85cf
VS
52862012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5289 flags.
5290 (FLAGS_CASE_SENSITIVE): New enum value.
5291 (cache_entry): New struct.
5292 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5293 cache_size and cache.
5294 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5295 Add log_blocksize and fshelp_flags.
5296 (grub_sfs_read_extent): Handle non-512 blocks.
5297 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5298 (grub_sfs_read_file): Handle non-512 blocks.
5299 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5300 fshelp_flags.
5301 (grub_sfs_read_symlink): Handle non-512 blocks.
5302 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5303 (grub_sfs_dir): Free cache.
5304 (grub_sfs_close): Likewise.
5305
24e9a854
VS
53062012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5309 filesystems.
5310
62ace64d
VS
53112012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5314
83b2e89c
VS
53152012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5318
75ccaea3
VS
53192012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5322 (grub_sfs_read_extent): Likewise.
5323 (grub_sfs_read_block): Likewise.
5324 (grub_sfs_mount): Likewise.
5325 (grub_sfs_iterate_dir): Likewise.
5326 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5327 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5328
1b8463f2
VS
53292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 Fix errors on compressed NTFS with 512B clusters.
5332
5333 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5334 types.
5335 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5336 not 0.
5337 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5338 Relax check for inline extents.
5339 (ntfscomp): Return correct -1 on error and not 0.
5340
4f8e368f
VS
53412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * util/grub-install.in: Fix handling of prefix containing spaces.
5344
6f5d5ee8
VS
53452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5348 (grub_squash_read_data): Fix offset byte-swapping.
5349
ce41ab7a
VS
53502012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5353 per common usage and preffered in several parts of code.
5354 (grub_memcmp): Likewise.
5355 (grub_strncmp): Likewise.
5356 * include/grub/misc.h (grub_strcasecmp): Likewise.
5357 (grub_strncasecmp): Likewise.
5358 * Makefile.util.def (cmp_test): New test.
5359 (grub_script_strcmp): Likewise.
5360 * tests/cmp_unit_test.c: New file.
5361 * tests/grub_script_strcmp.in: Likewise.
5362 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5363
49717bf4
VS
53642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * include/grub/pci.h: Move enums into no-asm part.
5367
0a308f64
VS
53682012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5371
1796965f
ST
53722012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5373
5374 * util/getroot.c (find_hurd_root_device): Try to make error message
5375 and comments to translators clearer.
5376
4e9b2819
VS
53772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5380
076aeb50
VS
53812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5384 btrfs.
5385
19424d94
VS
53862012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * docs/grub.cfg: Update.
5389
ebb73076
VS
53902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * docs/grub.texi (PXE): Remove not present variables.
5393
9a1b669c
VS
53942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/net/net.c (defserver_set_env): New function.
5397 (defserver_get_env): Likewise.
5398 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5399
d38bf7d3
VS
54002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5403 entries.
5404
54052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5406
5407 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5408 * grub-core/kern/emu/hostdisk.c: Likewise.
5409
e5e4ca48
ST
54102012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5411
5412 Handle hurd userspace partitions.
5413
5414 * util/getroot.c (find_hurd_root_device): New function.
5415 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5416
56bb5dd5
VS
54172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5420 names.
5421 Reported by: Bastian Blank.
5422
9e8bc27a
VS
54232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5426 crossing page boundary.
5427
aa01499d
VS
54282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 Fix B-tree search in BFS, especially in presence of non-ASCII
5431 characters.
5432
5433 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5434 (find_in_b_tree): Use standard bsearch + btree algorithm.
5435
57006035
VS
54362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5439 and so on.
5440
9d34bb85
MG
54412012-05-03 Matthew Garrett <mjg@redhat.com>
54422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 Suspend broadcom cards in order to stop their DMA.
5445
5446 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5447 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5448 (pci): Don't build on x86 EFI.
5449 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5450 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5451 New function.
5452 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5453 stop_broadcom if running on EFI.
5454 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5455 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5456 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5457 (grub_pci_find_capability): New proto.
5458
01aab997
VS
54592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * docs/grub.texi: Remove dot from the extension as it apparently
5462 doesn't work with some makeinfo versions.
5463
fbd8dca6
VS
54642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5467 with GRUB expectance.
5468
dab797f4
VS
54692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5472
1516bfb4
VS
54732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5476 zero after directory block since last entry may be not 0-terminated if
5477 it ends on block boundary. Use continue instead of if spanning whole
5478 loop.
5479
a3a0eace
VS
54802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 Support 4K sectors UDF inline files.
5483
5484 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5485 (grub_udf_extended_file_entry): Likewise.
5486 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5487 All users updated.
5488 (get_fshelp_size): New function.
5489 (grub_udf_read_icb): Read whole block.
5490 (grub_udf_iterate_dir): Likewise.
5491 (grub_udf_dir): Likewise.
5492 (grub_udf_open): Likewise.
5493
c82f16c1
VS
54942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5497
59fd2aac
VS
54982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5501 inline symlinks in addition to workaround.
5502
3b4afb4d
VS
55032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5506
f45c794a
VS
55072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5510
f25cecbd
VS
55112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5514
bb9a34e8
VS
55152012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 Fix reiserfs big seek times.
5518
5519 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5520 exact. All users updated.
5521 (grub_reiserfs_read): Use nearest btree search for seeking.
5522 Fix return value on error.
5523
dc478aea
VS
55242012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5527 entries.
5528 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5529 * docs/grub.texi: Update menuentry description.
5530
8db10f47
VS
55312012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5534 crash when embedding onto filesystem.
5535
bcb288ed
VS
55362012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5539 name.
5540
a626fdd7
VS
55412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5544
b2f68477
VS
55452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5548 commit.
5549
ba15b2af
B
55502012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
55512012-05-01 Bean <bean123ch@gmail.com>
5552
5553 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5554
a188012e
VS
55552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5558 Special behaviour for len = 0 to read whole file isn't used anywhere and
5559 can cause buffer ovewrflows in several places.
5560
f0a53ed2
VS
55612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5564
5ed554f0
VS
55652012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 Handle RAIDZ on non-512B sectors.
5568
5569 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5570 max_children_ashift.
5571 (fill_vdev_info_real): Fill max_children_ashift.
5572 (read_device): Use max_children_ashift.
5573
ddc58357
VS
55742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5577
e3282399
VS
55782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5581 disk names.
5582 * docs/grub.texi: Update device.map parts.
5583
ee618bd4
VS
55842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 Don't scan into non-diskfilter devices having diskfilter names.
5587
5588 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5589 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5590 handling.
5591 (scan_disk_hook): New function.
5592
bdf88864
B
55932012-04-29 Bean <bean123ch@gmail.com>
5594
5595 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5596 allocation.
5597
32745f51
MK
55982012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5599
5600 * configure.ac: Detect starfield theme font path
5601 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5602
bc95c8c0
VS
56032012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5606 geometry on serial consoles.
5607
147fbcab
VS
56082012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5611 because of network consoles.
5612
0f42c889
VS
56132012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5616 handling.
5617
4a3594c9
VS
56182012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5621 falls on Q syndrom.
5622
5cb53879
VS
56232012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5626 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5627
b282dfe5
VS
56282012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5631 Allocate at lest 8192 for temporary buffer as required for lzo.
5632
daa59f47
VS
56332012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5636 to cluster_bits, since it's already added in.
5637 (grub_fat_read_data): Likewise.
5638
986748ce
VS
56392012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5642 as long as cluster size is multiple of 512 bytes.
5643
a20f6ad0
VS
56442012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * util/grub-mkrescue.in: Fix locale directory.
5647
385f9abb
VS
56482012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/kern/emu/hostdisk.c (map): Make static.
5651
1c557d30
B
56522012-04-23 Bean <bean123ch@gmail.com>
5653
5654 * util/grub-fstest.c (fstest): Add missing break.
5655
524b5d3a
ST
56562012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5657
5658 Fix hurd build.
5659
5660 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5661 not define nr variable.
fe4824e9 5662 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5663 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5664 grub_find_device): Do not define.
524b5d3a 5665
9a06490c
VS
56662012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 Fix kfreebsd compile and behaviour.
5669
5670 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5671 format-security.
5672 * util/getroot.c: Fix wait.h include.
5673 (grub_guess_root_devices): Error if grub_find_device fails.
5674 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5675 (grub_util_get_dev_abstraction): Likewise.
5676 (grub_util_pull_device): Likewise.
5677 (grub_util_get_grub_dev): Likewise.
5678 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5679
48143d96
VS
56802012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 Fix and unify wholedisk detection.
5683
5684 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5685 is_part. All users updated.
5686 (device_is_wholedisk): Removed.
5687 (grub_util_biosdisk_get_grub_dev): Use is_part.
5688
ebbd24f3
VS
56892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5692 mode.
5693
56f7aa1e
VS
56942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * configure.ac: Bump to beta4.
5697
9c815e01
VS
56982012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5701 --fs-uuid --set UUID syntax.
5702
59e2651a
VS
57032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5706 disunification.
5707
54e03cfc
VS
57082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5711
81092a75
MK
57122012-04-18 Mads Kiilerich <mads@kiilerich.com>
5713
5714 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5715
f8315e14
MG
57162012-04-18 Mike Gilbert <floppym@gentoo.org>
5717
5718 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5719
1501ac21
B
57202012-04-18 Bean <bean123ch@gmail.com>
5721
5722 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5723 place.
5724
cb7f944e
VS
57252012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5728 users updated.
5729 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5730 corresponding to GRUB partitions.
5731 (grub_util_biosdisk_write): Likewise.
5732
b72d44a1
VS
57332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 Scan mdraid before LVM.
5736
5737 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5738 (grub_diskfilter_register_front): ... this.
5739 (grub_diskfilter_register_back): New function.
5740 All users of grub_diskfilter_register updated.
5741
33d918b8
VS
57422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * util/grub-install.in: Fix an automatic target detection bug.
5745
c6ca973d
VS
57462012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * util/grub-install.in: New option --efi-directory.
5749
b41be562
VS
57502012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5753 boot services if we have no other choice.
5754
57552012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5758 document it.
5759 * tests/util/grub-shell.in: Update to --directory.
5760
e0595a73
VS
57612012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5764
4ed80652
VS
57652012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5768 (grub_minix_read_file): Likewise.
5769 (grub_minix_read_inode): Likewise.
5770 (grub_minix_find_file): Likewise.
5771 (grub_minix_dir): Likewise.
5772
56008077
VS
57732012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * util/grub-setup.c (setup): Fix partition handling and blocklist
5776 check.
5777
ee520775
VS
57782012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5781 redundant buggy overlap check.
5782
16fc9293
VS
57832012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5786 and grub-mknetdir.
5787
9bab65c4
VS
57882012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5791 kh.loadflags on pre-2.00 kernels.
5792
3c491b47
VS
57932012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 Terminate UNDI and PXE before launching the payload to avoid problems
5796 with DMA.
5797
5798 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5799 (grub_loader_flags): ... this. All users updated.
5800 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5801 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5802 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5803 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5804 function.
5805 (grub_pxe_restore): Likewise.
5806 (fini_hnd): New var.
5807 (GRUB_MOD_INIT): Register shutdown hook.
5808 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5809 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5810 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5811 (grub_loader_set): Rename second argument to flags.
5812
851ffada
VS
58132012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5816 written bytes.
5817 (grub_get_num_of_utf8_bytes): New function.
5818 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5819 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5820 executing it.
5821 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5822 (grub_ucs4_to_utf8): Change return type.
5823
491c57a8
VS
58242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5827 warning.
851ffada
VS
5828 * grub-core/fs/bfs.c (hop_level): Likewise.
5829 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5830
756773df
VS
58312012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * grub-core/lib/adler32.c: Recode due to license unclearness.
5834
fd556a96
VS
58352012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5838 (test_header): Likewise.
5839
9f9d3f69
VS
58402012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 Fix --help formatting.
5843
5844 * util/grub-mkconfig_lib.in (print_option_help): New function.
5845 (grub_fmt): Likewise.
5846 * util/grub-install.in: Use print_option_help and grub_fmt.
5847 * util/grub-kbdcomp.in: Likewise.
5848 * util/grub-mkconfig.in: Likewise.
5849 * util/grub-mknetdir.in: Likewise.
5850 * util/grub-mkrescue.in: Likewise.
5851 * util/grub-mkstandalone.in: Likewise.
5852 * util/grub-reboot.in: Likewise.
5853 * util/grub-set-default.in: Likewise.
5854 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5855
561ec77e
VS
58562012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * linguas.sh: Remove autogenerated *.po.
5859
7ec2b021
VS
58602012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * po/README: Move language fetcing to ...
5863 * linguas.sh: ... here.
5864 * po/README: Point to linguas.sh.
5865
a88f3270
VS
58662012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * po/README: Exclude ko.po due to disclaimer problems.
5869
d61357ce
VS
58702012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5873 len = 0.
5874 (grub_gettext_translate_real): Handle 0th string.
5875 (grub_gettext_translate): Ensure that "" isn't translated.
5876
505e41dc
VS
58772012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5880 TRANSLATORS comment.
5881 (grub_diskfilter_print_partmap): Propagate changing of error into
5882 warning.
5883
e44092db
VS
58842012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5887 to uint64_t to prevent overflow.
5888 (grub_diskfilter_lv): Increase start_extent and extent_count
5889 to uint64_t to prevent overflow.
5890
9b83956a
VS
58912012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * configure.ac: Increase version.
5894
da0d5b3f
VS
58952012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5898
5899 * po/Rules-translit: New file.
5900 * po/arabic.sed: Likewise.
5901 * po/cyrillic.sed: Likewise.
5902 * po/greek.sed: Likewise.
5903 * po/hebrew.sed: Likewise.
5904 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5905 * po/Makefile.in.in: Add extra_dist4.
5906
ac66b453
VS
59072012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5910
5911 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5912 modify names. Introduce MODE_BIGENDIAN.
5913 * grub-core/fs/minix_be.c: New file.
5914 * grub-core/fs/minix2_be.c: Likewise
5915 * grub-core/fs/minix3_be.c: Likewise.
5916 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5917 minix3_be.
5918 * grub-core/Makefile.core.def (minix_be): New module.
5919 (minix2_be): Likewise.
5920 (minix3_be): Likewise.
5921
59222012-04-01 Felix <email@hamburg.de>
5923
5924 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5925 (devs): Add MBP 2011.
5926
0a2d5a82
VS
59272012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5930
d1625889
VS
59312012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/normal/cmdline.c (print_completion): New field
5934 prompt_len.
5935 (grub_cmdline_get): Handle width properly.
5936
6d36a236
VS
59372012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5940
9576977e
VS
59412012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5944 after 29th of February.
9576977e 5945
d73ff15d
VS
59462012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 Fix exfat endianness handling.
5949
5950 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5951 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5952 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5953 Byte-swap utf16 when necessary.
5954 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5955
bbb39a45
AB
59562012-03-31 Anton Blanchard <anton@samba.org>
59572012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 Fix btrfs endianness handling.
5960
5961 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5962 (lower_bound): Make root uint64_t. Use root in le.
5963 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5964 (find_path): Fix template key init.
5965 (grub_btrfs_dir): Fix mtime byteswap.
5966 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5967
354e0af7
VS
59682012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5971 recursion_depth. Break infinite resursions. All users updated.
5972
4e75f21c
VS
59732012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5976 after free.
5977 Reported by: Peter Jones.
5978
25581802
AB
59792012-03-31 Anton Blanchard <anton@samba.org>
5980
5981 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5982 8 bit values.
5983
08fbf92e
VS
59842012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * util/grub-install.in: Fix nvram call for PreP.
5987
5d1182a6
VS
59882012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5991 the error when some elements are missing into a warning.
5992
3f8cdd90
VS
59932012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5996
51006716
CW
59972012-03-28 Colin Watson <cjwatson@ubuntu.com>
5998
5999 * docs/grub.texi (Invoking grub-probe): New section.
6000 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6001
e1bd676b
VS
60022012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 Fix tab and wide character handling in editor and menu.
6005
6006 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6007 agglomerate control characters with combining marks.
6008 (bidi_line_wrap): Allow break on tab.
6009 (grub_unicode_get_comb_start): New function.
6010 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6011 and tab correctly.
6012 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6013 with a space.
6014 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6015 fixed_tab_size. All users updated.
6016 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6017 (grub_term_getcharwidth): Handle \t.
6018 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6019 and copy.
6020
22e6a774
VS
60212012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 Handle big-endian mdraid.
6024
6025 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6026 * grub-core/Makefile.core.def (mdraid09_be): New module.
6027 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6028 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6029 * grub-core/disk/mdraid_linux_be.c: New file.
6030
3c0eae66
VS
60312012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6034
b6cf74c9
VS
60352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6038 missing quotes which caused confusion among translators.
6039
83c93b9c
VS
60402012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * util/grub-mkconfig_lib.in: Fix typo.
6043
ac6fd218
VS
60442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6047 spaces.
6048 * tests/grub_script_leading_whitespace.in: New file.
6049 * Makefile.util.def (grub_script_leading_whitespace): New test.
6050
ba287dd8
VS
60512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6054 to work.
6055
d2d58d0a
VS
60562012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6059 starts with control character.
6060
0382d9bb
VS
60612012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6064 overflow.
6065 (grub_gdb_outbuf): Likewise.
6066
d83ff9f9
VS
60672012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6070 zero terminator. Fixes a crash.
6071
2282da4a
VS
60722012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6075 beyond 4 GiB.
6076 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6077 images independently of preffered adderss field.
6078
0ae4f0bd
VS
60792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6082 * grub-core/commands/regexp.c: Likewise.
6083 * grub-core/loader/i386/linux.c: Likewise.
6084 * grub-core/partmap/msdos.c: Likewise.
6085 * grub-core/script/execute.c: Likewise.
6086 * grub-core/term/gfxterm.c: Likewise.
6087
546fbe9b
VS
60882012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 Add variable parsing in $"..." and fix several mismatches with bash.
6091
6092 * Makefile.util.def (grub_script_gettext): New test.
6093 * grub-core/script/execute.c (parse_string): New function.
6094 (gettext_append): Likewise.
6095 (grub_script_arglist_to_argv): Use gettext_append.
6096 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6097 * tests/grub_script_gettext.in: New file.
6098
9fdb2d7b
VS
60992012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 Fix handling of leading spaces in scripts.
6102
6103 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6104 spaces.
6105 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6106 other than skipping \r. All users updated.
6107 * tests/grub_script_echo1.in: Add space-related tests.
6108 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6109
1a1ac4f6
VS
61102012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6113
b63d89b6
VS
61142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * configure.ac: Bump up the version to beta2.
6117
17f38c0f
VS
61182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 Fix gettext reload bugs (e.g. inability to disable gettext
6121 once enabled).
6122
6123 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6124 main_context and secondary_context. All functions updated.
6125 (grub_gettext_translate): Rename to ...
6126 (grub_gettext_translate_real): ... this. Return NULL on failed
6127 translate.
6128 (grub_gettext_translate): Handle secondary context.
6129 (grub_gettext_delete_list): Close file and zero-out the context.
6130 (grub_mofile_open): Don't call grub_gettext_delete_list.
6131 Don't close file.
6132 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6133 if locale="" to avoid pointless error message.
6134 (grub_gettext_env_write_lang): Update lang even if load fails.
6135 Handle secondary context.
6136 (grub_gettext_reread_prefix): New function.
6137 (read_main): Likewise.
6138 (read_secondary): Likewise.
6139 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6140 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6141 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6142 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6143
8e56f870
VS
61442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * configure.ac: Decrease warning level to avoid spurious warnings and
6147 to be able to compile with GCC 4.2.
6148 * Makefile.util.def: Remove -Wno-error=logical-op.
6149
82f6d455
WB
61502012-03-10 William Bittner <william.bittner@gmail.com>
6151
6152 * util/import_unicode.py: Add missing brackets around string for
6153 python 3 support.
6154
1ecd61a4
VS
61552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Fix efi chainloader on network root.
6158
6159 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6160 network devices.
6161 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6162 New function.
6163
14361ee8
VS
61642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6167 unused show_text member.
6168 * docs/grub.texi: Document "text" property.
6169
922aabf3
VS
61702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6173 in dprintf.
6174
ec316771
VS
61752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Fix IMSM handling on Fedora.
6178
6179 * util/getroot.c (grub_util_is_imsm): New function.
6180 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6181
0f021838
VS
61822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * Makefile.am: Strip gold section.
6185 * conf/Makefile.common: Likewise.
6186 * gentpl.py: Likewise.
6187 * grub-core/Makefile.core.def: Likewise.
6188 * grub-core/genmod.sh.in: Likewise.
6189
1039c8eb
VS
61902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6193 * util/grub.d/20_linux_xen.in: Likewise.
6194 Based on Debian patch.
6195
6dd412cd
VS
61962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * util/grub.d/10_linux.in: Fix syntax error resulting in
6199 Richard Laager's patch.
6200 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6201
3fd8bae5
VS
62022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6205 dependencies.
6206
7eea1671
RL
62072012-03-10 Richard Laager <rlaager@wiktel.com>
6208
6209 * util/grub.d/10_linux.in: Fix ZFS root passing.
6210
e8e0566b
VS
62112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6214 * grub-core/commands/xnu_uuid.c: Likewise.
6215 * grub-core/loader/efi/appleloader.c: Likewise.
6216 * grub-core/script/execute.c: Likewise.
6217 * grub-core/script/main.c: Likewise.
6218 * util/grub-mkfont.c: Likewise.
6219
1acc5b1f
VS
62202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * util/grub-mkfont.c (options): Use more appropriate "select" that
6223 "set" for face index.
6224
35d70620
VS
62252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * util/grub-editenv.c (options): Gettextize command summaries.
6228
c9eb96b5
VS
62292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6232 "out of memory" error messagge.
6233
1f493136
VS
62342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6237 of diskfilter for diskfilter on diskfilter support.
6238
6d790129
VS
62392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6242
005f46c9
VS
62432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6246 themes/starfield.
6247
c8f778a0
VS
62482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6251
de1e64eb
VS
62522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6255
c6d54211
VS
62562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6259 of error message.
6260
dd390777
VS
62612012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6264
5fd1c522
VS
62652012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6268 message.
c6d54211 6269 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6270
fae01f6c
VS
62712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6274 Gettextize.
6275 * util/grub-mount.c (options): Likewise.
6276
292fdaff
VS
62772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6280 gettextize.
6281 * grub-core/commands/search_wrap.c (options): Likewise.
6282
ecdbae77
VS
62832012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6286
52bfedfa
VS
62872012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6290 size calculation.
6291 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6292 none is known.
6293
55b20e58
VS
62942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6297 "temporary" since it's used in identifier and is limited in space.
6298
fda9d101
VS
62992012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * po/POTFILES.in: Regenerate. Include *.h since they contain
6302 translatable strings as well.
6303
6a0295e2
VS
63042012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6307 byte-swap on big-endian.
6308 Reported by: Lennart Sorensen
6309
807fb77c
VS
63102012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6313 (allocate_pages): Improve dprintf.
6314 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6315 code32_start. Fill code32_start and kernel_alignment in params.
6316 (grub_cmd_initrd): Use prot_init_space.
6317
61ac50ba
VS
63182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6321
abdd26dd
VS
63222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * util/grub-install.in: Add missing dot at the end of sentence.
6325
6e69da9c
VS
63262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6329 * grub-core/commands/videotest.c: Likewise.
6330 * grub-core/loader/i386/linux.c: Likewise.
6331
4a929343
VS
63322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6335 sentence.
6336 Reported by: Milo Casagrande.
6337
bb51c6c6
VS
63382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6341 * grub-core/commands/gptsync.c: Likewise.
6342 * grub-core/commands/hashsum.c: Likewise.
6343 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6344 * grub-core/commands/legacycfg.c: Likewise.
6345 * grub-core/io/gzio.c: Likewise.
6346 * grub-core/net/net.c: Likewise.
6347 * grub-core/term/gfxterm.c: Likewise.
6348 * grub-core/term/terminfo.c: Likewise.
6349 * grub-core/tests/test_blockarg.c: Likewise.
6350 * grub-core/video/video.c: Likewise.
6351 * util/grub-install.in: Likewise.
6352 * util/grub-mkfont.c: Likewise.
6353
b2b149cb
VS
63542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6357
c7c080ad
VS
63582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6361 Reported by: David Prévot.
c7c080ad 6362
f2e243c0
VS
63632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6366 description.
6367
09963c76
VS
63682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * util/grub-script-check.c (main): Fix a syntax error message which was
6371 unclear.
6372
a50514a8
VS
63732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6376
4650daec
VS
63772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6380 messages.
6381
63822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6383
6384 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6385 without argument.
6386 * util/grub-mount.c (options): Likewise.
6387
bbc5a342
VS
63882012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6391
ef292a87
VS
63922012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * grub-core/net/http.c: Add TRANSLATORS comments.
6395 * grub-core/normal/cmdline.c: Likewise.
6396 * grub-core/normal/misc.c: Likewise.
6397 * grub-core/partmap/msdos.c: Likewise.
6398 * grub-core/parttool/msdospart.c: Likewise.
6399 * grub-core/script/execute.c: Likewise.
6400 * grub-core/script/main.c: Likewise.
6401 * grub-core/term/terminfo.c: Likewise.
6402 * grub-core/video/bitmap.c: Likewise.
6403 * util/grub-install.in: Likewise.
6404 * util/grub-mkimage.c: Likewise.
6405 * util/grub-mklayout.c: Likewise.
6406 * util/grub-setup.c: Likewise.
6407
0fc19bd0
VS
64082012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6411 with similar messages in grub-fstest.
6412
d95862ef
VS
64132012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * util/grub-install.in: Unify "option requires an argument" message
6416 with similar messages in other files.
6417 * util/grub-mkconfig.in: Likewise.
6418
b7308f90
VS
64192012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * util/grub-set-default.in: Replace printf with gettext_printf (the
6422 string in in question is already translated from grub-reboot)
6423
559dc587
VS
64242012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * configure.ac: Bump up the version to beta1.
6427
1a11761f
VS
64282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6431 case when min_align = 0.
6432
24539abd
VS
64332012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6436 and fix a case when line_start overflows.
6437
32bd735b
VS
64382012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * util/grub-reboot.in (usage): Mention id posibility.
6441 * util/grub-set-default.in (usage): Likewise.
6442
1a2fd1e6
VS
64432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6446 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6447 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6448 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6449 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6450 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6451 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6452
90eeab76
VS
64532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/commands/menuentry.c (options): Remove
6456 GRUB_ARG_OPTION_REPEATABLE.
6457 Reported by: Andreas Vogel
6458
5ad1be82
AV
64592012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6460
6461 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6462
cb055286
HE
64632012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6464
6465 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6466 error.
6467
93b1cd79
VS
64682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 Use sort -V by the idea of Georgi Georgiev.
6471
6472 * util/grub-mkconfig_lib.in (version_sort): New function.
6473 (version_test_numeric): Use version_sort.
6474
0cdc126c
VS
64752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 Use submenus in grub-mkconfig.
6478
6479 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6480 * util/grub-mkconfig_lib.in (grub_quote): New function.
6481 (gettext_printf): Use gettext and not gettext_quoted to fix several
6482 messages.
6483 * util/grub.d/10_hurd.in: Use submenus.
6484 * util/grub.d/10_kfreebsd.in: Likewise.
6485 * util/grub.d/10_linux.in: Likewise.
6486 * util/grub.d/10_netbsd.in: Likewise.
6487 * util/grub.d/20_linux_xen.in: Likewise.
6488 * util/grub.d/30_os-prober.in: Likewise.
6489 * util/grub.d/10_illumos.in: Add missing quoting.
6490 * util/grub.d/10_windows.in: Likewise.
6491
d9bef9bc
VS
64922012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 Fix menu title instability bug.
6495
6496 * grub-core/commands/menuentry.c (options): New option --id.
6497 (grub_normal_add_menu_entry): New argument id. All users updated.
6498 (grub_cmd_menuentry): Handle --id.
6499 (grub_menu_init): Accept unknown arguments.
6500 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6501 feature_menuentry_options.
6502 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6503 saved_entry.
6504 (get_entry_number): Match with id as well.
6505 * include/grub/menu.h (grub_menu_entry): New member id.
6506 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6507 * util/grub.d/00_header.in: Define menuentry_id_option.
6508 * util/grub.d/10_hurd.in: Define id.
6509 * util/grub.d/10_illumos.in: Likewise.
6510 * util/grub.d/10_kfreebsd.in: Likewise.
6511 * util/grub.d/10_linux.in: Likewise.
6512 * util/grub.d/10_netbsd.in: Likewise.
6513 * util/grub.d/10_windows.in: Likewise.
6514 * util/grub.d/20_linux_xen.in: Likewise.
6515 * util/grub.d/30_os-prober.in: Likewise.
6516
65172012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6518
6519 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6520 "scope" with "body".
6521
7c8d0ce7
VS
65222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6525 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6526 prot_size and prot_file_size.
6527
49de079b
VS
65282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6531 All users updated. If easily=1 require raid-5/-6 to be full.
6532 (is_node_readable): Likewise.
6533 (scan_devices): Scan incomplete but readable LVs at the end.
6534 (grub_diskfilter_memberlist): Pull missing devices.
6535 (insert_array): Skip scanning until device is complete or scan is
6536 done otherwise.
6537 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6538 check.
6539 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6540 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6541
aff05d45
MG
65422012-03-03 Matthew Garrett <mjg@redhat.com>
65432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 Avoid EFI boot services when loading Linux.
6546
6547 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6548 avoid_efi_bootservices. All users updated.
6549 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6550 argument avoid_efi_bootservices. All users updated.
6551 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6552 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6553 align, min_align, relocatable, prefered_address. All users updated.
6554 Allocate avoiding boot services if kernel is relocatable.
6555 (grub_cmd_linux): Check if kernel is relocatable.
6556 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6557 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6558 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6559 avoid_efi_boot_services.
6560 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6561 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6562 (linux_kernel_params): Likewise.
6563
3935dde2
MG
65642012-03-03 Matthew Garrett <mjg@redhat.com>
65652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 Use EDID on EFI.
6568
6569 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6570 datasize_out.
6571 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6572 modes. Set gop_handle.
6573 (grub_video_gop_get_edid): New function.
6574 (grub_gop_get_preferred_mode): Likewise.
6575 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6576 (grub_video_efi_gop_adapter): Set .get_edid.
6577 * include/grub/efi/edid.h: New file.
6578 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6579
32107ec0
VS
65802012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * util/grub-install.in: Load efivars unconditionally.
6583
e70a2c50
VS
65842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * po/Rules-piglatin: Change suffix from .po-update-en to
6587 .po-update-en-piglatin.
6588
8f9cace1
VS
65892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 Add a pig farm.
6592
6593 * po/piglatin.sed: New file.
6594 * po/en@piglatin.header: Likewise.
6595 * po/Rules-piglatin: Likewise.
6596 * po/README: Add en@piglatin to autogenerated languages.
6597
8f95d002
VS
65982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6601 "Command for ...".
6602 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6603 "Check" since we don't check anything.
6604 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6605 is 64-bit one.
6606 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6607 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6608 (grub_md_sha512_real): Likewise.
6609
805a8dcc
VS
66102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/commands/gptsync.c: Fix typographic quoting.
6613 * grub-core/commands/ieee1275/suspend.c: Likewise.
6614 * grub-core/commands/parttool.c: Likewise.
6615 * grub-core/commands/search_wrap.c: Likewise.
6616 * grub-core/commands/videoinfo.c: Likewise.
6617 * grub-core/gfxmenu/gui_label.c: Likewise.
6618 * grub-core/hello/hello.c: Likewise.
6619 * grub-core/kern/emu/main.c: Likewise.
6620 * grub-core/net/net.c: Likewise.
6621 * grub-core/normal/menu.c: Likewise.
6622 * grub-core/normal/menu_text.c: Likewise.
6623 * grub-core/normal/misc.c: Likewise.
6624 * util/grub-editenv.c: Likewise.
6625 * util/grub-install.in: Likewise.
6626 * util/grub-kbdcomp.in: Likewise.
6627 * util/grub-mkconfig.in: Likewise.
6628 * util/grub-mknetdir.in: Likewise.
6629 * util/grub-mkrescue.in: Likewise.
6630 * util/grub-mkstandalone.in: Likewise.
6631 * util/grub-reboot.in: Likewise.
6632 * util/grub-set-default.in: Likewise.
6633 * util/grub-setup.c: Likewise.
6634 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6635
40211ab8
VS
66362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6639 * grub-core/commands/keystatus.c: Likewise.
6640 * grub-core/commands/loadenv.c: Likewise.
6641 * grub-core/commands/probe.c: Likewise.
6642 * grub-core/commands/regexp.c: Likewise.
6643 * grub-core/commands/true.c: Likewise.
6644 * grub-core/commands/videoinfo.c: Likewise.
6645 * grub-core/disk/cryptodisk.c: Likewise.
6646 * grub-core/disk/ldm.c: Likewise.
6647 * grub-core/disk/loopback.c: Likewise.
6648 * grub-core/disk/luks.c: Likewise.
6649 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6650 * grub-core/kern/disk.c: Likewise.
6651 * grub-core/kern/emu/hostdisk.c: Likewise.
6652
0c7d99c7
VS
66532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6656 * util/grub-install.in: Add missing quote in the comment.
6657
e7d2559b
VS
66582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6661 * grub-core/commands/lsmmap.c: Likewise.
6662 * grub-core/commands/minicmd.c: Likewise.
6663 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6664 * grub-core/commands/regexp.c: Likewise.
6665 * grub-core/gdb/gdb.c: Likewise.
6666 * grub-core/term/gfxterm.c: Likewise.
6667 * util/grub-mkconfig.in: Likewise.
6668 * util/grub-mkfont.c: Likewise.
6669 * util/grub-mklayout.c: Likewise.
6670 * util/grub-mknetdir.in: Likewise.
6671 * util/grub-mkrescue.in: Likewise.
6672 * util/grub.d/30_os-prober.in: Likewise.
6673
49ce9e50
VS
66742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6677 with "Direct color" and "Packed" with "Packed pixel".
6678 (grub_cmd_videoinfo): Simplify legend.
6679
e4b791fa
VS
66802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6683 absolutely unclear error message.
6684
fd1265cb
VS
66852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * util/grub-mkstandalone.in: Remove confusing leftover print.
6688
8822a8a0
VS
66892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6692 comments.
6693 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6694 (GRUB_MOD_INIT): Likewise.
6695 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6696 VGA mode.
6697 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6698 comments.
6699 * util/grub-install.in (usage): Likewise.
6700 Spell ID in whole letters.
6701 Add missing ending dot.
6702 Quote variables.
6703 * util/grub-reboot.in: Fix capitalisation.
6704 * util/grub-set-default.in: Likewise.
6705
937fd0cc
VS
67062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6709 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6710 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6711 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6712 Disable -Werror for -Wdeprecated-declarations.
6713 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6714 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6715 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6716 (grub_util_get_grub_dev): Make luks handling dependent on
6717 HAVE_DEVICE_MAPPER and not __linux__.
6718 (get_win32_path): Fix format security.
6719 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6720 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6721 Don't try grub_find_zpool_from_dir.
6722 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6723 #ifdef-out paresdir.
6724
1bab1ae3
VS
67252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * util/grub-pe2elf.c (usage): Add missing noreturn.
6728 (write_section_data): Rename name to shname to avoid shadowing.
6729 (write_symbol_table): Rename name to symname to avoid shadowing.
6730 Fix write_reloc_section call.
6731
ef023e42
VS
67322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6735 to ensure that it's after the last byte of .text.
6736
48afcb75
VS
67372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * util/ieee1275/ofpath.c (my_isdigit): New function.
6740 (trailing_digits): Use my_isdigit.
6741 (strip_trailing_digits): Likewise.
6742
88d51eff
VS
67432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6746 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6747
17edc2ba
VS
67482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/kern/i386/pc/startup.S: Define __start.
6751
ad5518d7
VS
67522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6755 strip already transforms he format.
6756
9e95e1bf
VS
67572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6760
9cc3ee5c
VS
67612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * util/grub-install.in: Add missing gettext init.
6764 * util/grub-kbdcomp.in: Likewise.
6765 * util/grub-mkconfig.in: Likewise.
6766 * util/grub-mknetdir.in: Likewise.
6767 * util/grub-mkrescue.in: Likewise.
6768 * util/grub-mkstandalone.in: Likewise.
6769 * util/grub-reboot.in: Likewise.
6770 * util/grub-set-default.in: Likewise.
6771 * util/grub.d/00_header.in: Likewise.
6772 * util/grub.d/10_hurd.in: Likewise.
6773 * util/grub.d/10_windows.in: Likewise.
6774 * util/grub.d/30_os-prober.in: Likewise.
6775 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6776
49e08a06
VS
67772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * po/Rules-swiss: Fix header comment.
6780
3809cb41
AV
67812012-02-29 Andreas Vogel <anvoit>
6782
6783 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6784 resulted in leak of arguments.
6785
fa6ec573
VS
67862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6789 reed_solomon_size const definition instead of computing it since
6790 Apple assembler doesn't support the later.
6791
22899b9c
VS
67922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * gentpl.py (kernel): Rewrite Apple part.
6795
a132afc3
VS
67962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6799
9d742bd4
VS
68002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6803 ELF section gap.
6804 (load_image): Likewise.
6805
f04a9a21
VS
68062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * configure.ac: Fix a typo in previous commit.
6809
46cf439c
VS
68102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 Don't add -Wl,-N on Apple platform.
6813
6814 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6815 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6816
c4c48c54
VS
68172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/Makefile.core.def (lzma_decompress): Use
6820 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6821
31a12124
VS
68222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/genmod.sh.in: Rewrite the Apple part.
6825
4f3aa1af
VS
68262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6829 comparison.
6830
7bd8b0c7
VS
68312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * acinclude.m4 (grub_CHECK_PIC): New test.
6834 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6835
97304d7c
VS
68362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6839 to avoid the warning.
6840
fb883812
VS
68412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6844 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6845 after. All users updated.
6846
a121c964
VS
68472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 Use the common size routine in hostfs so we can read disks as well.
6850
6851 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6852 (grub_util_get_fd_size): ... this. Return size in bytes.
6853 All users updated.
6854 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6855 grub_util_get_fd_size.
6856
c66d6410
VS
68572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6860 Add blocksize retrieval.
6861
dfc8aeb0
VS
68622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * configure.ac: Restore CFLAGS after efiemu check.
6865
403e25a5
VS
68662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6869 Apple bug.
6870
382775d1
VS
68712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6874
6fd4e6e4
VS
68752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6878 (grub_cmd_halt): Likewise.
6879
bea359d6
VS
68802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6883 for local arithmetics.
6884 Break %sp init into 2 instructions.
6885 Add 0 byte at the end.
6886
32eb6ee1
VS
68872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6890 before loops.
6891
e8377389
VS
68922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6895 for context.
6896
8cb17de7
VS
68972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/disk/ldm.c (make_vg): Init part.name.
6900 (grub_ldm_detect): Silence spurious warning.
6901 (grub_util_is_ldm): Likewise.
6902
595717e6
VS
69032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6906 sane value to avoid a spurious warning.
6907
c4b7e588
VS
69082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6911 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6912
59824957
VS
69132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6916 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6917
70115b99
VS
69182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6921 hardcoding the relevant info.
6922
56733740
VS
69232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6926 missing const qualifiers.
6927 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6928
43481481
VS
69292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * util/getroot.c [__APPLE__]: Add missing includes.
6932 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6933
3cb38f01
VS
69342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6937
d9dbf11e
VS
69382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6941 avoid conflicts.
6942
0c42a45d
VS
69432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6946
46c34eb0
VS
69472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6950 and grub_file_close call.
6951
99ce1597
VS
69522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 Add LZSS Mach-O support (needed for new xnu kernelcache).
6955
6956 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6957 * grub-core/loader/lzss.c: New file.
6958 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6959 on Mach-O open failure.
6960 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6961 Don't free cmdsXX in uncompressedXX is set.
6962 (grub_macho_file): Init new fields.
6963 New argument is_64bit. All users updated.
6964 Handle compressed. Error out if no suitable architecture is found.
6965 Don't close file.
6966 (grub_macho_open): New argument is_64bit. All users updated.
6967 * grub-core/loader/macho32.c: Add defines for new fields.
6968 * grub-core/loader/macho64.c: Likewise.
6969 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6970 (grub_macho_parse): Handle compressed.
6971 Defer actual processing if compressed.
6972 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6973 "filename". All users updated.
6974 (grub_macho_size): New argument "filename". All users updated.
6975 (grub_macho_get_entry_point): Likewise.
6976 (grub_macho_load): Handle compressed.
6977 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6978 (GRUB_MACHO_LZSS_OFFSET): New define.
6979 (grub_decompress_lzss): New proto.
6980 * include/grub/machoload.h (grub_macho_file): New fields to handle
6981 compressed.
6982 (grub_macho_contains_macho64): Remove proto.
6983 (grub_macho_contains_macho32): Likewise.
6984 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6985
ebd17d6f
VS
69862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6989
2702b4e4
VS
69902012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 Fix make dist.
6993
6994 * Makefile.am (starfield_theme_files): New var.
6995 (starfield_DATA): Use starfield_theme_files.
6996 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6997 Add bootcheck-related files.
6998 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6999 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7000 and font_char_metrics.txt.
7001 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7002 (setjmp): Add lib/ia64/longjmp.S.
7003 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7004 * po/POTFILES.in: Regenerate.
7005 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7006 DISTFILES.common.extra1.
7007 * util/devicemap.c: Removed.
7008 * grub-core/lib/i386/relocator_backward.S: Likewise.
7009 * util/import_gcry.py: Remove unused files. Add extra_dist for
7010 ChangeLog.
7011
cf1adfdf
VS
70122012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7015 grub_gettext_delete_list before changing grub_gettext_max to avoid
7016 running out of array bounds.
7017
70182012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7019
7020 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7021 grub_vga_text_init/grub_vga_text_fini.
7022
cf1adfdf 70232012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7024
7025 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7026
541d92e9
VS
70272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * configure.ac: Bump to 2.00~beta0.
7030
7931dddf
VS
70312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7034 missing initialisation.
7035
f1b16fa3
VS
70362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7039
83ddae23
VS
70402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 Support v2 xnu boot arguments.
7043
7044 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7045 New argument fsbfreq_out.
7046 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7047 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7048 be used.
7049 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7050 darwin_version.
7051 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7052 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7053 (grub_xnu_boot_params): Rename to ...
7054 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7055 (grub_xnu_boot_params_v2): New struct.
7056
dc693fe6
VS
70572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7060 zeroing of CRC field before computing CRC.
7061
5a6e39c2
VS
70622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7065 Change order of allocations to decrease fragmentation.
7066
6c21f5d7
VS
70672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7070
cfe456dc
CW
70712012-02-27 Colin Watson <cjwatson@ubuntu.com>
7072
7073 Use write-combining MTRR to speed up video with buggy BIOSes.
7074
7075 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7076 (cpuid): New define.
7077 (rdmsr): Likewise.
7078 (wrmsr): Likewise.
7079 (mtrr_base): Likewise.
7080 (mtrr_mask): Likewise.
7081 (grub_vbe_enable_mtrr_entry): New function.
7082 (grub_vbe_enable_mtrr): Likewise.
7083 (grub_vbe_disable_mtrr): Likewise.
7084 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7085 control off to BIOS.
7086 (grub_video_vbe_init): Fill mtrr.
7087 (grub_video_vbe_fini): Disable mtrr.
7088 (grub_video_vbe_get_info_and_fini): Likewise.
7089 (grub_video_vbe_setup): Enable mtrr.
7090
e3c78337
CW
70912012-02-27 Colin Watson <cjwatson@ubuntu.com>
7092
7093 * include/grub/partition.h (grub_partition_map): Change prototype of
7094 embed to take a maximum value for nsectors.
7095 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7096 * include/grub/fs.h (grub_fs): Likewise.
7097 * grub-core/partmap/msdos.c (embed_signatures): New array.
7098 (pc_partition_map_embed): Check for and avoid sectors matching any
7099 of the signatures in embed_signatures, up to max_nsectors.
7100 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7101 returned sector map to max_nsectors.
7102 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7103 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7104 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7105 * util/grub-setup.c (setup): Allow for the embedding area being
7106 split into multiple blocklists. Tell dest_partmap->embed the
7107 maximum number of sectors we care about.
7108
71092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7112 Specify blocklist_install and reserver_first_sector for all fs.
7113 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7114 blocklists.
7115
984b973f
VS
71162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * util/grub-install.in: Clarify strings.
7119 Fix source dir check.
7120
f122e0d6
RL
71212012-02-27 Richard Laager <rlaager@wiktel.com>
7122
7123 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7124 "zfs" and "fuse.zfs" as synonyms.
7125
071114bb
VS
71262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * configure.ac: Put platform and target_cpu substitutions back since
7129 they are used for directories.
7130
817e6abc
RL
71312012-02-27 Richard Laager <rlaager@wiktel.com>
71322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7135 * util/grub.d/20_linux_xen.in: Likewise.
7136
897b7419
RL
71372012-02-27 Richard Laager <rlaager@wiktel.com>
7138
7139 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7140 with full paths.
7141
a414bd15
RL
71422012-02-27 Richard Laager <rlaager@wiktel.com>
7143
7144 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7145 unescape.
7146
30ac48c4
VS
71472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 Don't use insecure popen in getroot.
7150
7151 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7152 (exec_pipe): ... here.
7153 (find_root_devices_from_poolname): Use exec_pipe.
7154
53f13848
VS
71552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 Remove platform and target_cpu replacement.
7158
7159 * configure.ac: Remove platform and target_cpu substitutions.
7160 * tests/util/grub-shell.in: Use modinfo.
7161 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7162 explicitly.
7163
90cb2803
VS
71642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Autodetect platform in grub-install but allow override.
7167
7168 * util/grub-install.in: Autodetect platform. Support --target and
7169 --directory. Read platform from modinfo.sh.
7170
b9136427
VS
71712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 Support btrfs multi-volume probe.
7174
7175 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7176 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7177 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7178 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7179 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7180 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7181 grub_find_root_devices_from_btrfs if on btrfs.
7182
c36e5cd1
VS
71832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 Remove any awareness of *.c util files about target.
7186
7187 * Makefile.util.def (grub-setup): Split to ...
7188 (grub-bios-setup): ... and this.
7189 (grub-sparc64-setup): ... and this.
7190 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7191 * docs/man/grub-setup.h2m: Split into ...
7192 * docs/man/grub-sparc64-setup.h2m: ... this.
7193 * docs/man/grub-bios-setup.h2m: ... and this.
7194 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7195 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7196 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7197 (grub_target_addr_t): Remove.
7198 (grub_target_size_t): Remove.
7199 (grub_target_ssize_t): Remove.
7200 * util/grub-install.in: Use new grub-*-setup.
7201 * util/grub-mkimagexx.c (Elf_Word): New define.
7202 (Elf_Half): Likewise.
7203 (Elf_Section): Likewise.
7204 (ELF_ST_TYPE): Likewise.
7205 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7206 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7207
584b2f8a
VS
72082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 Replace grub_target_addr with more appropriate types.
7211
7212 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7213 grub_target_addr with grub_addr.
7214 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7215 grub_target_addr with grub_port.
7216 (grub_cmd_write): Likewise.
7217 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7218 grub_target_addr with grub_addr.
7219 (grub_cmd_write): Likewise.
7220 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7221
5a0dc6fb
VS
72222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7225 const qualifier for vendor_guid.
7226
786aff6e
VS
72272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7230 const qualifier.
7231 (efiemu_memequal): Likewise.
7232 (find_variable): Likewise.
7233
49017b17
VS
72342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 Fix missing console prototype on qemu-mips.
7237
7238 * include/grub/mips/qemu_mips/console.h: New file.
7239
c5988629
MG
72402012-02-27 Matthew Garrett <mjg@redhat.com>
72412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7244 * include/grub/efi/efi.h: Likewise.
7245 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7246 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7247 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7248 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7249 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7250 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7251
e33f8d69
MG
72522012-02-27 Matthew Garrett <mjg@redhat.com>
7253
7254 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7255
fb312cd9
VS
72562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7259 error.
7260
7134247c
VS
72612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * configure.ac: Remove inappropriate use of program_transform_name
7264 on grubdir and bootdir but allow explicit specification of those
7265 variables.
7266
6a313124
VS
72672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * util/grub-mknetdir.in (grub_prefix): Removed.
7270 (subdir): Use @bootdirname@ and @grubdirname@.
7271
2311c5ca
VS
72722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7275
7d5d60f7
VS
72762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * po/POTFILES.in: Regenerated.
7279
8151bc82
VS
72802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 Remove improper use of program_transform_name on pkglibrootdir.
7283
7284 * configure.ac (pkglibrootdir): Removed.
7285 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7286 * util/grub-mkimage.c: Likewise.
7287
b4a6a533
VS
72882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7291 warning.
7292
668f304f
VS
72932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * util/grub-install.in: Use file identifier if no UUID is available
7296 or user explicitly prompted for it.
7297
665f2341
NP
72982012-02-27 Navdeep Parhar <nparhar@gmail.com>
7299
7300 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7301 (freebsd_get_zfs): New function.
7302 (grub_freebsd_boot): Pass zfs UUID.
7303 (grub_cmd_freebsd): Set zfs UUID.
7304
8151bc82 73052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7306
7307 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7308 pkglibrootdir.
7309
e4c498a1
MG
73102012-02-27 Mike Gilbert <floppym@gentoo.org>
7311
7312 Add configure flag to control libzfs integration.
7313
7314 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7315
1e9a9a3f
VS
73162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7319 device.
7320 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7321 small devices.
7322
036985b8
VS
73232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7326 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7327 be used on non-modules.
7328
7329 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7330 Rename to grub_boot_init.
7331 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7332 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7333 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7334 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7335 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7336 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7337 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7338 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7339 includes.
7340 (grub_machine_init): Remove empty inits.
7341 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7342 includes.
7343 (grub_machine_init): Remove empty inits.
7344 * grub-core/term/arc/console.c: Remove explicit proto.
7345 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7346 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7347 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7348 grub_at_keyboard_fini.
7349 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7350 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7351 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7352 grub_gfxterm_fini.
7353 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7354 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7355 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7356 grub_vgatext_fini.
7357 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7358 * grub-core/term/serial.c (GRUB_MOD_INIT)
7359 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7360 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7361 grub_serial_fini.
7362 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7363 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7364 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7365 grub_terminfo_fini.
7366 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7367 (GRUB_MOD_FINI): Likewise.
7368 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7369 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7370 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7371 grub_video_radeon_fuloong2e_fini.
7372 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7373 [LOONGSON]: Rename to grub_video_sis315pro_init.
7374 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7375 grub_video_sis315pro_fini.
7376 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7377 [LOONGSON]: Rename to grub_video_sm712_init.
7378 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7379 grub_video_sm712_fini.
7380 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7381 (grub_at_keyboard_fini): Likewise.
7382 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7383 Don't declare grub_{modname}_init.
7384 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7385 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7386 New proto.
7387 (grub_keylayouts_fini) [!EMU]: Likewise.
7388 * include/grub/serial.h (grub_serial_init) [!EMU]:
7389 New proto.
7390 (grub_serial_fini) [!EMU]: Likewise.
7391 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7392 New proto.
7393 (grub_terminfo_fini) [!EMU]: Likewise.
7394 * include/grub/video.h (grub_font_init) [!EMU]:
7395 New proto.
7396 (grub_font_fini) [!EMU]: Likewise.
7397 (grub_gfxterm_init) [!EMU]: Likewise.
7398 (grub_gfxterm_fini) [!EMU]: Likewise.
7399 (grub_video_sm712_init) [!EMU]: Likewise.
7400 (grub_video_sm712_fini) [!EMU]: Likewise.
7401 (grub_video_sis315pro_init) [!EMU]: Likewise.
7402 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7403 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7404 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7405
d5534665
VS
74062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 Make nand a prefix for nand devices.
7409
7410 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7411
10133b5f
VS
74122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7415 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7416
8e307a62
VS
74172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * include/grub/env.h (grub_env_find): Remove prototype.
7420 * grub-core/kern/env.c (grub_env_find): Make static.
7421 (grub_env_set): Remove useless set.
7422
a4c65f34
VS
74232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * grub-core/kern/i386/realmode.S: Remove useless align.
7426
d87893d5
VS
74272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * include/grub/dl.h (grub_dl_load_file): Don't export.
7430
50159add
VS
74312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7434 grub_dprintf.
7435
b2582b84
VS
74362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7439 grub_errors.
7440 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7441 not reloading whole superblock but only the part which is really needed.
7442 Remove useless grub_errors.
7443 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7444 grub_errors.
7445
e2a83395
VS
74462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 Don't export grub_get_rtc.
7449
7450 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7451 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7452
e7d2a906
VS
74532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7456
6cf1363b
VS
74572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7460 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7461
eece3349
VS
74622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 Remove prio_list.
7465
7466 * include/grub/list.h (grub_prio_list): Removed.
7467 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7468 GRUB_COMMAND_PRIO_MASK.
7469 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7470 GRUB_COMMAND_FLAG_ACTIVE.
7471 (grub_prio_list_insert): Removed.
7472 (grub_prio_list_remove): Likewise.
7473 (GRUB_AS_PRIO_LIST): Likewise.
7474 (GRUB_AS_PRIO_LIST_P): Likewise.
7475 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7476 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7477 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7478 * grub-core/kern/command.c (grub_register_command_prio): Inline
7479 the prio_list code.
7480 (grub_unregister_command): Likewise.
7481
94f064b4
VS
74822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 Fix interrupt mixup from previous commit.
7485
7486 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7487 (grub_realidt): New var.
7488 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7489 Load idt.
7490 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7491 New declaration.
7492 (grub_relocator16_boot): Set grub_relocator16_idt.
7493 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7494 (LOCAL(realidt)): ... this.
7495 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7496 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7497 (grub_realidt): New variable.
7498
27317084
VS
74992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7502 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7503 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7504 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7505 Gettextize.
7506 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7507 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7508 * po/POTFILES.in: Regenerate.
7509
47b40053
VS
75102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7513 errors.
7514
2b343101
VS
75152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7518 \0.
7519 (add_length): Likewise.
7520
ff27c3dd
LK
75212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
75222012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7523
7524 GDB serial and backtrace support.
7525
7526 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7527 (prot_to_real): Likewise.
7528 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7529 * grub-core/Makefile.core.def (backtrace): New module.
7530 (gdb): Likewise.
7531 * grub-core/gdb/cstub.c: New file.
7532 * grub-core/gdb/gdb.c: Likewise.
7533 * grub-core/gdb/i386/idt.c: Likewise.
7534 * grub-core/gdb/i386/machdep.S: Likewise.
7535 * grub-core/gdb/i386/signal.c: Likewise.
7536 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7537 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7538 * include/grub/backtrace.h: Likewise.
7539 * include/grub/gdb.h: Likewise.
7540 * include/grub/i386/gdb.h: Likewise.
7541
75422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7543
7544 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7545 New function.
7546 (add_length): Likewise.
7547 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7548 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7549 proto.
7550 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7551 __argp_get_display_len.
7552
ff27c3dd 75532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7554
7555 $"..." support in scripts.
7556
7557 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7558 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7559 * grub-core/script/yylex.l: Likewise.
7560 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7561 value.
7562
ff27c3dd 75632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7564
7565 * gentpl.py: Remove obsolete pkglib_DATA handling.
7566
ff27c3dd 75672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7568
7569 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7570 mailing list.
7571
7572 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7573 * util/grub-kbdcomp.in: Likewise.
7574 * util/grub-mkconfig.in: Likewise.
7575 * util/grub-mkconfig_lib.in: Likewise.
7576 * util/grub-mknetdir.in: Likewise.
7577 * util/grub-mkrescue.in: Likewise.
7578 * util/grub-mkstandalone.in: Likewise.
7579 * util/grub-reboot.in: Likewise.
7580 * util/grub-set-default.in: Likewise.
7581 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7582
ff27c3dd 75832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7584
7585 Remove GRUB_PREFIX.
7586
7587 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7588 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7589 used for backward compatibility.
7590
ff27c3dd 75912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7592
7593 Add new all_video module.
7594
7595 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7596 * grub-core/Makefile.core.def (all_video): New module.
7597 * grub-core/genmoddep.awk: Generate dependency of all_video from
7598 video.lst.
7599 * grub-core/lib/fake_module.c: New file.
7600 * grub-core/normal/main.c (features): Add feature_all_video_module.
7601 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7602 don't do explicit search again.
47454da5 7603 insmod all_video in load_video if available.
22c7ce85 7604
ff27c3dd 76052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7606
7607 Another round of string clarification and adding TRANSLATORS comments.
7608
ff27c3dd 76092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7610
7611 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7612
ff27c3dd 76132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7614
7615 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7616 to grub_ssize_t.
7617 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7618 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7619
ff27c3dd 76202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
7621
7622 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7623 trailing newline implicitly. All users updated.
7624
ff27c3dd 76252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
7626
7627 Implement serial on IEEE1275 and EFI.
7628
7629 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7630 on emu. Mention arc and emu as the only platforms without serial
7631 support.
7632 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7633 ieee1275 platforms.
7634 * grub-core/term/efi/serial.c: New file.
7635 * grub-core/term/ieee1275/serial.c: Likewise.
7636 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7637 specification if no ns8250 driver is available.
7638 (grub_cmd_serial): Likewise.
7639 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7640 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7641 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7642 (grub_efi_parity_type_t): New type.
7643 (grub_efi_stop_bits_t): Likewise.
7644 (grub_efi_serial_io_interface): New struct.
7645 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7646 available for all interfaces.
7647 Add EFI and IEEE1275 fields.
7648 (grub_ofserial_init): New proto.
7649 (grub_efiserial_init): Likeiwse.
7650 * util/grub.d/00_header.in: Don't check for the presence of serial
7651 module.
7652
ff27c3dd 76532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
7654
7655 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7656 name as if it was an alias.
7657
114076ef
VS
76582012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * grub-core/commands/lsacpi.c (options): Fix typo.
7661
6a656b0e
VS
76622012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 Convert grub-emu to argp.
7665
7666 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7667 emu.
7668 * util/argp_common.c: Rename to ...
7669 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7670 Add missing includes.
7671 * grub-core/kern/emu/main.c: Convert to argp.
7672 * po/POTFILES.in: Regenerate.
7673 * util/grub-install.in (usage): Make first letter lowcase in messages
7674 for uniformity.
7675 * util/grub-setup.c (options): Likewise.
7676
1e3f8ae8
VS
76772012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7680 Put back accidently commented-out code.
7681
ed167a80
VS
76822012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7685 loop check using Brent algorithm.
7686 (grub_hfsplus_btree_search): Likewise.
7687
6753c0ec
VS
76882012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * util/grub-install.in: Fix usage of wrong device for PreP install.
7691
4e27343f
VS
76922012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * conf/Makefile.common (CFLAGS_GNULIB): Add
7695 -Wno-unsafe-loop-optimizations.
7696 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7697 on tools.
7698 * grub-core/commands/legacycfg.c: Add pragma to skip
7699 -Wunsafe-loop-optimizations.
7700 (check_password_md5_real): Fix loop counter type.
7701 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7702 reading.
7703 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7704 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7705 loop condition.
7706 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7707 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7708 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7709 condition.
7710 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7711 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7712 avoid possible infinite loops.
7713 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7714 and -Wunsafe-loop-optimizations.
7715 * grub-core/script/yylex.l: Likewise.
7716 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7717 (print_glyphs): Avoid infinite loops.
7718 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7719
697f18b0
GS
77202012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7721
7722 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7723 to avoid infinite loop.
7724 (disp_acpi_rsdt_table): Likewise.
7725
274416e8
VS
77262012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * grub-core/font/font.c (grub_font_load): Add support for default
7729 path for fonts ($prefix/fonts).
7730 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7731 for checking if string is a path.
7732 * grub-core/normal/main.c (features): Add feature_default_font_path.
7733 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7734 * util/grub.d/00_header.in: Use default directory if possible.
7735 * util/grub-install.in: Install unicode.pf2.
7736
b3e08622
VS
77372012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7740 * po/Rules-swiss: New file.
7741 * po/swiss.sed: Likewise.
7742
fe42ce09
VS
77432012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/fs/btrfs.c (find_device): Fix typos.
7746 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7747 * util/grub-mkrelpath.c (argp_parser): Likewise.
7748 Reported by: Yuri Chornoivan.
7749
72f1d065
DO
77502012-02-23 Dalet Omega <daletomega@gmail.com>
7751
7752 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7753 for usual informative messages.
7754
c5884973
DO
77552012-02-23 Dalet Omega <daletomega@gmail.com>
7756
7757 Starfield theme.
7758
7759 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7760 * conf/Makefile.common: Define starfielddir.
7761 * configure.ac: Configure starfield.
7762 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7763 * themes/starfield/README: Likewise.
7764 * themes/starfield/blob_w.png: Likewise.
7765 * themes/starfield/boot_menu_c.png: Likewise.
7766 * themes/starfield/boot_menu_e.png: Likewise.
7767 * themes/starfield/boot_menu_n.png: Likewise.
7768 * themes/starfield/boot_menu_ne.png: Likewise.
7769 * themes/starfield/boot_menu_nw.png: Likewise.
7770 * themes/starfield/boot_menu_s.png: Likewise.
7771 * themes/starfield/boot_menu_se.png: Likewise.
7772 * themes/starfield/boot_menu_sw.png: Likewise.
7773 * themes/starfield/boot_menu_w.png: Likewise.
7774 * themes/starfield/slider_c.png: Likewise.
7775 * themes/starfield/slider_n.png: Likewise.
7776 * themes/starfield/slider_s.png: Likewise.
7777 * themes/starfield/src/blob_nw.xcf: Likewise.
7778 * themes/starfield/src/bootmenu/: Likewise.
7779 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7780 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7781 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7782 * themes/starfield/src/slider_c.xcf: Likewise.
7783 * themes/starfield/src/slider_n.xcf: Likewise.
7784 * themes/starfield/src/slider_s.xcf: Likewise.
7785 * themes/starfield/src/terminalbox/: Likewise.
7786 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7787 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7788 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7789 * themes/starfield/starfield.png: Likewise.
7790 * themes/starfield/terminal_box_c.png: Likewise.
7791 * themes/starfield/terminal_box_e.png: Likewise.
7792 * themes/starfield/terminal_box_n.png: Likewise.
7793 * themes/starfield/terminal_box_ne.png: Likewise.
7794 * themes/starfield/terminal_box_nw.png: Likewise.
7795 * themes/starfield/terminal_box_s.png: Likewise.
7796 * themes/starfield/terminal_box_se.png: Likewise.
7797 * themes/starfield/terminal_box_sw.png: Likewise.
7798 * themes/starfield/terminal_box_w.png: Likewise.
7799 * themes/starfield/theme.txt: Likewise.
7800
17d73325
VS
78012012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * util/grub.d/00_header.in: Add missing export theme.
7804
dbebaf92
VS
78052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7808 already included.
7809 Reported by: Eren D.
7810
3d68bffb
VS
78112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * conf/Makefile.common (grubdatadir): Removed.
7814 (Makefile.am): Move eveything grubdata to pkgdata.
7815
4b59234d
VS
78162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * grub-core/commands/acpihalt.c (get_sleep_type):
7819 Remove unused variable.
7820
463dcadc
VS
78212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7824 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7825 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7826 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7827 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7828 i18n with gettext no-op.
7829 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7830 GRUB_ACPI_OPCODE_STRING_CONST.
7831 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7832 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7833
e5b90c82
VS
78342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * po/POTFILES.in: Regenerate.
7837
2a704ca9
VS
78382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7841 -Wno-error=missing-noreturn.
7842
84f9d341
VS
78432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7846 condition to avoid possibly infinite loops.
7847 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7848 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7849
d46683f9
VS
78502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7853 condition to avoid possibly infinite loops.
7854
c44866b2
VS
78552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7858 on show_error.
7859
96790539
VS
78602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7863
1ba7e295
VS
78642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7867
21ffe8f1
VS
78682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * util/bin2h.c (usage): Add missing attribute noreturn.
7871
0ccb6b3c
VS
78722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7875 if the size isn't divisible by 512.
7876
b00d7fb6
VS
78772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Make list_push and list_remove functions rather than inline functions
7880 to decrease size and avoid aliasing violations.
7881
7882 * include/grub/list.h (grub_list_push): Move to ...
7883 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7884 * include/grub/list.h (grub_list_remove): Move to ...
7885 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7886
9d369087
VS
78872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7890 and -Wunused-result.
7891
af0250d9
VS
78922012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7895 Reported by: Seth Goldberg
7896
aad32b14
VS
78972012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7900
ac96441c
ST
79012012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7902
7903 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7904 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7905 command line.
7906 * docs/grub.texi (Simple configuration): Document
7907 GRUB_CMDLINE_GNUMACH.
7908
79092012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7910
7911 * conf/Makefile.common (platform_SCRIPTS): New variable.
7912 (platform_PROGRAMS): Likewise.
7913 * gentpl.py: Mark *,module and *.image for install.
7914 * grub-core/gdb_grub.in: Add a notice of expected environment.
7915 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7916 (gmodule.pl): Likewise.
7917
ac96441c 79182012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7919
7920 Replace grub_checkkey with grub_getkey_noblock.
7921
7922 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7923 (grub_getkey_noblock): ... this. All users updated.
7924
ac96441c 79252012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7926
7927 * grub-core/kern/emu/console.c: Move to ...
7928 * grub-core/term/emu/console.c: ...here.
7929 (grub_ncurses_getkey): Fix return value if no key is detected.
7930
e51b5666
VS
79312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7934 (grub_unit_test_fini): Likewise.
7935 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7936
79372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * include/grub/test.h (GRUB_UNIT_TEST)
7940
d9a62292
VS
79412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7944 Better error handling.
7945 (grub_script_return): Likewise.
7946 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7947
77c9182f
VS
79482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7951 rimplicit redifinition.
7952
edb13cf9
VS
79532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7956 GRUB.
7957
a9e9dc7c
VS
79582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7961 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7962 prompt here.
7963
b4ba8e02
VS
79642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7967 as GRUB_ERR_BUG. Don't malloc if no device is available.
7968
dded5540
VS
79692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7972 Mark calling with invalid term as GRUB_ERR_BUG.
7973
0cf69874
VS
79742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7977 packets rather than raising an error.
7978
59bfe502
VS
79792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7982 in if.
7983
db5fc596
VS
79842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7987 diagnostic to dprintf.
7988 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7989
e4b7f404
VS
79902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7993 device name.
7994
e7b02f9e
VS
79952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7998 (grub_ntfs_iterate_dir): Likewise.
7999
0331e102
VS
80002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 Efiemu stylistic fixes and gettext.
8003
8004 * grub-core/efiemu/i386/loadcore32.c
8005 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8006 * grub-core/efiemu/i386/loadcore64.c
8007 (grub_arch_efiemu_relocate_symbols64): Likewise.
8008 * grub-core/efiemu/i386/pc/cfgtables.c
8009 (grub_machine_efiemu_init_tables): Likewise.
8010 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8011 (grub_efiemu_loadcore_initXX): Add a filename argument.
8012 All users updated.
8013 Improved error message.
8014 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8015 Add a filename argument.
8016 All users updated.
8017 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8018 Reclassify double relocation as GRUB_ERR_BUG.
8019
306fc074
VS
80202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8023 handling.
8024
794d8ef2
VS
80252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8028 on partition.
8029
80302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8031
8032 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8033
794d8ef2 80342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8035
8036 Improve string. Gettextize.
8037
78dde88e
VS
80382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8041 utils.
8042 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8043
4786a90f
VS
80442012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8045
8046 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8047 [GRUB_UTIL]: New function.
8048 (insert_array) [GRUB_UTIL]: Store partmaps.
8049 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8050 partmaps.
8051 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8052 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8053 (probe_abstraction): Print diskfilter and not raid.
8054 Reported by: Lennart Sorensen
8055
0b6225bd
VS
80562012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8059 * util/grub-mkimagexx.c (MASK3): New define.
8060 (add_value_to_slot_20b): Use MASK3.
8061 (add_value_to_slot_21): Likewise.
8062 (relocate_addresses): Fix format specification.
8063 (load_image): Explicitly init symtab_section.
8064
b055f8f6
VS
80652012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8068 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8069
b77c2fb7
VS
80702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8073 on powerpc.
8074 Reported by: Lennart Sorensen
8075
e3ec28ab
VS
80762012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * gentpl.py: Add missing license header.
8079 * docs/grub.texi: Update copyright year.
8080
c8d9ead6
GS
80812012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8082
8083 Source grub-mkconfig_lib from the build directory at build time.
8084 Suggested by: Vladimir Serbinenko.
8085
8086 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8087 * util/grub-install.in: Define pkgdatadir if not already set, and source
8088 grub-mkconfig_lib from there.
8089 * util/grub-kbdcomp.in: Likewise.
8090 * util/grub-mkconfig.in: Likewise.
8091 * util/grub-mknetdir.in: Likewise.
8092 * util/grub-mkrescue.in: Likewise.
8093 * util/grub-mkstandalone.in: Likewise.
8094 * util/grub-reboot.in: Likewise.
8095 * util/grub-set-default.in: Likewise.
8096 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8097
ebcecdf1
VS
80982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 Increase warning level.
8101
8102 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8103 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8104 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8105 (TARGET_CFLAGS): Likewise.
8106 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8107 * grub-core/Makefile.core.def (decompressor_xz): Add
8108 -Wno-unreachable-code.
8109 (normal): Add -Wno-redundant-decls.
8110 (xzio): Add -Wno-unreachable-code.
8111 (lzopio): Add -Wno-redundant-decls -Wno-error.
8112 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8113 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8114 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8115 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8116 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8117 * grub-core/kern/i386/coreboot/init.c: Add exception to
8118 -Wsuggest-attribute=noreturn.
8119 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8120 * grub-core/kern/ia64/dl_helper.c: Likewise.
8121 * grub-core/kern/mips/dl.c: Likewise.
8122 * grub-core/kern/sparc64/dl.c: Likewise.
8123 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8124 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8125 (memcmp): Likewise.
8126 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8127 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8128 * grub-core/loader/mips/linux.c: Likewise.
8129 * grub-core/loader/multiboot_elfxx.c: Likewise.
8130 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8131 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8132 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8133 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8134 fixme.
8135 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8136 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8137 Fix prototype.
8138
37bb97fe
VS
81392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8142 address.
8143
29a3550b
VS
81442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8147 Avoid improper use of strings.
8148 (grub_cmd_legacy_initrdnounzip): Likewise.
8149
dfdffd0d
VS
81502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8153 attribute.
8154 (grub_util_info): Likewise.
8155 (grub_util_error): Likewise.
8156
102fae4a
VS
81572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8160 * util/grub-fstest.c (fstest): Likewise.
8161
7e94d044
VS
81622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8165 (grub_md_sha512_real): Likewise.
8166 (grub_util_get_geli_uuid): Likewise.
8167 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8168 (grub_util_biosdisk_open): Fix format specification.
8169 Respect format security.
8170 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8171 (xrealloc): Likewise.
8172 (xasprintf): Likewise.
8173
5ebd9769
VS
81742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * util/import_gcry.py: Include grub/crypto.h in init.c.
8177
495fc8c1
VS
81782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8181 (generate_image): Make prefix a const char *.
8182 Fix format specifications. Respect format security.
8183 Avoid void * arithmetics.
8184 Avoid shadowing.
8185 (argp_parser): Remove unused variable. Respect format security.
8186 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8187 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8188 (count_funcs): Remove unused variable.
8189 (relocate_addresses): Fix format specification.
8190 Disable x86-64 with elf32. Remove unused variables.
8191 (add_fixup_entry): Avoid shadowing.
8192 (make_reloc_section): Fix format specification.
8193 Use assert.
8194 (locate_sections): Fix format specifications.
8195 (load_image): Avoid shadowing.
8196
043c2ea3
VS
81972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8200 Fix format specifications. Respect format security.
8201 Don't translate already translated grub_errmsg.
8202 (argp_parser): Remove unused variable
8203
3ec65a81
VS
82042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8207
a4d9fe4a
VS
82082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8211 (main): Likewise. Use xmalloc. Respect format security.
8212
15b81d49
VS
82132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8216 a const char *.
8217 (argp_parser): Remove unused variable.
8218
31731fc0
VS
82192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8222 (add_pixel): Make static.
8223 (add_font): Likewise.
8224 (write_string_section): Make name and str a const char *.
8225 (write_be16_section): Make name a const char *.
8226 (print_glyphs): Make static.
8227 (write_font_ascii_bitmap): Likewise.
8228 (write_font_width_spec): Likewise.
8229 (write_font_pf2): Likewise.
8230 (argp_parser): Remove unused variable.
8231 Respect format security.
8232 (main): Avoid shadowing. Respect format security.
8233
0809527b
VS
82342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 * util/grub-editenv.c (argp_parser): Make static.
8237 (create_envblk_file): Use xmalloc.
8238 (open_envblk_file): Likewise.
8239 Resepect format security.
8240 (set_variables): Respect format security.
8241
45b0c8b7
VS
82422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * util/getroot.c (grub_find_device): Respect format security.
8245 (get_mdadm_uuid): Remove unused variable.
8246 (grub_util_pull_device): Dont call gettext on already translated
8247 grub_errmsg.
8248 (find_system_device): Remove unused variable.
8249 (grub_util_get_grub_dev): Likewise.
8250 (grub_make_system_path_relative_to_its_root): Respect format security.
8251
1b024b4e
VS
82522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * util/grub-fstest.c (execute_command): Make first argument
8255 a const char *.
8256 (read_file): Avoid shadowing.
8257 Reuse underlying error message if device open fails.
8258 (cmd_cmp): Respect format security.
8259 (root): Make const char *.
8260 (fstest): Remove args argument and use global copy.
8261 Respect format security.
8262 (argp_parser): Make static.
8263 (main): Make default_root const char *.
8264
5d1d4e28
VS
82652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * util/grub-mount.c (root): Make const char *.
8268 (execute_command): Make first argument a const char *.
8269 (fuse_init): Respect format security.
8270 (argp_parser): Make static. Remove unused variable.
8271 (main): Make default_root a const char *.
8272 Respect format security.
8273
36eb7379
VS
82742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * util/grub-probe.c (probe): Don't call gettext on already translated
8277 grub_errmsg.
8278 Remove unused variables.
8279 (argp_parser): Remove unused variable.
8280
76fb2ea9
VS
82812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * util/grub-script-check.c (argp_parser): Remove unused variable.
8284 (main): Rename read to curread to avoid shadowing.
8285
56c98584
VS
82862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * util/misc.c (grub_util_write_image_at): Fix format specification.
8289 (grub_util_write_image): Likewise.
8290 (grub_script_execute_argument_to_string): Removed (unused).
8291 (grub_script_execute_menuentry): Likewise.
8292 (grub_putchar): Likewise.
8293
164ebb48
VS
82942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8297 (FUNCTION) [GRUB_UTIL]: Likewise.
8298 (VARIABLE) [GRUB_UTIL]: Likewise.
8299
44318d61
VS
83002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8303 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8304
31a26002
VS
83052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8308 buffer.
8309
83102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8313 (LzmaEnc_SaveState): Removed (unused).
8314 (LzmaEnc_RestoreState): Likewise.
8315 (LzmaEnc_InitPriceTables): Made static.
8316 (LzmaEnc_Construct): Likewise.
8317 (LzmaEnc_FreeLits): Likewise.
8318 (LzmaEnc_Destruct): Likewise.
8319 (LzmaEnc_Init): Likewise.
8320 (LzmaEnc_InitPrices): Likewise.
8321 (LzmaEnc_Finish): Likewise.
8322 (LzmaEnc_PrepareForLzma2): Removed (unused).
8323 (LzmaEnc_MemPrepare): Likewise.
8324 (LzmaEnc_GetNumAvailableBytes): Likewise.
8325 (LzmaEnc_GetCurBuf): Likewise.
8326 (LzmaEnc_CodeOneMemBlock): Likewise.
8327
6fa67967
VS
83282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8331 (grub_util_ldm_embed): Likewise.
8332
9a7428e6
VS
83332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * util/grub-editenv.c (print_var): Rename name to varname to
8336 avoid shadowing.
8337 (main): Rename index to curindex to avoid shadowing.
31a26002 8338 Make filename a const char *.
9a7428e6 8339
4f96abd1
VS
83402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8343 to arg_getline to avoid shadowing.
8344
44d10dad
VS
83452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8348 disk_ to avoid shadowing.
8349
340ba63e
VS
83502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8353 curindex to avoid shadowing.
8354 Make static.
8355 (MatchFinder_GetNumAvailableBytes): Make static.
8356
22965bce
VS
83572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8360 avoid shadowing.
8361
7b5784d4
VS
83622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8365 argument from encrypt to do_encrypt to avoid shadowing.
8366
6f48ca01
VS
83672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8370 incorrect nesting of #if's.
8371
a4ea2dff
VS
83722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8375 checks which are always false on some platforms.
8376 (grub_cmd_lsacpi): Likewise.
8377 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8378 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8379 Likewise.
8380
def9fc1b
VS
83812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8384 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8385
a67b2a04
VS
83862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8389 re_dfa_t to avoid breaking alignment invariants.
8390 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8391 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8392
44c6828d
VS
83932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8396 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8397
bebe0dd0
VS
83982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8401 Fix declaration.
8402
a9cdb3cf
VS
84032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8406 conserve alignment invariants.
8407 (grub_ehci_ehcc_read16): Likewise.
8408 (grub_ehci_oper_read32): Likewise.
8409 (grub_ehci_oper_write32): Likewise.
8410 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8411 Conserve alignment invariants.
8412
ccc3b1b8
VS
84132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8416 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8417 declarations.
8418
987fbd95
VS
84192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8422 Remove unused variable.
8423
0df363f3
VS
84242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8427 Remove set in if.
8428
b2c0c4a6
VS
84292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * include/grub/net.h: Remove double declarations.
8432
690c531f
VS
84332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 Remove "payload" command in ia64 Linux loader since I couldn't
8436 find any evidence of it being used for anything.
8437 Replace "relocate" command with an environment variable
8438
8439 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8440 fields.
8441 (ia64_boot_payload): Removed.
8442 (last_payload): Likewise.
8443 (RELOCATE_OFF): Likewise.
8444 (RELOCATE_ON): Likewise.
8445 (RELOCATE_FORCE): Likewise.
8446 (relocate): Likewise.
8447 (free_pages): Don't free payloads.
8448 (grub_load_elf64): Use common error messages.
8449 Use "linux_relocate" variable.
8450 Increase the space after boot_params.
8451 (grub_cmd_payload): Removed.
8452 (grub_cmd_relocate): Likewise.
8453 (grub_cmd_fpswa): Improve messages.
8454 (cmd_payload): Removed.
8455 (cmd_relocate): Likewise.
8456 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8457 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8458
01783768
VS
84592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 Convert UHCI to DMA framework.
8462
8463 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8464 (grub_uhci_pci_iter): Fill new members
8465 (grub_alloc_td): Use P2V and V2P functions.
8466 (grub_free_queue): Likewise.
8467 (grub_alloc_qh): Likewise.
8468 (grub_uhci_setup_transfer): Likewise.
8469 (grub_uhci_check_transfer): Likewise.
8470
43206939
VS
84712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8474 Remove assignment in if while on it.
8475
571e140e
VS
84762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * util/grub-mkstandalone.in: Fix modules directory.
8479
a9d96eeb
VS
84802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8483 on i386-pc target.
8484 (argp_parser): Accept "auto" as compression specification.
8485
e4e37e8d
VS
84862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 Fix `help' with unloaded modules.
8489
8490 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8491 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8492 (grub_dyncmd_dispatcher): Small stylistic fix.
8493 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8494 explicit help is requested.
8495
e1ea3ade
VS
84962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8499 Explicitly init restart while on it.
8500
27556881
VS
85012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8504 uninited variable.
8505
d65f6b36
VS
85062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * util/grub-mknetdir.in: Use . rather than source for POSIX
8509 compatibility.
8510
0a1e473c
VS
85112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8514
ce6647c8
VS
85152012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8518 variable.
8519
66747894
VS
85202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8523 without quotes.
8524
71645f6e
VS
85252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8528
0e1c1f61
VS
85292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8532 iteration of partitions.
8533
9c4b5c13
VS
85342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 Improve gettext support. Stylistic fixes and error handling fixes while
8537 on it.
8538
215c90cb
VS
85392012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8542 part. Instead setup the correct stack in RM.
8543 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8544 for stack.
8545 * include/grub/i386/relocator_private.h: New file.
8546
b5c1f9bf
VS
85472012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8550 argument.
8551 * util/grub-fstest.c (options): Add missing DEVICE part.
8552
b525fd83
VS
85532012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 Clarify and unify messages.
8556
8557 * grub-core/commands/hashsum.c (options): Unify messages.
8558 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8559 literal-only message as translatable.
8560 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8561 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8562 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8563 commands.
8564 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8565 key, not the key used to unlock. Clarify what it's used for.
8566 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8567 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8568 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8569 * util/grub-editenv.c (options): Unify "verbose" message.
8570 * util/grub-fstest.c (read_file): Unify error message.
8571 (fstest): Add quotes around commands.
8572 (options): Unify "verbose" message.
8573 * util/grub-install.in: Add quotes around variable name.
8574 * util/grub-kbdcomp.in: Unify error message.
8575 * util/grub-mkfont.c (main): Likewise.
8576 * util/grub-mkrescue.in: Likewise.
8577 * util/grub-mklayout.c (options): Unify "verbose" message.
8578 * util/grub-mkstandalone.in: Unify help and verbose messages.
8579 * util/grub-mount.c (options): Unify "verbose" message.
8580 * util/grub-probe.c (options): Likewise.
8581 * util/grub-script-check.c (options): Likewise.
8582 * util/grub-setup.c (setup): Unify no-terminator message.
8583 (options): Use DEVICE and not DEV.
8584 Unify "verbose" message.
8585 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8586
0ae70393
VS
85872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 Improve and unify messages.
8590
8591 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8592 name. All users updated.
8593 Print filename in error.
8594 (read_device_map): Print filename in error.
8595 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8596 (grub_util_get_os_disk): Likewise.
8597 (grub_util_biosdisk_get_grub_dev): Likewise.
8598 (grub_util_check_block_device): Likewise.
8599 (grub_util_check_char_device): Likewise.
8600 (grub_make_system_path_relative_to_its_root): Likewise.
8601 * util/grub-editenv.c (create_envblk_file): Likewise.
8602 (open_envblk_file): Likewise.
8603 (write_envblk): Likewise.
8604 * util/grub-fstest.c (cmd_cp): Likewise.
8605 (cmd_cat): Likewise.
8606 (cmd_cmp): Likewise.
8607 * util/grub-menulst2cfg.c (main): Likewise.
8608 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8609 (write_font_width_spec): Likewise.
8610 (write_font_pf2): Likewise.
8611 * util/grub-mkimage.c (generate_image): New argument outname.
8612 All users updated.
8613 Remove unreacheable message.
8614 (options): Unify messages.
8615 (help_filter): Likewise.
8616 * util/grub-mklayout.c (usage): Removed (unused).
8617 (main): Print filename in error.
8618 * util/grub-mkrescue.in: Fix wrong quoting.
8619 * util/grub-setup.c (setup): Print filename in error.
8620 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8621 (check_sas): Likewise.
8622 * util/misc.c (grub_util_get_fp_size): Removed.
8623 (grub_util_get_image_size): Print filename in error.
8624 (grub_util_read_at): Removed.
8625 (grub_util_read_image): Print filename in error.
8626 (grub_util_load_image): Likewise.
8627 (grub_util_write_image_at): New argument filename. All users updated.
8628 Print filename in error.
8629 (grub_util_write_image): New argument filename. All users updated.
8630 Print filename in error.
8631 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8632 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8633
0a96117d
VS
86342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * grub-core/Makefile.core.def (pxechain): New module.
8637 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8638 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8639 function.
8640 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8641 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8642
aca002f7
VS
86432012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8646 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8647 * include/grub/err.h (grub_error_saved): New struct.
8648 (grub_errmsg): Make array size explicit.
8649 * include/grub/misc.h (grub_error_save): New function.
8650 (grub_error_load): Likewise.
8651 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8652 (grub_error_push): Update `errno' member name.
8653 (grub_error_pop): Likewise
8654 * grub-core/net/tftp.c (tftp_data): New member save_err.
8655 (tftp_receive): Save error.
8656 (tftp_open): Restore error.
8657
a51dab13
VS
86582012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8661 to real mode down to execute A20-related code in protected mode as
8662 intended.
8663
eb6e6649
GS
86642012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8665
8666 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8667 NULL when the argument `level' has an unexpected value.
8668
92cd0f6e
VS
86692012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 Move platform-dependent files from $prefix to $prefix/$platform.
8672
8673 * config.h.in (GRUB_TARGET_CPU): New definition.
8674 (GRUB_PLATFORM): Likewise.
8675 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8676 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8677 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8678 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8679 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8680 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8681 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8682 * grub-core/normal/term.c (read_terminal_list): Likewise.
8683 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8684 $prefix/locale.
8685 (grub_gettext_init_ext): Likewise.
8686 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8687 grub_platform.
8688 * util/grub-install.in: Update directories.
8689 * util/grub-mknetdir.in: Likewise.
8690 * util/grub-mkrescue.in: Likewise.
8691
db606889
VS
86922012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8695 grub_error framework. All users updated.
8696
c39992a4
VS
86972012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8700 lists (by always binsearching), improve caching (cache strings
8701 used for binsearch, not only results), improve
8702 maintainability (by using more structured binary search) and correct
8703 error handling.
8704
1e5ec32f
VS
87052012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/script/execute.c (grub_script_return): Fix warning.
8708
ac576cde
VS
87092012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * grub-core/script/execute.c (grub_script_return): Fix potential
8712 NULL-dereference.
8713 Reported by: Jim Meyering.
8714
498453f6
VS
87152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * po/POTFILES.in: Regenerate.
8718 * util/grub-install.in: Gettextize the strings missed in first pass.
8719
8be63f2e
VS
87202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * Makefile.util.def (grub-mkdevicemap): Removed.
8723 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8724 * include/grub/util/deviceiter.h: Removed.
8725 * util/deviceiter.c: Likewise.
8726 * util/getroot.c (grub_util_get_os_disk): New function.
8727 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8728 replacement for EFI.
8729 * util/grub-mkdevicemap.c: Removed.
8730 * util/grub-probe.c (probe): Handle PRINT_DISK.
8731 (argp_parser): Handle -t disk.
8732
8e1e4e39
VS
87332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * util/grub-mkfont.c: Migrate to argp.
8736 * util/grub-mklayout.c: Likewise.
8737 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8738 * util/grub-mkrelpath.c: Likewise.
8739 * util/grub-probe.c: Likewise.
8740 * util/grub-script-check.c: Likewise.
8741
4459819a
VS
87422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * util/grub-reboot.in: Add missing datarootdir.
8745 Add missing newline.
8746 * util/grub-set-default.in: Add missing datarootdir.
8747 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8748 * util/grub-mkrescue.in: Likewise.
8749
f65741c7
VS
87502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8753
c1a33466
VS
87542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * util/grub-kbdcomp.in: Add decent help and gettextize.
8757 * docs/man/grub-kbdcomp.h2m: New file.
8758
c76899a0
VS
87592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 Migrate grub-mkimage.c to argp.
8762
8763 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8764 (grub-setup): Likewise.
8765 * util/grub-setup.c (print_version): Move to ...
8766 * util/argp_common.c (print_version): ... here.
8767 * util/grub-setup.c (argp_program_version_hook): Move to ...
8768 * util/argp_common.c (argp_program_version_hook): ... here.
8769 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8770 safety.
8771 * util/grub-mkimage.c (main): Migrate to argp.
8772
57db0757
VS
87732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * util/grub-mkrescue.in: Use same message as
8776 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8777 for better translations.
8778
18534ad9
VS
87792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8782 options with generic grub-mkrescue.in with the goal of future
8783 merge.
8784
c84ba308
VS
87852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 * grub-core/kern/mm.c: Add missing include of i18n.h
8788 * grub-core/lib/relocator.c: Likewise.
8789
347998c2
VS
87902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8793 error.
8794 (allocate_pages): Check return value.
8795 Replace fatal with error.
8796 (grub_linux_boot): Replace printf with dprintf.
8797 Check find_mmap_size return value.
8798 Replace fatal with error.
8799 Don't call grub_machine_fini.
8800 (grub_load_elf64): Replace printf with dprintf.
8801 (grub_cmd_linux): Likewise.
8802 (grub_cmd_initrd): Likewise.
8803 (grub_cmd_payload): Likewise.
8804
c779226e
VS
88052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8808 message.
8809 * grub-core/video/radeon_fuloong2e.c
8810 (grub_video_radeon_fuloong2e_setup): Likewise.
8811 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8812 * grub-core/video/video.c (grub_video_set_mode): Don't override
8813 standard out of memory message.
8814
dc87d45a
GS
88152012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8816
8817 NetBSD disk wedge support.
8818
8819 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8820 [__NetBSD__]: Handle NetBSD disk wedges.
8821 * util/getroot.c (convert_system_partition_to_system_disk)
8822 [__NetBSD__]: Likewise.
8823
055f856f
MW
88242012-02-03 Mark Wooding <mdw@distorted.org.uk>
8825
8826 * util/grub-mkconfig.in: Use umask rather than chmod to create
8827 grub.cfg.new to avoid insecure grub.cfg.
8828
4a9f8346
VS
88292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * grub-core/commands/ls.c: Gettextize.
8832 * grub-core/commands/setpci.c: Likewise.
8833 * grub-core/commands/videotest.c: Likewise.
8834 * grub-core/disk/geli.c: Likewise.
8835 * grub-core/kern/mm.c: Likewise.
8836 * grub-core/lib/relocator.c: Likewise.
8837 * grub-core/loader/efi/appleloader.c: Likewise.
8838 * grub-core/loader/i386/xnu.c: Likewise.
8839 * grub-core/loader/ia64/efi/linux.c: Likewise.
8840 * grub-core/loader/xnu.c: Likewise.
8841 * grub-core/net/dns.c: Likewise.
8842 * grub-core/net/net.c: Likewise.
8843 * grub-core/script/lexer.c: Likewise.
8844 * grub-core/script/parser.y: Likewise.
8845 * grub-core/script/yylex.l: Likewise.
8846 * util/getroot.c: Likewise.
8847 * util/grub-setup.c: Likewise.
8848
a646a366
VS
88492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8852 number.
8853
54e2be26
VS
88542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8857
f7c71e68
VS
88582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8861 macro.
8862 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8863 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8864
a32d5c71
VS
88652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8868 * util/grub-install.in: Gettextize.
8869 * util/grub-mkconfig.in: Likewise.
8870 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8871 if not available.
8872 (grub_warn): Gettextize.
8873 * util/grub-mknetdir.in: Gettextize.
8874 * util/grub-mkrescue.in: Likewise.
8875 * util/grub-mkstandalone.in: Likewise.
8876 * util/grub-reboot.in: Likewise.
8877 * util/grub-set-default.in: Likewise.
8878 * util/grub.d/00_header.in: Likewise.
8879 * util/grub.d/10_hurd.in: Likewise.
8880 * util/grub.d/10_kfreebsd.in: Likewise.
8881 * util/grub.d/10_linux.in: Likewise.
8882 * util/grub.d/10_netbsd.in: Likewise.
8883 * util/grub.d/10_windows.in: Likewise.
8884 * util/grub.d/20_linux_xen.in: Likewise.
8885 * util/grub.d/30_os-prober.in: Likewise.
8886 * po/POTFILES-shell.in: Regenerate.
8887
69edd81a
RL
88882012-02-03 Richard Laager <rlaager@wiktel.com>
8889
8890 * util/grub-mkimage.c (main): Fix format-security warning.
8891 * util/grub-mkrelpath.c (main): Likewise.
8892 * util/grub-probe.c (main): Likewise.
8893
65f08dbf
RL
88942012-02-03 Richard Laager <rlaager@wiktel.com>
8895
8896 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8897 failure.
8898 Put back lost PRINT_DRIVE.
8899
e9084abe
RL
89002012-02-03 Richard Laager <rlaager@wiktel.com>
8901
8902 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8903 (grub_guess_root_devices): Replace strlen with sizeof.
8904 Avoid crash.
8905 (find_root_devices_from_poolname): Remove unused variable.
8906 Handle raidzN.
8907
cf5f7ee7
VS
89082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 Support install on multi-device filesystems.
8911
8912 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8913 (grub_guess_root_devices): ...this. Return char **. All users updated.
8914 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8915 Removed.
8916 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8917 (find_root_devices_from_poolname): ... here.
8918 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8919 Support zfs-fuse.
8920 (grub_guess_root_device): Rename to ...
8921 (grub_guess_root_devices): ... this. Return char **. All users updated.
8922 * util/grub-install.in: Handle multi-device filesystems.
8923 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8924 argument. All users updated.
8925 Handle multi-device filesystems.
8926 Use 'delim' as separator.
8927 Remove device check to allow filesystems on file.
8928 (main): Support -0 argument. Handle multi-device.
8929 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8930 Fix a cross-device check while on it.
8931 (arguments): Remove root_dev.
8932 (argp_parser): Remove -r.
8933 (main): Remove root_dev.
8934
2f53a9ed
VS
89352012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8938
17e1d934
VS
89392012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8942 symbol.
8943 Reported by: NODA, Kai <nodakai>.
8944
d3e3fab5
VS
89452012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 Fix ehci on amd64.
8948
8949 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8950 pointers.
8951 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8952 (grub_ehci_setup_qh): Likewise.
8953 (grub_ehci_find_qh): Likewise.
8954 (grub_ehci_transaction): Likewise.
8955 (grub_ehci_setup_transfer): Likewise.
8956 (grub_ehci_check_transfer): Likewise.
8957 (grub_ehci_portstatus): Likewise.
8958 (grub_ehci_detect_dev): Likewise.
8959 (grub_ehci_transfer_controller_data): New field td_last_phys.
8960 (grub_ehci_setup_transfer): Fill td_last_phys.
8961 (grub_ehci_check_transfer): Use td_last_phys.
8962
3008675b
SG
89632012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8964
8965 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8966 if no submenu is present.
8967
fc9b5652
AN
89682012-02-01 Aleš Nesrsta <starous@volny.cz>
8969
8970 CBI support.
8971
8972 * include/grub/usb.h (grub_usbms_protocol_t): New values
8973 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8974 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8975 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8976 (grub_usbms_dev): Add subclass, protocol and intrpt.
8977 Remove in_maxsz and out_maxsz.
8978 (grub_usbms_reset): Rename to ...
8979 (grub_usbms_bo_reset): .. this.
8980 (grub_usbms_cbi_cmd): New function.
8981 (grub_usbms_cbi_reset): Likewise.
8982 (grub_usbms_reset): Likewise.
8983 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8984 (grub_usbms_transfer): Rename to ...
8985 (grub_usbms_transfer_bo): ... this.
8986 (grub_usbms_transfer_cbi): Likewise.
8987 (grub_usbms_transfer): Likewise.
8988
a2b81d53
AN
89892012-02-01 Aleš Nesrsta <starous@volny.cz>
89902012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8993 the support for the CS5536 modification thereos and few bugfixes.
8994
8995 * grub-core/Makefile.core.def (ehci): New module.
8996 * grub-core/bus/usb/ehci.c: New file.
8997 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8998 port and hubaddr. All users updated.
8999 Save port and hubaddr into dev structure.
9000 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9001 define.
9002 * include/grub/pci.h (grub_dma_phys2virt): New function.
9003 (grub_dma_virt2phys): Likewise.
9004 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9005
b1d51f02
VS
90062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9009 check as some mkfs implementations omit it.
9010
fc694106
VS
90112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9014
6c0920e3
VS
90152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9018 Add new member volname2.
9019 (grub_jfs_label): Use volname2 if available.
9020
d1a46f9a
VS
90212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9024 over last_mounted as seen in image generated by mkfs.nilfs2.
9025 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9026
dec8ed14
VS
90272012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9030 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9031 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9032
7397c69b
VS
90332012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9036 over the sector.
9037
b3fe42ad
VS
90382012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9041 subvolume name (by removing a bogus and useless check).
9042
10476bb0
VS
90432012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9046 sizeof while on it.
9047
9c08ad87
VS
90482012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9051 (grub_scsi_read_capacity10): ... this.
9052 (grub_scsi_read_capacity16): New function.
9053 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9054 0xffffffff.
9055 Fix off-by-one error.
9056 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9057 64-bit unsigned.
9058 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9059 (grub_scsi_read_capacity10): ... this.
9060 (grub_scsi_read_capacity_data): Rename to ...
9061 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9062 (grub_scsi_read_capacity16): New struct.
9063 (grub_scsi_read_capacity16_data): Likewise.
9064 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9065 grub_scsi_cmd_read_capacity10.
9066 New command grub_scsi_cmd_read_capacity16.
9067
bc8d0f45
VS
90682012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 SCSI >2TiB support.
9071
9072 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9073 (grub_scsi_write16): Likewise.
9074 (grub_scsi_read): Use read16 when necessary.
9075 (grub_scsi_write): Likewise.
9076 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9077 (grub_scsi_write16): Likewise.
9078 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9079
cc774926
VS
90802012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 SCSI write support (for usbms mainly).
9083
9084 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9085 a const pointer.
9086 (grub_scsi_write): Implement.
9087 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9088
67639fd7
VS
90892012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9092 variable.
9093
9079d3ed
VS
90942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9097
c6a6f204
VS
90982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * po/POTFILES.in: Regenerate.
9101
ecbf8cd1
VS
91022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9105 with grub_printf to avoid unnecessary fatal failure.
9106
0b3b3b38
VS
91072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9110 (INT_MAX): Likewise.
9111 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9112 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9113 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9114 (strcpy): Likewise.
9115 (strstr): Likewise.
9116 (strchr): Likewise.
9117 (strncpy): Likewise.
9118 (strcat): Likewise.
9119 (strncat): Likewise.
9120 (strcoll): Likewise.
9121 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9122 (GRUB_INT_MAX): Likewise.
9123
db7337a3
VS
91242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9127 unexpected error.
9128 (optimize_utf8): Likewise.
9129 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9130
f37c87e1
VS
91312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/boot/i386/pc/lnxboot.S: Use
9134 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9135 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9136 location.
9137 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9138 definition.
9139 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9140
63fe43f3
VS
91412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9144 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9145 now to avoid double free.
9146 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9147 hostdisk.
9148 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9149 * util/grub-probe.c (escape_of_path): Always return a new copy.
9150 (print_full_name): Escape path.
9151 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9152 Fix hints on abstractions.
9153
ebe2c961
VS
91542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9157 Don't add "root" line if no compatibility hont is available.
9158 Suggested by: Seth Goldberg.
9159
2b5336a2
VS
91602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9163 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9164 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9165 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9166
74310bd8
VS
91672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9170
c30582ba
VS
91712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * util/grub-pe2elf.c (ehdr): Make static.
9174 (shdr): Likewise.
9175 (num_sections): Likewise.
9176 (offset): Likewise.
9177
5f47782c
VS
91782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 Eliminate ofpath limits and possible overflows.
9181
9182 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9183 (OF_PATH_MAX): Removed.
9184 (MAX_DISK_CAT): New const.
9185 (find_obppath): Use allocated rather than preallocated buffer.
9186 Return result. Argument of_path removed. All users updated.
9187 Add missing fdstat.
9188 (xrealpath): New function.
9189 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9190 Allocate rather than use preallocated buffer. All users updated.
9191 (__of_path_common): Use allocated rather than preallocatecd buffer.
9192 Return result. Argument of_path removed. All users updated.
9193 (vendor_is_ATA): Read only needed part form the file.
9194 (check_sas): Allocate depending on contents rather than fixed.
9195 (main) [STANDALONE]: Handle NULL result.
9196
f990cbf9
VS
91972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9200
9c6e84b8
VS
92012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 Cryptodisk write support.
9204
9205 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9206 (grub_cryptodisk_decrypt): Moved logic to ...
9207 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9208 (grub_cryptodisk_write): Implement.
9209 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9210 (grub_util_fd_write): ... this. Make global.
9211 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9212
87cf9744
VS
92132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * include/grub/list.h (grub_list_remove): Don't crash if element is
9216 removed twice.
9217
ca8c0baf
VS
92182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 Rename ofconsole to console.
9221
9222 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9223 as sysnonym to console.
9224 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9225 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9226 Rename grub_ofconsole_ to grub_console_. All users updated
9227 (grub_console_term_output): Rename "ofconsole" to "console".
9228 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9229 as "console".
9230
64c8b8f6
VS
92312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9234 handling.
9235 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9236 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9237 GRUB_DISK_DEVICE_FILE_ID.
9238
f6c434d5
VS
92392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9242 and improve performance.
9243
5858b42d
VS
92442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9247 missing ieee1275/ prefix on whole disk.
9248
4ed3c26b
VS
92492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9252 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9253
df71143e
VS
92542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9257
076e7c0f
VS
92582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 Merge common RAID and LVM logic to an abstract diskfilter.
9261 Add LDM support using the same framework.
9262
9263 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9264 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9265 (libgrubmods): Remove grub-core/disk/raid.c and
9266 grub-core/partmap/gpt.c.
9267 * grub-core/Makefile.core.def (ldm): New module.
9268 (raid): Renamed to diskfilter. All users updated.
9269 * grub-core/disk/raid.c: Moved to ...
9270 * grub-core/disk/diskfilter.c: ... here.
9271 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9272 (lv_num): New var.
9273 (find_array): Renamed to ...
9274 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9275 (grub_is_array_readable): Renamed to ...
9276 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9277 (insert_array): New argument id.
9278 (is_node_readable): New function.
9279 (scan_device): Rename to ...
9280 (scan_disk): .. this. Restrict to one disk.
9281 (scan_devices): New function.
9282 (grub_diskfilter_iterate): Support multi-LV.
9283 Skip invisible and nameless LVs.
9284 (grub_diskfilter_memberlist): Support multi-LV.
9285 (grub_diskfilter_read_node): New function.
9286 (grub_raid_read): Most of logic moved to ...
9287 (read_segment): ... here
9288 (read_lv): New function.
9289 (grub_diskfilter_get_vg_by_uuid): New function.
9290 (grub_diskfilter_make_raid): Likewise.
9291 * grub-core/disk/ldm.c: New file.
9292 * grub-core/disk/lvm.c (vg_list): Removed.
9293 (lv_count): Likewise.
9294 (scan_depth): Likewise.
9295 (is_lv_readable): Likewise.
9296 (grub_lvm_getvalue): Advance pointer past the number.
9297 (find_lv): Removed.
9298 (do_lvm_scan): Refactored into ...
9299 (grub_lvm_detect): ... this. Support raid.
9300 (grub_lvm_iterate): Removed.
9301 (grub_lvm_memberlist): Likewise.
9302 (grub_lvm_open): Likewise.
9303 (grub_lvm_close): Likewise.
9304 (read_lv): Likewise.
9305 (read_node): Likewise.
9306 (is_node_readable): Likewise.
9307 (is_lv_readable): Likewise.
9308 (grub_lvm_read): Likewise.
9309 (grub_lvm_write): Likewise.
9310 (grub_lvm_dev): Use diskfilter
9311 (GRUB_MOD_INIT): Likewise.
9312 (GRUB_MOD_FINI): Likewise.
9313 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9314 new interface.
9315 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9316 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9317 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9318 grub_diskfilter_read_node.
9319 Fix a bug with xor.
9320 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9321 grub_diskfilter_read_node.
9322 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9323 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9324 (grub_disk_dev_iterate): Move from here...
9325 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9326 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9327 Make global.
9328 (grub_hostdisk_find_partition_start): Likewise.
9329 (grub_hostdisk_os_dev_to_grub_drive): New function.
9330 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9331 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9332 * util/getroot.c (make_device_name): ... here.
9333 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9334 Move to ...
9335 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9336 * grub-core/kern/emu/hostdisk.c
9337 (convert_system_partition_to_system_disk): Move to ...
9338 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9339 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9340 * util/getroot.c (device_is_wholedisk): ... here.
9341 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9342 * util/getroot.c (find_system_device): ... here.
9343 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9344 Move to ...
9345 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9346 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9347 Move to ...
9348 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9349 Handle LDM.
9350 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9351 Move to ...
9352 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9353 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9354 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9355 DISKFILTER.
9356 * include/grub/raid.h: Renamed to ...
9357 * include/grub/diskfilter.h: ... this.
9358 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9359 (GRUB_RAID_LAYOUT_*): Make into array.
9360 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9361 (grub_diskfilter_vg): New struct.
9362 (grub_diskfilter_pv_id): Likewise.
9363 (grub_raid_member): Removed.
9364 (grub_raid_array): Likewise.
9365 (grub_diskfilter_pv): New struct.
9366 (grub_diskfilter_lv): Likewise.
9367 (grub_diskfilter_segment): Likewise.
9368 (grub_diskfilter_node): Likewise.
9369 (grub_diskfilter_get_vg_by_uuid): New proto.
9370 (grub_raid_register): Inline.
9371 (grub_diskfilter_unregister): Likewise.
9372 (grub_diskfilter_make_raid): New proto.
9373 (grub_diskfilter_vg_register): Likewise.
9374 (grub_diskfilter_read_node): Likewise.
9375 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9376 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9377 (grub_util_is_ldm): Likewise.
9378 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9379 (grub_hostdisk_find_partition_start): Likewise.
9380 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9381 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9382 New definition.
9383 (grub_gpt_partition_map_iterate): New proto.
9384 * include/grub/lvm.h (grub_lvm_vg): Removed.
9385 (grub_lvm_pv): Likewise.
9386 (grub_lvm_lv): Likewise.
9387 (grub_lvm_segment): Likewise.
9388 (grub_lvm_node): Likewise.
9389 * util/getroot.c [...]
9390 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9391 (probe_abstraction): Likewise.
9392 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9393 (main): Remove dead logic.
9394
8a7f9b9c
VS
93952012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 Simplify root device discover and don't fail when trying to open
9398 incorrect devices.
9399
9400 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9401 function.
9402 (get_diskname_from_path): Likewise.
9403 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9404 of iterating.
9405
30545b85
VS
94062012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9409
28ea58cf
VS
94102012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9413 pastthe end.
9414
692dabca
VS
94152012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * util/grub-install.in: Add missing \.
9418 Reported by: gentoofan
9419
f6e4ea70
VS
94202012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9423 (direct_read): Use correct compressed size.
9424 (grub_squash_read_data): Likewise.
9425
94262012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9427
9428 * docs/grub.texi (Platform limitations): New section.
9429 (Platform-specific operations): Likewise.
9430 * docs/grub-dev.texi (Porting): Likewise.
9431
76261110
VS
94322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 IEEE1275 disk write support.
9435
9436 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9437 const void *.
9438 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9439 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9440 and seek loginc to ...
9441 (grub_ofdisk_prepare): ... here.
9442 (grub_ofdisk_write): Implement.
9443
fc36d603
VS
94442012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 ARC disk write support.
9447
9448 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9449 (reopen): New argument writable. All users updated.
9450 Handle required access mode.
9451 (grub_arcdisk_write): Implement.
9452 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9453 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9454
e06c2e7a
VS
94552012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9458 (read_sblock): Don't attempt to read superblocks outside the disk size.
9459
ff447958
VS
94602012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9463 first superblock to find the second one when possible.
9464
9e88df39
VS
94652012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * util/grub-install.in: Fix an ARC bug.
9468 Print a warning if no platform-specific setup is available.
9469
bb26e4ff
VS
94702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 Use static allocation rather than scratch pointer in reed_solomon.
9473 It decreases its size significantly and avoids a variable in .text.
9474
9475 * grub-core/lib/reed_solomon.c (scratch): Removed.
9476 (chosenstat): New const or static array.
9477 (sigma): Likewise.
9478 (errpot): Likewise.
9479 (errpos): Likewise.
9480 (sy): Likewise.
9481 (mstat): Likewise.
9482 (errvals): Likewise.
9483 (eqstat): Likewise.
9484 (pol_evaluate): Replace x with log_x argument. All users updated.
9485 (syndroms): Removed.
9486 (gauss_solve): Use statically allocated arrays.
9487 (rs_recover): Likewise.
9488 Calculate syndroms directly.
9489 (decode_block): Use statically allocated arrays.
9490 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9491 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9492
2e13ede5
VS
94932012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 Eliminate fixed limit on reed solomon decoder length.
9496
9497 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9498 rather than hardcoding the address.
9499 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9500 no_reed_solomon_length.
9501 Move gate_a20 to no-reed-solomon part.
9502 Don't force a particular size of no reed-solomon part.
9503 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9504 Removed.
9505 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9506 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9507
f8a9ab12
VS
95082012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/commands/wildcard.c (match_files): Handle filenames
9511 without explicit device.
9512 (wildcard_expand): Don't add explicit device if not already present.
9513 * tests/grub_script_echo1.in: Add a new expansion test.
9514
87edb894
VS
95152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 Replace single-linked with double-linked lists. It results in more
9518 compact and more efficient code.
9519
9520 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9521 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9522 (grub_list_remove): Moved from here ...
9523 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9524 (grub_prio_list_insert): Set prev.
9525 * include/grub/list.h (grub_list): Add prev. All users updated.
9526
48b391e9
VS
95272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 Handle newer autotools. Add some missing quotes while on it.
9530
9531 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9532 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9533 (pkgdata_DATA): ... here.
9534 * Makefile.util.def (update-grub_lib): Removed.
9535 * conf/Makefile.common (pkglib_DATA): Removed.
9536 (pkglib_SCRIPTS): Likewise.
9537 (pkgdata_DATA): New variable.
9538 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9539 needed.
9540 Add missing quotes.
9541 Remove unused variable while on it.
9542 * tests/util/grub-shell.in: Likewise.
9543 * util/grub-install.in: Likewise.
9544 * util/grub-mkconfig.in: Likewise.
9545 * util/grub-mknetdir.in: Likewise.
9546 * util/grub-mkrescue.in: Likewise.
9547 * util/grub-mkstandalone.in: Likewise.
9548 * util/grub.d/00_header.in: Likewise.
9549 * util/grub.d/10_hurd.in: Likewise.
9550 * util/grub.d/10_illumos.in: Likewise.
9551 * util/grub.d/10_kfreebsd.in: Likewise.
9552 * util/grub.d/10_linux.in: Likewise.
9553 * util/grub.d/10_netbsd.in: Likewise.
9554 * util/grub.d/10_windows.in: Likewise.
9555 * util/grub.d/20_linux_xen.in: Likewise.
9556 * util/grub.d/30_os-prober.in: Likewise.
9557 * util/update-grub_lib.in: Removed.
9558
95592012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9560
9561 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9562 a workaround for intel problem.
9563
66832792
PRP
95642012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
95652012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
95662012-01-23 pfsmorigo
9567
9568 * util/grub-install.in: Support dd'in into PreP partition.
9569 * util/grub-probe.c (probe): Support discovering partition type.
9570 (main): Support -t msdos_parttype.
9571
7816a17e
VS
95722012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9575 infinite recursion using counter.
9576 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9577 init to skip it if the magic check fails.
9578 (dec_stream_header): Init s->crc32.
9579
8f9d3a8c
ZB
95802012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
95812012-01-22 Zachary Bedell <pendorbound@gmail.com>
95822012-01-22 Richard Laager <rlaager@wiktel.com>
9583
9584 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9585 All users updated.
9586 (find_bestub): Determine correct size.
9587 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9588 (scan_disk): Align the size down.
9589 Call check pool before find_bestub to have ashift.
9590
b055dd32
VS
95912012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9594 dprintf in no-malloc zone.
9595
d779e9bd
ML
95962012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9597
9598 * configure.ac: Add back in test for limits.h.
9599
b508af69
VS
96002012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 Support 4K-sector NTFS.
9603
9604 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9605 (grub_ntfs_data): Remove blocksize.
9606 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9607 Remove data argument. All users updated.
9608
dad9c8b5
VS
96092012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9612 being in .text to avoid dprel references.
9613 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9614 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9615 (grub_arch_highmemsize): Likewise.
9616 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9617 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9618 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9619
d43a777e
VS
96202012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9623
9624 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9625 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9626
34e4208f
VS
96272012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9630 GRUB_UTIL.
9631 (grub_set_datetime_cmos): Likewise.
9632
3ec0fc1c
VS
96332012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 Make XZ compression parameters dependent on target and not host CPU.
9636
9637 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9638 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9639
22489834
VS
96402012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9643 set but not used variable.
9644
8502fbca
VS
96452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9648 created when no uuid support is compiled into mkfs.reiser.
9649
76df2068
VS
96502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9653 (utf8_to_macroman): Do the opposite.
9654 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9655
64e3f8f6
VS
96562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * configure.ac: Refise build qemu_mips w/o unifont.
9659
9c271078
VS
96602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 Eliminate grub_min/grub_max prone to overflow usage.
9663
9664 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9665 (poll_nonroot_hub): Likewise.
9666 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9667 (grub_affs_label): Likewise.
9668 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9669 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9670 (grub_hfs_label): Likewise.
9671 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9672 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9673 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9674 (zap_leaf_array_get): Likewise.
9675 (dnode_get_path): Likewise.
9676 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9677 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9678 * grub-core/script/execute.c (grub_script_break): Likewise.
9679 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9680 grub_max.
9681 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9682 * include/grub/misc.h (grub_min): Removed.
9683 (grub_max): Likewise.
9684
80662dbc
VS
96852012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9686
9687 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9688 direct.inode = 0.
9689
e6da1467
VS
96902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9693
b1ac4cb1
VS
96942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9697
b4bf7c3b
VS
96982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9701 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9702
8ee1101a
VS
97032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9706 rather than a hack for grub_strncasemap.
9707
97082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 Support multiple initrds
9711 Note: part of this was accidently committed in r3739.
9712
9713 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9714 initrd.
9715 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9716 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9717 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9718 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9719 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9720
4d1e2bc9
VS
97212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9724 disks with unknown size.
9725 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9726
75b49ebe
VS
97272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 Remove defines pertaining to arbitrary limits not affecting GRUB
9730 anymore.
9731
9732 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9733 (EXT2_MAX_SYMLINKCNT): Likewise.
9734 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9735 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9736 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9737 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9738 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9739 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9740 (DN_MAX_OBJECT_SHIFT): Likewise.
9741 (DN_MAX_OFFSET_SHIFT): Likewise.
9742 (DN_MAX_OBJECT): Likewise.
9743 (DNODES_PER_LEVEL_SHIFT): Likewise.
9744 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9745 (SPA_MAXBLOCKSIZE): Likewise.
9746 (SPA_BLOCKSIZES): Likewise.
9747 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9748 (MZAP_MAX_BLKSZ): Likewise.
9749
74a1dce7
VS
97502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9753 handle NULL appropriately.
9754 Remove MIN.
9755
30c7d3ce
VS
97562012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 Fix efiemu.
9759
9760 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9761 cpu/types.h.
9762 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9763 * configure.ac: Fix efiemu check.
9764
3c76ea0c
VS
97652012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9768 grub_probe.
9769 Reported by: adamwill
9770
7e532280
SG
97712012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9772
9773 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9774
30492374
VS
97752012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 Fix handling of wide characters in gfxterm.
9778
9779 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9780 (clear_char): Likewise.
9781 (paint_char): Skip code == NULL chars.
9782 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9783
e70cb72f
VS
97842012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * grub-core/normal/charset.c: Move comment to right place.
9787
5c827cf9
VS
97882012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9791 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9792 (grub_affs_mount): Revert the correct version checking.
9793
53603892
VS
97942012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * docs/grub.texi (Unicode): Mention several other unsupported features.
9797
ff094b9b
VS
97982011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9801 case statements as compile-time one.
9802 (direct_read): Prevent spurious warnings.
9803 (grub_squash_read_data): Likewise.
9804
c029da8a
VS
98052011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 Various squash4 fixes and LZO and XZ support.
9808
9809 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9810 Add xzembed source files.
9811 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9812 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9813 (grub_squash_inode): New subtype long_dir.
9814 (SQUASH_TYPE_LONG_DIR): New inode type.
9815 (COMPRESSION): New enum.
9816 (XZBUFSIZ): New const.
9817 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9818 (read_chunk): Use data->decompress.
9819 (zlib_decompress): New function.
9820 (lzo_decompress): Likewise.
9821 (xz_decompress): Likewise.
9822 (squash_mount): Set new data fields.
9823 (grub_squash_iterate_dir): Handle long dir.
9824 (squash_unmount): Free xzdec and xzbuf.
9825 (grub_squash_open): Check ino type.
9826 (direct_read): Stylistic fixes. Use data->decompress.
9827 (grub_squash_read_data): Likewise.
9828 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9829 (get_byte): Likewise.
9830 (grub_zlib_disk_read): Removed.
9831 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9832 (GRUB_POSIX_BOOL_DEFINED): New define.
9833 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9834 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9835 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9836 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9837
7a45a539
VS
98382011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 Don't override more informative errors.
9841
9842 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9843 * grub-core/font/font.c (open_section): Likewise.
9844 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9845 filename. Don't override errors.
9846 (grub_cmd_openbsd_ramdisk): Don't override errors.
9847 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9848 (grub_cmd_initrd): Likewise.
9849 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9850 (grub_cmd_initrd): Likewise.
9851 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9852 (grub_cmd_linux): Likewise.
9853 (grub_cmd_initrd): Likewise.
9854 (grub_cmd_payload): Likewise.
9855 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9856 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9857 (grub_cmd_module): Likewise.
9858 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9859 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9860 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9861 (grub_cmd_xnu_mkext): Likewise.
9862 (grub_cmd_xnu_ramdisk): Likewise.
9863 (grub_xnu_check_os_bundle_required): Likewise.
9864 (grub_xnu_load_kext_from_dir): Likewise.
9865 (grub_cmd_xnu_kextdir): Likewise.
9866 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9867
b2d004db
VS
98682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9871 as 1024 in block size field. Found on one of my test images.
9872 Small optimisation while on it.
9873
ec000eac
VS
98742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9877 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9878 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9879 performance fixes while on it.
9880 (grub_sfs_close): Fix memory leak while on it.
9881 (grub_sfs_label): Convert Latin1 to UTF-8.
9882
f50e1165
VS
98832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9886 space to avoid overflows.
9887 (grub_hfs_label): Convert from macroman to UTF-8.
9888
2ae254de
VS
98892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9892
0108f491
VS
98932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9896
f45f5f89
VS
98972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * unicode: Import Unicode 6.0 data.
9900
4d8c4765
VS
99012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9902
63fa8ef9
VS
9903 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9904 outside of range.
9905
99062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9909
9910 * include/grub/charset.h (grub_getend): New function.
9911 * grub-core/script/function.c (grub_script_function_find): Use
9912 grub_getend.
9913 * grub-core/normal/completion.c (add_completion): Likewise.
9914
f3cb4a4e
VS
99152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9918 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9919 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9920 (GRUB_UNICODE_TAG_END): Likewise.
9921 (GRUB_UNICODE_LAST_VALID): Likewise.
9922
5da8dbc5
VS
99232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9926 len and make it smaller. All users updated.
9927 * util/import_unicode.py: Put length and not end character.
9928 Check length.
9929
8569f13d
VS
99302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 Make better Unicode-compliant and unify some UTF-8 code pathes.
9933
9934 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9935 valid character.
9936 (grub_is_valid_utf8): Use grub_utf8_process.
9937 Check resulting code range.
9938 (grub_utf8_to_ucs4): Use grub_utf8_process.
9939 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9940 valid character.
9941
cc4fddf5
VS
99422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9945
bbc47747
VS
99462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * docs/grub.texi (Filesystems): Mention AFS.
9949
f63d6bf4
VS
99502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * docs/grub.texi (Filesystems): Clarify restrictions.
9953 (Regexp): Mention non-Unicode regexp behaviour.
9954 (Other): Mention non-Unicode matching behaviour.
9955
74bbf0db
VS
99562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9957
f63d6bf4 9958 Make HFS implementation use MacRoman.
74bbf0db
VS
9959
9960 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9961 (macroman): New const array.
9962 (macroman_to_utf8): New function.
9963 (utf8_to_macroman): Likewise.
9964 (grub_hfs_find_dir): Use utf8_to_macroman.
9965 (grub_hfs_dir): Use macroman_to_utf8.
9966 Set case_insensitive.
9967
4ea0316e
VS
99682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9971
d3c13cbd
VS
99722011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 Integrate hints into autogeneration scripts.
9975
9976 * docs/grub.texi (Filesystems): Add a hostdisk example.
9977 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9978 (grub-probe): Add ofpath.
9979 * gentpl.py: Remove group nosparc64.
9980 * grub-core/commands/search.c (cache_entry): New struct.
9981 (cache): New var.
9982 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9983 * grub-core/commands/search_wrap.c (options): Add platform-specific
9984 hint options.
9985 (grub_cmd_search): Handle platform-specific hints.
9986 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9987 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9988 (grub_util_biosdisk_data): Likewise.
9989 (grub_util_biosdisk_open): Set device_map.
9990 (read_device_map): Handle "" as indication of no map.
9991 Set device_map.
9992 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9993 (grub_util_biosdisk_get_compatibility_hint): New function.
9994 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9995 * include/grub/emu/hostdisk.h
9996 (grub_util_biosdisk_get_compatibility_hint): New proto.
9997 * util/grub-install.in: Don't call grub-mkdevicemap.
9998 Add platform-specific hint to load.cfg.
9999 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10000 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10001 hints. Set root preliminary to compatibility hint, not to OS name.
10002 * util/grub-probe.c (PRINT_*): Add hints.
10003 (print): Make static.
10004 (escape_of_path): New function.
10005 (guess_bios_drive): Likewise.
10006 (guess_efi_drive): Likewise.
10007 (guess_baremetal_drive): Likewise.
10008 (print_full_name): Likewise.
10009 (probe): Handle hints.
10010 (main): Likewise.
10011 * util/ieee1275/devicemap.c: Removed.
10012 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10013 updated.
10014 (grub_util_devname_to_ofpath): Return NULL on failure.
10015
10016 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10017 resource leak.
10018 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10019
10020 * po/POTFILES.in: Regenerated.
10021
10022 Allow purely long options
10023
10024 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10025 (SHORT_ARG_USAGE): Likewise.
10026 (grub_arg_show_help): Compare opt with help_options.
10027 (parse_option): Receive opt as argument. If makes big simplificatons.
10028 All users updated
10029
00ce2df3
VS
100302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10033 Restructure to avoid warning.
10034
e77e325f
VS
100352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * util/grub-install.in: Account for possible escaped comma in device
10038 name.
10039
165099ea
VS
100402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10043 channel.
10044
ce4a999d
VS
100452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10048 allocation and zero-setting.
10049 (grub_ieee1275_get_devname): Check that alias is complete.
10050
379586ad
VS
100512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10054 unaligned segments.
10055
9197b0ad
VS
100562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10059 prefix.
10060 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10061 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10062 Add ieee1275 prefix.
10063
edddb7f9
VS
100642011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * docs/grub.texi (Filesystems): Update.
10067
a1a8b1b9
VS
100682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 Support odc, newc and bigendian cpio formats.
10071
10072 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10073 * grub-core/Makefile.core.def (newc): New module.
10074 (odc): Likewise.
10075 (cpio_be): Likewise.
10076 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10077 (MAGIC): Likewise.
10078 (MAGIC2): Likewise.
10079 (head) [MODE_ODC]: Adapt for the format.
10080 (head) [MODE_NEWC]: Likewise.
10081 (head) [!MODE_*]: Write fields of interest as arrays.
10082 (MAGIC_USTAR): Removed.
10083 (read_number) [MODE_NEWC]: Change to hex.
10084 (read_number) [!MODE_*]: Parse binary arrays.
10085 (grub_cpio_find_file): Factor out the code for better structure and
10086 always use read_number.
10087 (grub_cpio_mount): Use MAGIC and MAGIC2.
10088 (grub_cpio_dir): Exit on first hook non-0 return.
10089 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10090 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10091 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10092 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10093 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10094 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10095 * grub-core/fs/newc.c: New file.
10096 * grub-core/fs/odc.c: Likewise.
10097 * grub-core/fs/cpio_be.c: Likewise.
10098
58eba9ee
VS
100992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 Fix handling of tar numbers occupying the whole field.
10102
10103 * grub-core/fs/cpio.c (read_number): New function.
10104 (grub_cpio_find_file): Use read_number instead of strtoull.
10105
a54a0e12
VS
101062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10109 occupying the whole field size.
10110
a6120aca
LA
101112011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10112
10113 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10114
a93964ce
VS
101152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10118
3ea1ca46
SG
101192011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10120
10121 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10122 TARGET_IMG_LDFLAGS.
10123
b87f7ef2
VS
101242011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10127 (mountinfo_entry): Increase the field size to take escaping into
10128 account.
10129 (find_root_device_from_libzfs): Add one byte to size of strings for
10130 security.
10131
62092395
VS
101322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10135 an assert.
10136 * util/grub-setup.c (setup): Likewise.
10137
1f0b1a77
VS
101382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10141 _LzmaDecodeA.
10142
8eba9997
VS
101432011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * docs/grub.texi (Internationalisation): New section.
10146
dd0c91e9
VS
101472011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * docs/grub.texi (Loopback booting): New section.
10150
101512011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10152
10153 * util/grub-mkstandalone.in: Fix minor typo errors.
10154
198e150a
VS
101552011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10158
10159 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10160 net/icmp.c and net/icmp6.c.
10161 (http): New module.
10162 (priority_queue): Likewise.
10163 * grub-core/io/bufio.c: Rewritten.
10164 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10165 TYPE_WITH_CONFIGFILE_OPTION.
10166 (legacy_commands): Add bootp and dhcp.
10167 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10168 (grub_legacy_parse): Likewise.
10169 * grub-core/lib/priority_queue.c: New file.
10170 * grub-core/net/arp.c: Add missing license header.
10171 (arp_find_entry): Removed.
10172 (arp_find_entry): Likewise.
10173 (grub_net_arp_resolve): Rename to ...
10174 (grub_net_arp_send_request): ...this.
10175 (grub_net_arp_receive): New card argument.
10176 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10177 Set router and DNS server.
10178 (grub_net_configure_by_dhcp_ack): Handle routing information.
10179 (grub_cmd_bootp): Set checksum.
10180 (grub_bootp_init): Remove net_dhcp.
10181 * grub-core/net/dns.c: New file.
10182 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10183 completion.
10184 (get_card_packet): Handle allocation.
10185 (grub_efinet_findcards): Set mtu.
10186 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10187 (get_card_packet): Handle allocation.
10188 (emucard): Set mtu.
10189 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10190 (GRUB_MOD_INIT): Set mtu.
10191 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10192 mtu.
10193 (get_card_packet): Handle allocation.
10194 (grub_ofnet_findcards): Set mtu.
10195 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10196 assert.
10197 (grub_net_recv_ethernet_packet): Handle IPv6.
10198 * grub-core/net/http.c: New file.
10199 * grub-core/net/icmp.c: Likewise.
10200 * grub-core/net/icmp6.c: Likewise.
10201 * grub-core/net/ip.c (ip6addr): New type.
10202 (ip6hdr): Likewise.
10203 (reassemble): Likewise.
10204 (cmp): New function.
10205 (reassembles): New variable.
10206 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10207 (id): New variable.
10208 (send_fragmented): New function.
10209 (grub_net_send_ip_packet): Rename to ...
10210 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10211 Handle non-UDP.
10212 (grub_net_recv_ip_packets): Rename to ...
10213 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10214 (free_rsm): New function.
10215 (free_old_fragments): Likewise.
10216 (grub_net_recv_ip4_packets): New function.
10217 (grub_net_send_ip6_packet): Likewise.
10218 (grub_net_send_ip_packet): Likewise.
10219 (grub_net_recv_ip6_packets): Likewise.
10220 (grub_net_recv_ip_packets): Likewise.
10221 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10222 (LINK_LAYER_CACHE_SIZE): New const.
10223 (link_layer_find_entry): New function.
10224 (grub_net_link_layer_add_address): Likewise.
10225 (grub_net_link_layer_resolve_check): Likewise.
10226 (grub_net_link_layer_resolve): Likewise.
10227 (grub_net_ipv6_get_slaac): Likewise.
10228 (grub_net_ipv6_get_link_local): Likewise.
10229 (grub_cmd_ipv6_autoconf): Likewise.
10230 (parse_ip): Handle one number representation.
10231 (parse_ip6): New functoion.
10232 (match_net): Handle IPv6.
10233 (grub_net_resolve_address): Handle IPv6 and DNS.
10234 (grub_net_resolve_net_address): Handle IPv6.
10235 (route_cmp): New function.
10236 (grub_net_route_address): Find best route.
10237 (grub_net_addr_to_str): Handle IPv6.
10238 (grub_net_addr_cmp): New function.
10239 (grub_net_add_addr): Register local route.
10240 (print_net_address): Handle net address.
10241 (grub_net_poll_cards): Retransmit TCP.
10242 (grub_net_poll_cards_idle_real): Likewise.
10243 (have_ahead): New function.
10244 (grub_net_seek_real): Use underlying seek.
10245 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10246 * grub-core/net/tcp.c: New file.
10247 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10248 (cmp): New function.
10249 (ack): Likewise.
10250 (tftp_receive): Handle unordered input.
10251 (destroy_pq): New function.
10252 (tftp_close): Close pq.
10253 * grub-core/net/udp.c: Put missing license header.
10254 (grub_net_udp_socket): New function.
10255 (udp_socket_register): Likewise.
10256 (grub_net_udp_close): Likewise.
10257 (grub_net_recv_udp_packet): Check checksum.
10258 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10259 * include/grub/misc.h (grub_memchr): New function.
10260 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10261 (grub_net_card_driver): Return buf in recv.
10262 (grub_net_slaac_mac_list): New struct.
10263 (grub_network_level_protocol_id): Add ipv6.
10264 (grub_net_network_level_addr): Likewise.
10265 (grub_net_network_level_net_addr): Likewise.
10266 (grub_net_app_protocol): Add seek.
10267 (grub_net_socket): Removed.
10268 (grub_net_sockets): Likewise.
10269 (grub_net_socket_register): Likewise.
10270 (grub_net_socket_unregister): Likewise.
10271 (FOR_NET_SOCKETS): Likewise.
10272 (grub_net_add_addr): Add const.
10273 (GRUB_NET_BOOTP_*): New enum.
10274 (grub_net_addr_cmp): New proto.
10275 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10276 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10277 (grub_net_hwaddr_to_str): NEw proto.
10278 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10279 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10280 (grub_dns_init): New proto.
10281 (grub_dns_fini): Likewise.
10282 (grub_net_tcp_retransmit): Likewise.
10283 (grub_net_link_layer_add_address): Likewise.
10284 (grub_net_link_layer_resolve_check): Likewise.
10285 (grub_net_link_layer_resolve): Likewise.
10286 (grub_net_dns_lookup): Likewise.
10287 (grub_net_add_dns_server): Likewise.
10288 (grub_net_remove_dns_server): Likewise.
10289 (GRUB_NET_TRIES): New const.
10290 (GRUB_NET_INTERVAL): Likewise.
10291 * include/grub/net/arp.h: Mostly rewritten.
10292 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10293 * include/grub/net/ip.h: Mostly rewritten.
10294 * include/grub/net/netbuff.h: Indent.
10295 * include/grub/net/tcp.h: New file.
10296 * include/grub/net/udp.h: Mostly rewritten.
10297 * include/grub/priority_queue.h: New file.
10298 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10299 (grub_swap_bytes64_compile_time): Likewise.
10300 (grub_cpu_to_be16_compile_time): Likewise.
10301 (grub_cpu_to_be32_compile_time): Likewise.
10302 (grub_cpu_to_be64_compile_time): Likewise.
10303 (grub_be_to_cpu64_compile_time): Likewise.
10304
215c1800
VS
103052011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10308 UINT_TO_PTR with cast.
10309
c17e546c
VS
103102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10313 don't use them.
10314
ff6b18b6
VS
103152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10318 already there.
10319
70ffcc93
VS
103202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10323 confusing ipxe.
10324
e5f4d260
VS
103252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10328 Add missing const attribute.
10329 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10330 Likewise.
10331 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10332 Likewise.
10333
8e54b4b7
VS
103342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10337 misaligned access.
10338 (serpent_setkey): Likewise.
10339 (serpent_encrypt_internal): Likewise.
10340 (serpent_decrypt_internal): Likewise.
10341 (serpent_encrypt): Don't put an alignment-increasing cast.
10342 (serpent_decrypt): Likewise.
10343 (serpent_test): Likewise.
10344
813c0a2b
VS
103452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10348
f2b60fbd
VS
103492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10352
10353 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10354 grub_addr_t casts.
10355 (PTR_TO_UINT64): Likewise.
10356 (PTR_TO_UINT32): Likewise.
10357
5ef5c511
VS
103582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10361 because of stack.
10362 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10363 limit.
10364
c476e6df
VS
103652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10368 text_width > available width a bit more gracefully.
10369
384ad7cc
VS
103702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10373 current address calculation.
10374
96f8caf8
VS
103752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10378 stack.
10379 (encode_block): Likewise.
10380
276b7a8b
VS
103812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10384 certainety.
10385
e3fd394a
VS
103862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10389 non-RS part to avoid RS messing with GDT.
10390 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10391 Increase to suit in realmode routines.
10392
103932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/kern/i386/realmode.S: Increase alignment.
10396 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10397
ee9c2e7a
VS
103982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10401 be deterministic.
10402 (syndroms): Compute 0 syndrom.
10403 (rs_recover): Use 0 syndrom.
10404
7a7f7cc9
VS
104052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10408
a14b16d1
VS
104092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10412 brackets.
10413
9f59e9fc
VS
104142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10415
ca1b552c
VS
10416 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10417 account.
10418 (get_top_pad): Likewise.
10419 (get_right_pad): Likewise.
10420 (get_bottom_pad): Likewise.
10421
104222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10425
e739d698
VS
104262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10429 attribute as the structure isn't guaranteed to be properly aligned.
10430 (grub_efi_pci_device_path): Likewise.
10431 (grub_efi_pccard_device_path): Likewise.
10432 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10433 specify the size of `memory_type'.
10434 (grub_efi_vendor_device_path): Likewise.
10435 (grub_efi_controller_device_path): Likewise.
10436 (grub_efi_acpi_device_path): Likewise.
10437 (grub_efi_expanded_acpi_device_path): Likewise.
10438 (grub_efi_atapi_device_path): Likewise.
10439 (grub_efi_scsi_device_path): Likewise.
10440 (grub_efi_fibre_channel_device_path): Likewise.
10441 (grub_efi_1394_device_path): Likewise.
10442 (grub_efi_usb_device_path): Likewise.
10443 (grub_efi_usb_class_device_path): Likewise.
10444 (grub_efi_i2o_device_path): Likewise.
10445 (grub_efi_mac_address_device_path): Likewise.
10446 (grub_efi_ipv4_device_path): Likewise.
10447 (grub_efi_ipv6_device_path): Likewise.
10448 (grub_efi_infiniband_device_path): Likewise.
10449 (grub_efi_uart_device_path): Likewise.
10450 (grub_efi_vendor_messaging_device_path): Likewise.
10451 (grub_efi_hard_drive_device_path): Likewise.
10452 (grub_efi_cdrom_device_path): Likewise.
10453 (grub_efi_vendor_media_device_path): Likewise.
10454 (grub_efi_file_path_device_path): Likewise.
10455 (grub_efi_protocol_device_path): Likewise.
10456 (grub_efi_piwg_device_path): Likewise.
10457 (grub_efi_bios_device_path): Likewise.
10458
cb8f88ea
VS
104592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10462 (grub_ucs4_to_utf8_alloc): Likewise.
10463 (grub_ucs4_to_utf8): Likewise.
10464 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10465 (grub_ucs4_to_utf8_alloc): Likewise.
10466
309e5352
VS
104672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 AFFS never uses unicode.
10470
10471 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10472 (grub_latin1_to_utf8): New inline function.
10473 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10474
e7987e1b
VS
104752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10478 overflow.
10479
efc2616e
VS
104802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10483 (grub_squash_dirent_header): Likewise.
10484 (read_chunk): Don't double swap.
10485 (grub_squash_iterate_dir): Fix swap sizes.
10486
3c349f5a
VS
104872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10490
b453412d
VS
104912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10494 (grub_hfs_iterate_dir): Likewise.
10495
12e9d4d1
VS
104962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 Fix video on platforms where unaligned access is forbidden.
10499 Make several optimisations while on it.
10500
10501 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10502 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10503 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10504 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10505 Disable.
10506 (grub_video_fbblit_replace_16bit_1bit):
10507 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10508 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10509 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10510 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10511 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10512 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10513 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10514 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10515 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10516 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10517 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10518 (grub_video_fbblit_replace_index_RGB888): Likewise.
10519 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10520 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10521 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10522 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10523 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10524 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10525 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10526 Disable.
10527 (grub_video_fbblit_blend_XXX565_1bit):
10528 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10529 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10530 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10531 void *.
10532 * grub-core/video/fb/video_fb.c (common_blitter)
10533 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10534 (grub_video_fb_create_render_target_from_pointer)
10535 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10536 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10537 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10538 definition.
10539 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10540
ace96609
VS
105412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10544 HH22 and HM10 relocations.
10545
fd261d73
VS
105462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10549
e59b7857
VS
105502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10553 allocation succeeded.
10554
9b4baaa4
VS
105552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10558 argument a u8 pointer. All users updated.
10559 Handle unaligned buffers.
10560
dc713193
VS
105612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10564 add_part to workaround compiler bug.
10565
30dd48c2
VS
105662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10569
0c6087a8
VS
105702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10573 Reserve alignment invariants.
10574 (grub_multiboot_load): Likewise.
10575 (retrieve_video_parameters): Likewise.
10576 (grub_multiboot_make_mbi): Likewise.
10577
c2e77777
VS
105782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10581 incorrect pointer.
10582
b70b6d11
VS
105832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10586 (grub_pata_pio_write): Likewise.
10587
02a2bf83
VS
105882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 Add noreturn attributes and remove unreachable code.
10591
10592 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10593 code.
10594 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10595 code. Mark as noreturn.
10596 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10597 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10598 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10599 unreachable code.
10600 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10601 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10602 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10603 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10604 * include/grub/kernel.h (grub_main): Mark as noreturn.
10605 * include/grub/reader.h (grub_rescue_run): Likewise.
10606
2019d09e
VS
106072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10610 redundant declaration.
10611
d1c501ee
VS
106122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10615 redundant declaration.
10616 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10617
61664420
VS
106182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10621 to ensure alignment.
10622 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10623 alignment. Ensure tmp alignment.
10624 (grub_cmd_hdparm): Ensure buf alignment.
10625 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10626 to ensure alignment.
10627 (grub_ata_dumpinfo): Ensure text alignment.
10628 (grub_atapi_identify): Preserve alignment invariant.
10629 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10630
0d51ee20
VS
106312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10634 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10635 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10636 * include/grub/misc.h (grub_reboot)
10637 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10638 (grub_halt) [__mips__]: Likewise.
10639
753ef8c1
VS
106402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10643 Remove redundant declaration.
10644 (grub_mmap_get_post64): Likewise.
10645 (grub_mmap_get_upper): Likewise.
10646 (grub_mmap_get_lower): Likewise.
10647
85c85365
VS
106482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10651 uint32_t * to ensure alignment.
10652 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10653
a23f2cc4
VS
106542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10655
93018f64
VS
10656 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10657 uint16_t * to ensure alignment.
10658 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10659 alignment.
10660
106612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
10664 to ensure alignment.
10665 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10666
58acccd6
VS
106672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10670 Handle unaligned pointers.
10671 (u32at): Likewise.
10672 (u64at): Likewise.
10673 (fixup): Use byte access instead of v16at.
10674 (find_attr): Fix imporper usage of v32at.
10675 (read_data): Likewise.
10676 (list_file): Handle byte-swapping and unaligned strings.
10677 (grub_ntfs_label): Likewise.
10678
9b05cad7
VS
106792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10682 as it's not necessarily aligned.
10683
b3950b84
VS
106842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10687 redundant declaration.
10688 (grub_serial_init): Likewise.
10689 (grub_terminfo_init): Likewise.
10690
fcd232b7
VS
106912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10694 function.
10695 (ZAP_HASH_IDX): Likewise.
10696 (ZAP_LEAF_HASH_SHIFT): Likewise.
10697 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10698 (LEAF_HASH): Likewise.
10699 (ZAP_LEAF_NUMCHUNKS): Likewise.
10700 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10701 alignment invariants. Return pointer. All users updated.
10702 (ZAP_LEAF_ENTRY): Make into inline function.
10703 (NBBY): Removed.
10704 (xor): LIkewise.
10705 (xor_out): Use grub_crypto_xor.
10706 (dnode_get_path): Use grub_get_unaligned.
10707 (nvlist_find_value): Likewise.
10708 (grub_zfs_nvlist_lookup_uint64): Likewise.
10709 (grub_zfs_nvlist_lookup_string): Likewise.
10710 (get_nvlist_size): Likewise.
10711 (grub_zfs_open): Likewise.
10712 (fill_fs_info): Likewise.
10713 (grub_zfs_dir): Likewise.
10714 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10715 alignment invariants.
10716 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10717 necessarily aligned.
10718
f138623a
VS
107192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10722
564840dc
VS
107232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10726 arithmetic to conserve alignment invariants.
10727
9b40df20
VS
107282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10731 redundant declaration.
10732 (grub_efiemu_mm_obtain_request): Likewise.
10733 (grub_efiemu_prepare): Likewise.
10734
d1c930f9
VS
107352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10738 to match types.
10739
4c5f3056
VS
107402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10743 case of aunaligned recptr.
10744 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10745 alignment.
10746 (grub_hfsplus_btree_search): Handle unaligned index.
10747
728cba91
VS
107482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10751 to get freetag and skip.
10752
eb561f31
VS
107532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10756 array.
10757 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10758 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10759
20993fbb
VS
107602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10763 name for checksum and fix allocation algorithm.
10764
1f313b94
VS
107652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * include/grub/types.h (grub_properly_aligned_t): New type.
10768 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10769 (grub_get_unaligned16): Add explicit casts.
10770 (grub_get_unaligned32): Likewise.
10771 (grub_get_unaligned64): Likewise.
10772 (grub_set_unaligned16): New function.
10773 (grub_set_unaligned32): Likewise.
10774
47ae27ec
VS
107752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10778
78c2cd1c
VS
107792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10782 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10783 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10784
53072f9b
VS
107852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10788 conditionals.
10789
055dc239
VS
107902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10793 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10794
496bd074
VS
107952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 Unify and improve RAID and crypto xor.
10798
10799 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10800 changed to grub_crypto_xor
10801 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10802 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10803 Use bigger types when possible.
10804
ef6e4335
VS
108052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * grub-core/disk/raid.c (scan_devices): Fix condition.
10808
5d048bf2
VS
108092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10812 Make name a const ptr.
10813
ee533335
VS
108142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10817 first argument a const pointer.
10818 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10819 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10820 proto.
10821 (grub_children_iterate): Likewise.
10822 (grub_machine_mmap_iterate): Remove redundant declaration.
10823
cc8f3668
VS
108242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10827 (grub_cmd_acpi) [!x86]: Disable EBDA.
10828
c5fc563a
VS
108292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 Enable UTF8 in gnulib regexp.
10832
10833 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10834 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10835 (isupper): Use grub_isupper.
10836 (isascii): New inline function.
10837 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10838 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10839 * grub-core/normal/charset.c (grub_utf8_process): New function.
10840 (grub_utf8_to_utf16): Use grub_utf8_process.
10841 (grub_encode_utf8_character): New function.
10842 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10843 * include/grub/charset.h (grub_utf8_process): New declaration.
10844 (grub_encode_utf8_character): Likewise.
10845 * include/grub/misc.h (grub_islower): New inline function.
10846 (grub_isupper): Likewise.
10847 (grub_strchrsub): Moved down to fix the definitions.
10848
0af2346f
VS
108492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10852 specification.
10853
74dbd244
VS
108542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * include/grub/loader.h (grub_loader_register_preboot_hook):
10857 Use struct preboot * and not void * for handle. All users updated.
10858 (grub_loader_unregister_preboot_hook): Likewise.
10859
1bc8f60d
VS
108602011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10863 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10864 UTF-16-BE. All users updated.
10865 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10866 (grub_hfsplus_iterate_dir): Likewise.
10867 (grub_hfsplus_label): Likewise.
10868
48d6e456
VS
108692011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10872
bf3a3857
VS
108732011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 Add missing const qualifiers.
10876
10877 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10878 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10879 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10880 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10881 (grub_lvm_check_flag): Likewise.
10882 * grub-core/efiemu/i386/coredetect.c
10883 (grub_efiemu_get_default_core_name): Likewise
10884 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10885 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10886 * grub-core/fs/ntfs.c (fixup): Likewise.
10887 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10888 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10889 (fzap_lookup): Likewise.
10890 (zap_lookup): Likewise.
10891 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10892 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10893 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10894 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10895 (grub_freebsd_add_meta_module): Likewise.
10896 (grub_cmd_freebsd_module): Likewise.
10897 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10898 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10899 (grub_xnu_writetree_get_size): Likewise.
10900 (grub_xnu_writetree_toheap_real): Likewise.
10901 (grub_xnu_find_key): Likewise.
10902 (grub_xnu_create_key): Likewise.
10903 (grub_xnu_create_value): Likewise.
10904 (grub_xnu_register_memory): Likewise.
10905 (grub_xnu_check_os_bundle_required): Likewise.
10906 (grub_xnu_scan_dir_for_kexts): Likewise.
10907 (grub_xnu_load_kext_from_dir): Likewise.
10908 * grub-core/normal/color.c (color_list): Likewise.
10909 * grub-core/normal/completion.c (current_word): Likewise.
10910 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10911 * grub-core/term/serial.c (grub_serial_find): Likewise.
10912 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10913 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10914 Likewise.
10915 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10916 (grub_freebsd_add_meta_module): Likewise.
10917 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10918 * include/grub/net.h (grub_net_card_driver): Likewise.
10919 (grub_net_card): Likewise.
10920 (grub_net_app_protocol): Likewise.
10921 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10922 * include/grub/serial.h (grub_serial_find): Likewise.
10923 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10924 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10925 (grub_xnu_create_value): Likewise.
10926 (grub_xnu_find_key): Likewise.
10927 (grub_xnu_scan_dir_for_kexts): Likewise.
10928 (grub_xnu_load_kext_from_dir): Likewise.
10929
10930 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10931 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10932 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10933 Moved from here ...
10934 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10935
112b4837
CW
109362011-11-28 Colin Watson <cjwatson@ubuntu.com>
10937
10938 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10939
49e891ac
VS
109402011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10943 (read_device): Fix size calculation.
10944
fd258e5c
RM
109452011-11-25 Robert Millan <rmh@gnu.org>
10946
10947 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10948 (find_root_device_from_libzfs): Add zpool output parser to be used
10949 as fallback when libzfs isn't available.
10950
78845dc2
SG
109512011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10952
10953 * po/Makefile.in.in: Add missing escape-continuation.
10954
adac5211
VS
109552011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10958
10b64f1c
VS
109592011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10962
bb416954
VS
109632011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10966
bdfe9eeb
VS
109672011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10970
581ffa8a
VS
109712011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * grub-core/lib/adler32.c: Add missing license specification.
10974 * grub-core/lib/crc64.c: Likewise.
10975 * grub-core/loader/i386/pc/plan9.c: Likewise.
10976 * grub-core/partmap/plan.c: Likewise.
10977
2536cf64
LK
109782011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10979
10980 Add facility to debug GRUB with gdb under qemu.
10981
10982 * grub-core/gdb_grub.in: New file.
10983 * grub-core/gmodule.pl.in: Likewise.
10984 * grub-core/Makefile.core.def (gmodule.pl): New script.
10985 (gdb_grub): Likewise.
10986
bc108a4a
VS
109872011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * util/grub-mount.c (argp_parser): Accept relative pathes.
10990 * util/grub-fstest.c (argp_parser): Likewise.
10991
111c1778
VS
109922011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 Plan9 support.
10995
10996 * Makefile.util.def (libgrubmods): Add
10997 grub-core/partmap/plan.c.
10998 * docs/grub.texi: Notice Plan9 support.
10999 * grub-core/Makefile.core.def (plan9): New module.
11000 (part_plan): Likewise.
11001 * grub-core/loader/i386/pc/plan9.c: New file.
11002 * grub-core/partmap/plan.c: Likewise.
11003 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11004 define.
11005 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11006 * include/grub/mm.h (grub_extend_alloc): New inline function.
11007
c30be3b6
VS
110082011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 Make Reed-Solomon faster by using power of generator representation of
11011 GF(256)*.
11012
11013 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11014 (gf_double_t): Likewise.
11015 (gf_invert): Removed.
11016 (gf_powx): New array.
11017 (gf_powx_inv): Likewise.
11018 (scratch): Move higher.
11019 (gf_reduce): Removed.
11020 (gf_mul): Use powx.
11021 (gf_invert): Likewise.
11022 (init_inverts): Replaced with ...
11023 (init_powx): ...this. All users updated.
11024 (pol_evaluate): Replace multiplications with additions.
11025 (rs_encode): Likewise.
11026 (gauss_eliminate): Call gf_invert.
11027 (grub_reed_solomon_add_redundancy): Call init_powx.
11028 (grub_reed_solomon_recover): Call init_powx unconditionally.
11029
fa5aeffc
VS
110302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11033
a346b81c
VS
110342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11037 disk->partiton for safety.
11038
d89ee414
VS
110392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11042 Fix a memory leak.
11043 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11044
91ee7b6d
VS
110452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11048
91e5a33d
VS
110492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11052
9edd7be2
VS
110532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 Fix spaces handling in proc/self/mountinfo.
11056
11057 * util/getroot.c (unescape): New function.
11058 (grub_find_root_device_from_mountinfo): Use unescape.
11059
ba102053
VS
110602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 Support ZFS embedding.
11063
11064 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11065 (grub_zfs_fs): Register grub_zfs_embed.
11066
aa94b870
VS
110672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 Fix MIPS compilation.
11070
11071 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11072 * include/grub/offsets.h: Rename decompressor fields from
11073 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11074 * util/grub-mkimage.c (image_targets): Use new names.
11075
5fbdac14
VS
110762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 Defer multiboot device parsing until we're in compressed part.
11079
11080 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11081 bsd_part. setdevice has fallen into disuse.
11082 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11083 (bsd_part): Likewise.
11084 (boot_dev): New variable.
11085 (multiboot_trampoline): Don't parse multiboot device.
11086 Pass multiboot device in %edx.
11087 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11088 grub_boot_device.
11089 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11090 Likewise.
11091 * grub-core/kern/i386/pc/startup.S: Save edx.
11092 (grub_boot_drive): Removed.
11093 (grub_install_dos_part): Likewise.
11094 (grub_install_bsd_part): Likewise.
11095 (grub_boot_device): New variable.
11096 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11097 (grub_install_bsd_part): Likewise.
11098 (grub_boot_drive): Likewise.
11099 (grub_boot_device): New variable.
11100 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11101 Removed.
11102 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11103 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11104 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11105 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11106 * util/grub-install.in: Remove redundant condition.
11107
691cbb58
VS
111082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 Fix bug introduced by previous commit.
11111
11112 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11113
60240b8b
VS
111142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 Use decompressors framework on i386-pc. It increases core size
11117 by 46 bytes but improves compatibility and maintainability.
11118
11119 * grub-core/Makefile.core.def (lzma_decompress): New image.
11120 (kernel): Add i386_pc_ldflags.
11121 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11122 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11123 to real_to_prot, prot_to_real and device info.
11124 * include/grub/offsets.h: Renamed decompressor offsets.
11125 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11126 (image_target_desc): Remove raw_size and rename decompressor fields.
11127 (compress_kernel): Handle lzma.
11128 (generate_image): Handle decompressors on i386-pc.
11129
e9d3421c
VS
111302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * configure.ac: Add -fno-asynchronous-unwind-tables.
11133
2b23074a
VS
111342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11135
11136 Move assembly code to C by using intwrap. It increases core size
11137 by 88 bytes but improves compatibility and maintainability.
11138
11139 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11140 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11141 ... here. Translated to C.
11142 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11143 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11144 ... here. Translated to C.
11145 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11146 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11147 ... here. Translated to C.
11148 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11149 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11150 ... here. Translated to C.
11151 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11152 * grub-core/term/i386/pc/console.c (grub_console_cls):
11153 ... here. Translated to C.
11154 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11155 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11156 ... here. Translated to C.
11157 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11158 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11159 Translated to C.
11160 * grub-core/term/i386/pc/console.c (int10_9): New function.
11161 (grub_console_putchar): Likewise.
11162 * include/grub/i386/pc/console.h: Removed the not anymore shared
11163 functions.
11164
678f4b67
VS
111652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 Move grub_chainloader_real_boot out of the kernel.
11168
11169 * grub-core/Makefile.am: Remove machine/loader.h.
11170 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11171 Removed.
11172 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11173 variable.
11174 (grub_relocator16_keep_a20_enabled): Likewise.
11175 (grub_relocator16_boot): Fill new variables.
11176 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11177 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11178 relocator.
11179 (grub_chainloader_unload): Likewise.
11180 (grub_chainloader_cmd): Likewise.
11181 * include/grub/i386/pc/loader.h: Removed.
11182 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11183 and esi. All initialisers updated.
11184
4626edf6
VS
111852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
111862011-11-12 Colin Watson <cjwatson@ubuntu.com>
11187
11188 * Makefile.util.def (grub-mount): New util.
11189 * .bzrignore: Add grub-mount.
11190 * configure.ac: Check for fuse and enable grub-mount if available.
11191 * docs/man/grub-mount.h2m: New file.
11192 * util/grub-mount.c: Likewise.
11193
10f0117b
VS
111942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * grub-core/commands/efi/fixvideo.c: Gettextize.
11197 * grub-core/commands/hashsum.c: Likewise.
11198 * grub-core/commands/i386/cmostest.c: Likewise.
11199 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11200 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11201 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11202 * grub-core/commands/lsmmap.c: Likewise.
11203 * grub-core/commands/menuentry.c: Likewise.
11204 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11205 * grub-core/commands/setpci.c: Likewise.
11206 * grub-core/loader/i386/bsd.c: Likewise.
11207 * grub-core/loader/i386/linux.c: Likewise.
11208 * util/getroot.c: Likewise.
11209 * util/grub-editenv.c: Likewise.
11210 * util/grub-fstest.c: Likewise.
11211 * util/grub-mkfont.c: Likewise.
11212 * util/grub-mkimage.c: Likewise.
11213 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11214 * util/grub-pe2elf.c: Likewise.
11215 * util/grub-probe.c: Likewise.
11216 * util/grub-setup.c: Likewise.
11217 * util/ieee1275/ofpath.c: Likewise.
11218 * util/misc.c: Likewise.
11219 * util/raid.c: Likewise.
11220
566f779b
RM
112212011-11-11 Robert Millan <rmh@gnu.org>
11222
11223 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11224 __attribute__((unused)) from `os_dev', which *is* being used.
11225
b50787de
VS
112262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11229 forgotten define.
11230 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11231 GRUB_IA64_DL_GOT_ALIGN.
11232 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11233 GRUB_IA64_DL_TRAMP_ALIGN.
11234
119d11c8
VS
112352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 Replace grub_fatal with normal errors in i386 linux loader.
11238
11239 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11240 (allocate_pages): Check find_efi_mmap_size return value.
11241 (grub_e820_add_region): Return error.
11242 (grub_linux_boot): Check mmap return value.
11243
6e0632e2
VS
112442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * grub-core/commands/acpihalt.c: Gettextized.
11247 * grub-core/commands/cacheinfo.c: Likewise.
11248 * grub-core/commands/cmp.c: Likewise.
11249 * grub-core/commands/efi/loadbios.c: Likewise.
11250 * grub-core/commands/gptsync.c: Likewise.
11251 * grub-core/commands/ieee1275/suspend.c: Likewise.
11252 * grub-core/commands/legacycfg.c: Likewise.
11253 * grub-core/commands/memrw.c: Likewise.
11254 * grub-core/commands/minicmd.c: Likewise.
11255 * grub-core/commands/parttool.c: Likewise.
11256 * grub-core/commands/time.c: Likewise.
11257 * grub-core/commands/videoinfo.c: Likewise.
11258 * grub-core/disk/geli.c: Likewise.
11259 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11260 * grub-core/disk/luks.c: Likewise.
11261 * grub-core/disk/lvm.c: Likewise.
11262 * grub-core/font/font_cmd.c: Likewise.
11263 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11264 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11265 * grub-core/gfxmenu/view.c: Likewise.
11266 * grub-core/kern/emu/hostdisk.c: Likewise.
11267 * grub-core/kern/emu/main.c: Likewise.
11268 * grub-core/kern/emu/misc.c: Likewise.
11269 * grub-core/kern/emu/mm.c: Likewise.
11270 * grub-core/kern/mips/arc/init.c: Likewise.
11271 * grub-core/kern/mips/loongson/init.c: Likewise.
11272 * grub-core/kern/partition.c: Likewise.
11273 * grub-core/lib/i386/halt.c: Likewise.
11274 * grub-core/lib/mips/arc/reboot.c: Likewise.
11275 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11276 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11277 * grub-core/loader/i386/xnu.c: Likewise.
11278 * grub-core/loader/multiboot.c: Likewise.
11279 * grub-core/net/bootp.c: Likewise.
11280 * grub-core/net/net.c: Likewise.
11281 * grub-core/normal/term.c: Likewise.
11282 * grub-core/partmap/bsdlabel.c: Likewise.
11283 * grub-core/parttool/msdospart.c: Likewise.
11284 * grub-core/term/gfxterm.c: Likewise.
11285 * grub-core/term/terminfo.c: Likewise.
11286 * grub-core/video/i386/pc/vbe.c: Likewise.
11287 * util/grub-menulst2cfg.c: Likewise.
11288 * util/grub-mkdevicemap.c: Likewise.
11289 * util/grub-mklayout.c: Likewise.
11290 * util/grub-mkrelpath.c: Likewise.
11291 * util/grub-script-check.c: Likewise.
11292 * util/ieee1275/grub-ofpathname.c: Likewise.
11293 * util/resolve.c: Likewise.
11294
073aa7a9
VS
112952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 Support %1$d syntax.
11298
11299 * tests/printf_unit_test.c: New file.
11300 * Makefile.util.def (printf_test): New test.
11301 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11302
c76b5417
VS
113032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11306 fix.
11307
df067ad1
VS
113082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11311 dprintf.
11312 * grub-core/font/font.c (grub_font_load): Likewise.
11313
5b289bc5
VS
113142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * util/grub-macho2img.c: Add comment concerning gettext.
11317 * grub-core/lib/legacy_parse.c: Likewise.
11318
c1860f87
VS
113192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11322 (grub_xvasprintf): Likewise.
11323
d35d0d37
VS
113242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 Add const keyword to grub_env_get and gettextize week days.
11327
11328 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11329 (grub_read_hook_datetime): Return const char *.
11330 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11331 updated.
11332 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11333 Mark for gettext.
11334 (grub_get_weekday_name): Return const char *. Call gettext.
11335 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11336 char * and len as the argument. All users updated.
11337 (grub_script_argv_split_append): Receive const char *.
11338 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11339 * include/grub/env.h (grub_env_get): Likewise.
11340 (grub_env_read_hook_t): Return const char *.
11341 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11342 (grub_script_argv_split_append): Likewise.
11343
9aed8a71
VS
113442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11347
067fdf00
VS
113482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11351 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11352
a8bd9d39
VS
113532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11356 Fix prototype.
11357
f7ce5baf
VS
113582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 Fix mips compilation.
11361
11362 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11363 normal decoder.
11364 (hashes): Use in embed decoder as well (for sizes).
11365 (dec_stream_header): Fix embed decompressor logic.
11366 (dec_stream_footer): Likewise.
11367
9bb182f3
VS
113682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11371 an error and not a fatal on unrecognised relocation types.
11372
63a9e6f6
VS
113732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11376 Issue error rather than printf on unknown arguments.
11377
4c458569
VS
113782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11381 Make buf a const.
11382
e2d22baf
VS
113832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11386 Fix module name.
11387
53dc8590
VS
113882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11391 leftover debug printf.
11392
6c189294
VS
113932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11396
f7688369
VS
113972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11400 A stylistic fix.
11401
11a775a3
VS
114022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11405
33f784e8
SL
114062011-11-10 Shea Levy <slevy@tieronedesign.com>
11407
11408 Allow all modules to perform serial IO
11409
11410 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11411 * include/grub/serial.h (grub_serial_port_configure): New inline
11412 function.
11413 (grub_serial_port_fetch): Likewise.
11414 (grub_serial_port_put): Likewise.
11415 (grub_serial_port_fini): Likewise.
11416 (grub_serial_find): New proto.
11417
f6276525
VS
114182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 Put symlink at the end of the node and fix a potential
11421 memory corruption.
11422
11423 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11424 Make symlink into an array.
11425 (set_rockridge): Set have_symlink and alloc_dirents.
11426 (grub_iso9660_read_symlink): Use new layout.
11427 (grub_iso9660_iterate_dir): Fix memory corruption.
11428 Use new layout.
11429 (grub_iso9660_dir): Set have_symlink.
11430 (grub_iso9660_open): Likewise.
11431
c3591189
VS
114322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 Remove local keyword.
11435
11436 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11437 (version_test_gt): Likewise.
11438 (version_find_latest): Likewise.
11439 (gettext_printf): Likewise.
11440 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11441
cb544caa
VS
114422011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11445
45bd824d
VS
114462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 Fix ZFS memory and resource leaks.
11449
11450 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11451 All users updated.
11452 Free type on exit.
11453 (fill_vdev_info): New parameter inserted. All users updated.
11454 (check_pool_label): Likewise.
11455 (scan_disk): Likewise.
11456 (scan_devices): Close non-inserted disks.
11457 (fzap_iterate): Free l.
11458 (unmount_device): Free children descripto memory.
11459
ad9a2f44
VS
114602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11463 argument (access out of bounds).
11464
6b68db81
VS
114652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11468 >= 6 drives.
11469
28840fda
VS
114702011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11473 Fix declaration.
11474
8a5a3a5b
VS
114752011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 Fix several memory leaks.
11478
11479 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11480 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11481 (grub_cpio_dir): Likewise.
11482 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11483 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11484 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11485 (grub_romfs_label): Likewise.
11486 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11487 (squash_unmount): New function.
11488 (grub_squash_dir): Fix memory leak.
11489 (grub_squash_open): Likewise.
11490 (grub_squash_read): Likewise.
11491 (grub_squash_mtime): Likewise.
11492 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11493 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11494 * util/grub-fstest.c (fstest): Likewise.
11495
57b01250
VS
114962011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11499 avoid accessing beyond the array.
11500
19e81ba7
VS
115012011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11504
52b656c0
VS
115052011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 Several AFFS fixes.
11508
11509 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11510 (GRUB_AFFS_FLAG_FFS): Removed.
11511 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11512 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11513 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11514 (grub_fshelp_node): Make block 32-bit.
11515 Add block_cache and last_block_cache.
11516 (grub_affs_read_block): Fill and use block cache.
11517 (grub_affs_read_file): Removed.
11518 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11519 boot block.
11520 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11521 safety.
11522 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11523 space.
11524 (grub_affs_close): Free block cache.
11525 (grub_affs_read): Use grub_fshelp_read_file directly.
11526
438a746a
VS
115272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11528
11529 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11530 with no error set.
11531
49a45021
VS
115322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11535 used variable.
11536 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11537 Likewise.
11538
3ae17eb8
VS
115392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11542
11543 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11544 byteswap when needed.
11545
27610c38
VS
115462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 Fix FreeBSD compilation.
11549
11550 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11551 to avoid circular dependency.
11552 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11553 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11554 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11555
4a19b601
VS
115562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 Fix ZFS crypto error types.
11559
11560 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11561 (grub_gcm_decrypt): Likewise.
11562 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11563 from PBKDF2.
11564
958ee221
VS
115652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 Illumos support.
11568
11569 * Makefile.util.def (10_illumos): New script.
11570 * configure.ac: Set COND_HOST_ILLUMOS.
11571 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11572 Support Illumos calls.
11573 (find_partition_start) [__sun__]: Likewise.
11574 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11575 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11576 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11577 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11578 device.
11579 * util/grub-probe.c (probe) [__sun__]: Do character check.
11580 * util/grub.d/10_illumos.in: New file.
11581
cac14fb6
VS
115822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 Support escaped commas in hostdisk.
11585
11586 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11587 (find_grub_drive): Use unescape_cmp.
11588 (make_device_name): Escape commas.
11589
78e08dc3
VS
115902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11593
9f421dd1
VS
115942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11597 variable.
11598
ed64e9e2
VS
115992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 Support trampoline jumps on powerpc.
11602
11603 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11604 __ia64__ path.
11605 (grub_dl_load_segments): Set mod->sz.
11606 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11607 segments.
11608 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11609 (jump): Likewise.
11610 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11611 function.
11612 (trampoline): New struct.
11613 (trampoline_template): New const.
11614 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11615 * include/grub/dl.h (grub_dl): Add sz element.
11616 [__powerpc__]: Follow __ia64__.
11617 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11618 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11619 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11620 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11621
3084ede4
VS
116222011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 ZFS crypto support.
11625
11626 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11627 * grub-core/Makefile.core.def (zfscrypt): New module.
11628 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11629 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11630 it. All users updated.
11631 (grub_zfs_decrypt): New var.
11632 (grub_zfs_load_key): Likewise.
11633 (zio_checksum_functions): Add SHA256+MAC.
11634 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11635 (zio_read): Handle encrypted blocks.
11636 (zap_verify): Remove incorrect check.
11637 (fzap_iterate): Handle non-standard fzap.
11638 (zap_iterate): Likewise.
11639 (zap_iterate_u64): New function.
11640 (dnode_get_fullpath): Load keys.
11641 * grub-core/fs/zfs/zfscrypt.c: New file.
11642 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11643 (grub_crypto_ecb_encrypt): Make input const.
11644 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11645 (grub_crypto_ecb_encrypt): Make input const.
11646 (GRUB_CIPHER_AES): New macro.
11647 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11648 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11649 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11650 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11651 prefix. All users updated.
11652 (grub_zfs_add_key): New proto.
11653 (grub_zfs_decrypt): Likewise.
11654 (grub_zfs_load_key): Likewise.
11655 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11656 * util/grub-fstest.c (options): Add -K option.
11657 (argp_parser): Likewise.
11658
b632b404
VS
116592011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 Support zle compression on ZFS.
11662
11663 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11664 (decomp_table): Add zle.
11665 * include/grub/zfs/zio.h (zio_compress): Add zle.
11666
c7ba4f69
VS
116672011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11668
11669 Support BtrFS embedding.
11670
11671 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11672 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11673 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11674 * util/grub-setup.c (setup): Use fs embedding if available.
11675 Add additional sanity check.
11676
455377d9
VS
116772011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * util/grub-install.in: Fix condition for config_opt.
11680
c2fd16ca
VS
116812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 Support third redundancy strip on raidz3.
11684
11685 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11686 Return error on singularity. All users updated.
11687 (read_device): Don't stop on 3rd failure on raidz3.
11688
8622923b
VS
116892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 Support case-insensitive ZFS subvolumes.
11692
11693 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11694 All users updated.
11695 (zap_hash): Likewise.
11696 (name_cmp): New function.
11697 (zap_leaf_array_equal): New parameter case_insensitive.
11698 All users updated.
11699 (zap_leaf_lookup): Likewise.
11700 (fzap_lookup): Likewise.
11701 (zap_lookup): Likewise.
11702 (dnode_get_path): New parameter case_insensitive. Retrieve case
11703 sensitiviness of a volume. All users updated.
11704 (dnode_get_fullpath): New parameter case_insensitive.
11705 All users updated.
11706 (grub_zfs_dir): Set info.case_insensitiveness.
11707
95f2e860
VS
117082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 Support second redundancy strip on raidz(2,3).
11711
11712 * grub-core/fs/zfs/zfs.c (powx): New array.
11713 (powx_inv): Likewise.
11714 (poly): New const.
11715 (xor_out): New function.
11716 (gf_mul): Likewise.
11717 (recovery): Likewise.
11718 (read_device): Use second redundancy strip.
11719
11ee4389
VS
117202011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 Use a power of generator representation of GF(256) multiplication group
11723 to save space time and complexity.
11724
11725 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11726 (raid6_table2): Likewise.
11727 (powx): New array.
11728 (powx_inv): Likewise.
11729 (poly): New const.
11730 (grub_raid_block_mul): Replace with ...
11731 (grub_raid_block_mulx): ...this.
11732 (grub_raid6_init_table): Rewritten.
11733 (grub_raid6_recover): Use power of generator representation.
11734
09e2763f
VS
117352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11738 for the right device.
11739
8bec9a28
VS
117402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11743 expected by grub-mkimage and it's more clear since there is no implicit
11744 padding.
11745
dbd3a32e
VS
117462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11749 disk.
11750 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11751
182c872a
PMH
117522011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11753
11754 * util/grub-mkrescue.in: Fix handling xorriso option.
11755
1e51cabd
VS
117562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11759 NULL.
11760
9cc3581d 117612011-11-03 crocket <crockabiscuit@gmail.com>
11762
11763 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11764
158dc1ea
VS
117652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 XZ CRC64 and SHA256 support.
11768
11769 * Makefile.util.def (libgrubmods): Add crc64.c.
11770 * grub-core/Makefile.core.def (crc64): New module.
11771 * grub-core/lib/crc64.c: New file.
11772 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11773 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11774 Fix the type.
11775 (MAX_HASH_SIZE): New define.
11776 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11777 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11778 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11779 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11780 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11781 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11782 Handle non-crc32 hashes.
11783 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11784 (dec_stream_header): Handle non-crc32 hashes.
11785 (dec_stream_footer): Likewise.
11786 (dec_block_header): Likewise.
11787 (dec_main): Likewise.
11788 (xz_dec_init): Likewise.
11789 (xz_dec_reset): Likewise.
11790 (xz_dec_end): Likewise.
11791 * util/import_gcry.py: Add CRC64 line.
11792
9d9b3d2f
VS
117932011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11796 as well.
11797
7d0ac931
VS
117982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 Make reiserfs label retrieval similar to other *_label functions.
11801
11802 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11803 (REISERFS_MAX_LABEL_LENGTH): Removed.
11804 (REISERFS_LABEL_OFFSET): Likewise.
11805 (grub_reiserfs_label): Rewritten.
11806
118072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11810 field.
11811
cf5ba824
VS
118122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11815
17744004
VS
118162011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11819 drive failure on both raidz and raidz2.
11820
aca5aefc
VS
118212011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 Fix RAIDZ(2) for >= 5 devices.
11824
11825 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11826 asize argument. All users updated.
11827
ce8ca56e
VS
118282011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 Fix RAIDZ(2).
11831
11832 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11833 (fill_vdev_info_real): Set ashift.
11834 (read_device): Rewrite RAIDZ part based on reverse engineering.
11835
7c01e783
VS
118362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11839 don't report potentially unavialiable fields in debug output.
11840 (find_path): Fix double-free and memory leak.
11841
ce109e84
VS
118422011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 Read label on UFS1.
11845
11846 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11847 (grub_ufs_fs): Always set .label.
11848
87661123
VS
118492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11850
11851 Use shifts in UFS.
11852
11853 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11854 (grub_ufs_data): New field log2_blksz.
11855 (grub_ufs_read_file): Use shifts.
11856 (grub_ufs_mount): Check block size and logarithm it.
11857
46bc1dc2
VS
118582011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11861 long symlinks.
11862
19ee2987
VS
118632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 Handle symlinks and long names on tar and cpio.
11866
11867 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11868 (ATTR_FILE): Likewise.
11869 (ATTR_DIR): Likewise.
11870 (ATTR_LNK): Likewise.
11871 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11872 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11873 L and K entries.
11874 (grub_cpio_mount): Zero-fill data.
11875 (handle_symlink): New function.
46bc1dc2
VS
11876 (grub_cpio_dir): Handle symlinks.
11877 (grub_cpio_open): Likewise.
11878 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11879
c83a08d8
VS
118802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 Fix iso9660 filename limitations and fix memory leaks.
11883
11884 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11885 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11886
45cdd3ea
VS
118872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 Fix JFS file name length limitations.
11890
11891 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11892 (grub_jfs_diropen): Fix maximum filename length.
11893 (grub_jfs_getent): Fix filename length.
11894 (grub_jfs_lookup_symlink): Fix size checks.
11895
94ef05c2
VS
118962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11899 string.
11900
785ab8c7
VS
119012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11902
eb0b6b45
VS
11903 Leverage BFS implementation to read AFS.
11904
11905 * Makefile.util.def (libgrubmods): Add afs.c.
11906 * grub-core/Makefile.core.def (afs): New module
11907 * grub-core/fs/afs.c: New file.
11908 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11909
119102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11913
c4a1628f
VS
119142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * grub-core/fs/bfs.c: Run indent.
11917
5825b379
VS
119182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 BFS implementation based on the specification.
11921
11922 * grub-core/fs/bfs.c: New file.
11923 * Makefile.util.def (libgrubmods): Add bfs.c.
11924 * grub-core/Makefile.core.def (bfs): New module.
11925
42b2a706
VS
119262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * util/grub-fstest.c (cmd_cp): Clarify error message.
11929 (cmd_cmp): Likewise.
11930
61b99bfc
YB
119312011-10-30 Yves Blusseau <blusseau@zetam.org>
11932
11933 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11934 and befs_be.
11935
faba3d16
VS
119362011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 Remove afs and befs because of copyright problem.
11939
11940 * grub-core/fs/afs.c: Removed.
11941 * grub-core/fs/afs_be.c: Removed.
11942 * grub-core/fs/befs.c: Removed.
11943 * grub-core/fs/befs_be.c: Removed.
11944 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11945 * grub-core/Makefile.core.def (afs): Removed.
11946 (afs_be): Likewise.
11947 (befs): Likewise.
11948 (befs_be): Likewise.
11949
c39224b0
VS
119502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 Prefer rockridge over Joliet.
11953
11954 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11955 to ...
11956 (set_rockridge): ... here.
11957 (grub_iso9660_mount): Check rockridge on the primary label when
11958 discovering. Ignore Joliet if Rockridge is present.
11959
e551115a
VS
119602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 Use shifts in nilfs2.
11963
11964 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11965 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11966 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11967 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11968 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11969 (grub_nilfs2_entries_per_block): Replaced with ...
11970 (grub_nilfs2_log_entries_per_block_log): ... this.
11971 (grub_nilfs2_blocks_per_group): Replaced with ...
11972 (grub_nilfs2_blocks_per_group_log): ... this.
11973 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11974 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11975 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11976 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11977 (grub_nilfs2_palloc_entry_offset): Replaced ...
11978 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11979 (grub_nilfs2_dat_translate): Use shifts.
11980 (grub_nilfs2_read_inode): Likewise.
11981 (GRUB_MOD_INIT): Ensure that logs are correct.
11982
564dd58c
VS
119832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 Use shifts in minix filesystem.
11986
11987 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11988 (GRUB_MINIX_ZONE2SECT): Likewise.
11989 (grub_minix_data): Replace block_size with log_block_size.
11990 (grub_minix_read_file): Use shifts.
11991 (grub_minix_mount): Check block size and take a logarithm.
11992
ed9ba06d
VS
119932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 Use shifts in squash4.
11996
11997 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11998 (squash_mount): Check block size and take logarithm.
11999 (direct_read): Use shifts.
12000
ad03fe76
VS
120012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Correct befs block counting logic.
12004
12005 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12006 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12007 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12008 (grub_afs_read_inode): Use block_shift.
12009 (RANGE_SHIFT): New definition.
12010 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12011 unexpected conditions, use shifts and appropriate types.
12012 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12013
6563f63d
VS
120142011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * grub-core/disk/raid.c (scan_devices): Check partition.
12017 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12018
5b1ae25f
VS
120192011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 Support BFS (befs) UUID.
12022
12023 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12024 (grub_afs_small_data_element_header): New struct.
12025 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12026 (grub_afs_read_attribute) [MODE_BFS]: New function.
12027 (grub_afs_iterate_dir): Allocate for complete inode.
12028 (grub_afs_mount): Likewise.
12029 (grub_afs_uuid) [MODE_BFS]: New function.
12030 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12031
f8d82408
VS
120322011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12035 (zfs_unmount): Fix memory leak.
12036
5773fb64
VS
120372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 Support NTFS reparse points.
12040
12041 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12042 (symlink_descriptor): New struct.
12043 (grub_ntfs_read_symlink): New function.
12044 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12045 (grub_ntfs_open): Likewise.
12046
91c3fdde
VS
120472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12050
3be82e10
VS
120512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 fstest xnu_uuid subcommand.
12054
12055 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12056 grub-core/commands/xnu_uuid.c.
12057 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12058 (fstest): Handle xnu_uuid.
12059 (options): Document xnu_uuid.
12060 (argp_parser): Parse xnu_uuid.
12061
8e32442e
VS
120622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12065 -l argument. Add newline at the end if printing.
12066 (GRUB_MOD_INIT): Document -l.
12067
52a05075
VS
120682011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12071
1869edb5
VS
120722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 ZFS multi-device and version 33 support.
12075
12076 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12077 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12078 (grub_zfs_data): Add multidev-ice-related fields.
12079 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12080 (dva_get_offset): Make dva const.
12081 (zfs_fetch_nvlist): New function.
12082 (fill_vdev_info_real): Likewise.
12083 (fill_vdev_info): Likewise.
12084 (check_pool_label): Likewise.
12085 (scan_disk): Likewise.
12086 (scan_devices): Likewise.
12087 (read_device): Likewise.
12088 (read_dva): Likewise.
12089 (zio_read_gang): Use read_dva.
12090 (zio_read_data): Likewise.
12091 (zap_leaf_lookup): Add missing endian conversion.
12092 (zap_verify): Add missing endian conversion. All users updated.
12093 (fzap_lookup): Likewise.
12094 (fzap_iterate): Likewise.
12095 (dnode_get_path): Handle SA bonus.
12096 (nvlist_find_value): Make input const. All users updated.
12097 (unmount_device): New function.
12098 (zfs_unmount): Use unmount_device.
12099 (zfs_mount): Use scan_disk.
12100 (zfs_mtime): New function.
12101 (grub_zfs_open): Handle system attributes.
12102 (fill_fs_info): Likewise.
12103 (grub_zfs_dir): Likewise.
12104 (grub_zfs_fs): Add mtime.
12105 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12106 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12107 (SA_MTIME_OFFSET): Likewise.
12108 (SA_SYMLINK_OFFSET): Likewise.
12109 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12110 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12111 (fstest): Support zfsinfo.
12112 (argp_parser): Likewise.
12113
186b4028
VS
121142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12117 error.
12118
121192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12120
12121 ZFS fixes.
12122
12123 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12124 sharing the same block. Iterate over correct number of indices.
12125 (dnode_get_path): Handle symlinks correctly.
12126
c0584900
VS
121272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12130
67e2bd71
VS
121312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 Read label on HFS+.
12134
12135 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12136 (grub_hfsplus_btree_search): Fix types.
12137 (grub_hfsplus_label): Implement.
12138
e9cc6b7b
VS
121392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12142
19832ddb
VS
121432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12146
66b40850
VS
121472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 Fix symlink handling on iso9660.
12150
12151 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12152 All users updated.
12153 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12154 (grub_iso9660_read_symlink): Moved most of code ...
12155 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12156
db821363
VS
121572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12160 Use union to avoid breaking strict-aliasing rules.
12161
e1211949
VS
121622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 Support multi-extent iso files.
12165
12166 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12167 Add node.
12168 (grub_fshelp_node): Revamp. All users updated.
12169 (FLAG_*): New enum.
12170 (read_node): New function.
12171 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12172 All users updated.
12173 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12174 (get_node_size): New function.
12175 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12176 entries.
12177 Fix memory leak on . and ..
12178 (grub_iso9660_read): Use read_node.
12179 (grub_iso9660_close): Free node.
12180
d4888031
VS
121812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 Fix tar 4G limit and handle paths containing dot.
12184
12185 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12186 (canonicalize): New function.
12187 (grub_cpio_find_file): Use canonicalize. Store offs in
12188 grub_disk_addr_t.
12189 (grub_cpio_dir): Use grub_disk_addr_t.
12190 (grub_cpio_open): Likewise.
12191
9f12e664
VS
121922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12195
12196 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12197 unused flags.
12198 (grub_squash_inode): Add long_file and block_size.
12199 (grub_squash_cache_inode): New struct.
12200 (grub_squash_dirent): Make types into enum.
12201 (SQUASH_TYPE_LONG_REGULAR): New type.
12202 (grub_squash_frag_desc): Add field size.
12203 (SQUASH_BLOCK_FLAGS): New enum.
12204 (grub_squash_data): Use grub_squash_cache_inode.
12205 (grub_fshelp_node): Make ino_chunk 64-bit.
12206 (read_chunk): Minor argument change. All users updated.
12207 (squash_mount): Use correct le_to_cpu.
12208 (grub_squash_open): Handle LONG_REGULAR.
12209 (direct_read): New function.
12210 (grub_squash_read_data): Handle blocks correctly.
12211
9f326fba
VS
122122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12215
f4d9b64b
VS
122162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12219
5bbd28b8
VS
122202011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 Fix 2G limit on ZFS.
12223
12224 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12225 types.
12226 (uberblock_verify): Likewise.
12227 (dmu_read): Likewise.
12228 (grub_zfs_read): Likewise. Remove invalid cast.
12229
68c72069
VS
122302011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12233 (grub_jfs_blkno): Fix incorrect shift.
12234 (grub_jfs_read_file): Use more appropriate types.
12235
6e536dc8
VS
122362011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 Support triple indirect on minix2 and minix3.
12239
12240 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12241 Declare triple_indir_zone.
12242 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12243 indirect.
12244
e0864e7a
VS
122452011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 Minix FS fixes.
12248
12249 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12250 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12251 Rename ctime to mtime. All users updated.
12252 (grub_minix_get_file_block): Fix types and double indirect computations.
12253
89481cab
VS
122542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12257 if no label is found.
12258 (grub_fat_iterate_dir): Fix file size type.
12259 (grub_fat_iterate_dir): Likewise.
12260
f646e143
VS
122612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12264 save some space.
12265 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12266 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12267
534d769e
VS
122682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12271
e084ba18
VS
122722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * util/import_gcry.py: Accept space between # and include.
12275
3471ecdf
VS
122762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12279
124df5f6
VS
122802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12283
12284 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12285 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12286 yylex_strncpy.
12287 * grub-core/script/yylex.l: Add fine-grained #pragma.
12288
4defb8d5
VS
122892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12292 New inline function.
12293 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12294 Likewise.
12295 (memset) [GRUB_UTIL]: Likewise.
12296 (memcmp) [GRUB_UTIL]: Likewise.
12297
4e94ae65
VS
122982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12301 inline function rather than a define.
12302
18c575e5
VS
123032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * util/grub-setup.c: Add missing include.
12306
f8bc22a8
VS
123072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * util/ieee1275/grub-ofpathname.c: Add missing include.
12310
3ce69fc9
VS
123112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12314 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12315 Likewise.
12316
d1e293bb
VS
123172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12320 grub_memcmp usage.
12321
7a5c54a4
VS
123222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * util/grub-install.in: Add datarootdir as per automake manual
12325 suggestion.
12326 * util/grub-mknetdir.in: Likewise.
12327
123282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12329
12330 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12331 suggestion.
12332 * util/grub.d/10_kfreebsd.in: Likewise.
12333 * util/grub.d/10_linux.in: Likewise.
12334 * util/grub.d/10_netbsd.in: Likewise.
12335 * util/grub.d/10_windows.in: Likewise.
12336 * util/grub.d/20_linux_xen.in: Likewise.
12337
766f7d08
VS
123382011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 Remove redundant grub_kernel_image_size.
12341
12342 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12343 _edata and _start.
12344 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12345 the small code. It moves it only by few bytes but simplifies the code.
12346 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12347 _start.
12348 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12349 (grub_kernel_image_size): Removed.
12350 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12351 (grub_kernel_image_size): Removed.
12352 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12353 compiled with Apple toolchain.
12354 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12355 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12356 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12357 (grub_total_module_size): Likewise.
12358 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12359 Removed.
12360 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12361 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12362 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12363 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12364 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12365 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12366 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12367 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12368 Removed.
12369 (grub_total_module_size): Removed.
12370 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12371 (image_targets): Likewise.
12372 Set .compressed_size to no field on sparc.
12373 (generate_image): Remove kernel_image_size handling.
12374
fcf1d672
SJ
123752011-10-19 Szymon Janc <szymon@janc.net.pl>
12376
12377 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12378 NULL pointer dereference.
12379
de9c615e
VS
123802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12383 done with a dedicated section.
12384
12385 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12386 Ensure the correct position of boot_path.
12387 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12388 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12389 other fields.
12390 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12391 * include/grub/boot.h: Removed. All references removed.
12392 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12393 Removed.
12394 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12395
e55599dc
VS
123962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12399 name.
12400
36dd20ad
VS
124012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12404
f8f72eb8
VS
124052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12408 Don't add the bogus brackets.
12409
a374751b
VS
124102011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 ExFAT support.
12413
12414 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12415 * grub-core/Makefile.core.def (exfat): New module.
12416 * grub-core/fs/exfat.c: New file.
12417 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12418 (GRUB_FAT_ATTR_*): Make into an enum.
12419 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12420 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12421 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12422 (GRUB_FAT_MAXFILE): Removed.
12423 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12424 (grub_current_fat_bpb_t): New type.
12425 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12426 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12427 (grub_fat_dir_node_t): New type.
12428 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12429 (fat_log2) [MODE_EXFAT]: Removed.
12430 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12431 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12432 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12433 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12434 (grub_fat_label) [MODE_EXFAT]: New function.
12435 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12436 reserved_first_sector to 0.
12437
544c2487
VS
124382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 Move grub_reboot out of the kernel.
12441
12442 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12443 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12444 * grub-core/lib/efi/reboot.c: ... here.
12445 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12446 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12447 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12448 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12449 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12450 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12451 * grub-core/lib/ieee1275/reboot.c: ... here.
12452 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12453 * grub-core/lib/mips/arc/reboot.c: ... here.
12454 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12455 * grub-core/lib/mips/loongson/reboot.c: ...here.
12456 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12457 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12458 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12459 * include/grub/i386/reboot.h: New file.
12460 * include/grub/mips/loongson/ec.h: Fix includes.
12461 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12462 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12463 * grub-core/lib/i386/reboot.c: New file.
12464
a97501d2
VS
124652011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 Make grub_prefix into module to fix the arbitrary limit and save
12468 some space.
12469
12470 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12471 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12472 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12473 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12474 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12475 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12476 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12477 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12478 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12479 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12480 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12481 * include/grub/ia64/efi/kernel.h: Removed.
12482 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12483 (grub_prefix): Removed.
12484 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12485 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12486 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12487 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12488 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12489 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12490 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12491 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12492 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12493 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12494 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12495 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12496 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12497 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12498 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12499 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12500 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12501 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12502 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12503 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12504 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12505 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12506 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12507 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12508 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12509 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12510 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12511 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12512 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12513 from module.
12514 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12515 prefix_end.
12516 (image_targets): Likewise.
12517 (generate_image): Put prefix as a module.
12518
39705fad
VS
125192011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 Replace grub_module_iterate with FOR_MODULES.
12522
12523 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12524 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12525 (grub_efi_modules_addr): ...this.
12526 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12527 (grub_efi_init): Set grub_modbase.
12528 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12529 (grub_modbase): New variable.
12530 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12531 (grub_modbase): New variable.
12532 (grub_machine_init): Set grub_modbase.
12533 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12534 (grub_modbase): New variable.
12535 (grub_machine_init): Set grub_modbase.
12536 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12537 (grub_modbase): New variable.
12538 (grub_machine_init): Set grub_modbase.
12539 * grub-core/kern/main.c (grub_module_iterate): Remove.
12540 (grub_modules_get_end): Use grub_modbase.
12541 (grub_load_modules): Use FOR_MODULES.
12542 (grub_load_config): Likewise.
12543 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12544 (grub_modbase): New variable.
12545 (grub_machine_init): Set grub_modbase.
12546 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12547 (grub_modbase): New variable.
12548 (grub_machine_init): Set grub_modbase.
12549 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12550 Removed.
12551 (grub_modbase): New variable.
12552 (grub_machine_init): Set grub_modbase.
12553 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12554 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12555 (grub_module_iterate): Likewise.
12556 (grub_modbase): New variable declaration.
12557 (FOR_MODULES): New macro.
12558
2afb7f6c
VS
125592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12562 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12563
366e34fa
VS
125642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Fix few obvious type discrepancies.
12567
12568 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12569 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12570 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12571 variable.
12572 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12573 and connected types.
12574 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12575 offset.
12576 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12577 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12578 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12579 and connected types.
12580
177b960e
VS
125812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 Fix python 3.x incompatibilities.
12584
12585 * gentpl.py: Put brackets around print strings.
12586 * util/import_gcry.py: Open explicitly as utf-8.
12587 Use in instead of has_key.
12588
3b619ae1
VS
125892011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12592 (GRUB_XFS_INO_AGBITS): Make into inline function.
12593 (GRUB_XFS_INO_INOINAG): Likewise.
12594 (GRUB_XFS_INO_AG): Likewise.
12595 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12596 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12597 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12598 (GRUB_XFS_EXTENT_SIZE): Likewise.
12599 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12600 (GRUB_XFS_NEXT_DIRENT): Likewise.
12601 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12602 (grub_xfs_read_file): Fix offset type.
12603
8bcebcb8
RM
126042011-10-15 Robert Millan <rmh@gnu.org>
12605
12606 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12607
0017e5ef
RM
126082011-10-15 Robert Millan <rmh@gnu.org>
12609
12610 Fix build problem on FreeBSD and GNU/kFreeBSD.
12611
12612 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12613
d8919552
VS
126142011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12617
12618 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12619 types.
12620 (grub_hfsplus_btree_recoffset): Likewise.
12621 (grub_hfsplus_btree_recptr): Likewise.
12622 (grub_hfsplus_find_block): Likewise.
12623 (grub_hfsplus_btree_search): Likewise.
12624 (grub_hfsplus_read_block): Likewise.
12625 (grub_hfsplus_read_file): Likewise.
12626 (grub_hfsplus_mount): Likewise.
12627 (grub_hfsplus_btree_iterate_node): Likewise.
12628 (grub_hfsplus_btree_search): Likewise.
12629 (grub_hfsplus_iterate_dir): Likewise.
12630 (grub_hfsplus_read): A small code simplification.
12631
c81296b6
VS
126322011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/kern/emu/hostdisk.c
12635 (convert_system_partition_to_system_disk): Don't assume that children
12636 of mapper nodes are mapper nodes.
12637
0eb8ffb1
VS
126382011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12641 * include/grub/misc.h (grub_isxdigit): New function.
12642 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12643 switched to grub_isxdigit.
12644 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12645 number starting with a letter.
12646
a98f4a08
RM
126472011-10-09 Robert Millan <rmh@gnu.org>
12648
12649 LVM support for FreeBSD and GNU/kFreeBSD.
12650
12651 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12652 GNU/kFreeBSD.
12653 (LVM_DEV_MAPPER_STRING): Move from here ...
12654 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12655 * util/getroot.c: Include `<grub/util/lvm.h>'.
12656 (grub_util_get_dev_abstraction): Enable
12657 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12658 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12659 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12660 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12661 support it.
12662 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12663 GNU/kFreeBSD.
12664 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12665 when LVM abstraction is required for ${GRUB_DEVICE}.
12666
050e8e90
SJ
126672011-10-06 Szymon Janc <szymon@janc.net.pl>
12668
12669 Add support for LZO compression in GRUB:
12670 - import of minilzo library,
12671 - LZO decompression for btrfs,
12672 - lzop files decompression.
12673
12674 * grub-core/io/lzopio.c: New file.
12675 * grub-core/lib/adler32.c: Likewise.
12676 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12677 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12678 * grub-core/lib/minilzo/minilzo.c: Likewise.
12679 * grub-core/lib/minilzo/minilzo.h: Likewise.
12680 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12681 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12682 grub-core/lib/minilzo/minilzo.c to common.
12683 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12684 cflags in cppflags.
12685 * grub-core/Makefile.core.def (btrfs): Likewise.
12686 * grub-core/Makefile.core.def (lzopio): New module.
12687 (adler32): Likewise.
12688 * grub-core/fs/btrfs.c: Include minilzo.h.
12689 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12690 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12691 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12692 (grub_btrfs_lzo_decompress): New function.
12693 (grub_btrfs_extent_read): Add support for LZO compression type.
12694 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12695 (GRUB_USHRT_MAX): Likewise.
12696 (GRUB_UINT_MAX): Likewise.
12697 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12698 (UINT_MAX): Likewise.
12699 (CHAR_BIT): Likewise.
12700 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12701 grub-core/lib/posix_wrap/limits.h
12702 (UCHAR_MAX): Likewise.
12703 * include/grub/file.h (grub_file_filter_id): New compression filter
12704 GRUB_FILE_FILTER_LZOPIO.
12705 * include/grub/file.h (grub_file_filter_id): Set
12706 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12707 * include/grub/types.h (grub_get_unaligned16): New function.
12708 (grub_get_unaligned32): Likewise.
12709 (grub_get_unaligned64): Likewise.
12710 * util/import_gcry.py (cryptolist): Add adler32.
12711
0eb8ffb1
VS
127122011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12715 in perspective decreases the complexity of build system and fixes
12716 compilation right now.
12717
ce79cc99 127182011-10-01 Ales Nesrsta <starous@volny.cz>
12719
12720 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12721 (fixed problem related to using UHCI with coreboot).
12722
8667a314
BC
127232011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12724
12725 * gentpl.py: Use Autogen macros so that the output template file
12726 (Makefile.tpl) size is reduced.
12727
fc5efcc0
MK
127282011-09-29 Mads Kiilerich <mads@kiilerich.com>
12729
12730 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12731 extra_dist.
12732
d1ab689d
ML
127332011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12734
12735 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12736 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12737
c05de032
ML
127382011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12739
12740 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12741 _fullpath.
12742
cca7ccd8
ML
127432011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12744
12745 Remove extra declaration of sleep for mingw32.
12746
12747 * util/misc.c (sleep) [__MINGW32__]: Removed.
12748 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12749
e0b0dc83
GS
127502011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12751
12752 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12753 type and packname.
12754 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12755 Resurrected.
12756 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12757 (grub_netbsd_btinfo_bootwedge): New struct.
12758 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12759 New function.
12760 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12761
91a1a164
TH
127622011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12763
12764 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12765 loader.
12766
2ded951e
AB
127672011-09-28 Andreas Born <futur.andy@googlemail.com>
12768
12769 Fix incorrect identifiers in bash-completion.
12770
12771 * util/bash-completion.d/grub-completion.bash.in
12772 (_grub_mkpasswd-pbkdf2): Rename to ...
12773 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12774 (_grub_script-check): Rename to ...
12775 (_grub_script_check): ... this. All users updated.
12776
69915030
VS
127772011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12780 Return 0 if disk isn't biosdisk.
12781
20fd15f9
GS
127822011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12783
12784 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12785 on NetBSD.
12786 * Makefile.util.def (grub-fstest): Likewise.
12787
1a7d7db9
GS
127882011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12789
12790 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12791 Get sector size from disk label.
12792
2221ab6c
CW
127932011-09-05 Colin Watson <cjwatson@ubuntu.com>
12794
12795 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12796 */README* as well as README*.
12797 Reported by: Axel Beckert.
12798
ca51c4a0
VS
127992011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12802 case of less than 256 MiB of RAM.
12803
ab80f326
VS
128042011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 * grub-core/commands/wildcard.c (make_regex): Handle @.
12807
4155e697
VS
128082011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12811
ab178c08
SJ
128122011-08-21 Szymon Janc <szymon@janc.net.pl>
12813
12814 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12815 AC_LANG_CONFTEST macros.
12816
7dc3c686
SJ
128172011-08-20 Szymon Janc <szymon@janc.net.pl>
12818
12819 Add grub-fstest option to uncompress data for commands.
12820
12821 * util/grub-fstest.c (uncompress): New var.
12822 (options): New option -u.
12823
fe8d4a7b
SJ
128242011-08-20 Szymon Janc <szymon@janc.net.pl>
12825
12826 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12827 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12828
a5219af1
SJ
128292011-08-20 Szymon Janc <szymon@janc.net.pl>
12830
12831 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12832 file type was not recognized correctly (not gzip or corrupted).
12833
f87abff5
VS
128342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12837 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12838
d94497ea
VS
128392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12842 loongson.
12843 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12844 video_radeon_fuloong2e.
12845 * grub-core/video/radeon_fuloong2e.c: New file.
12846 * include/grub/video.h (grub_video_id_t): Add new ID
12847 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12848
0d1fd011
VS
128492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12852 define.
12853 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12854 that PRID matches the detected subplatform and reset the subplatform
12855 if it doesn't.
12856
84beb0ee
VS
128572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12860
1227c133
VS
128612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 Fix PCI iterating on functions >= 4.
12864
12865 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12866 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12867 Removed.
12868 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12869 (grub_pci_read): Fix bitmask.
12870 (grub_pci_read_word): Likewise.
12871 (grub_pci_read_byte): Likewise.
12872 (grub_pci_write): Likewise.
12873 (grub_pci_write_word): Likewise.
12874 (grub_pci_write_byte): Likewise.
12875
9594c689
VS
128762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12879 can still be specified in TARGET_CFLAGS)
12880
14a2562c
VS
128812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12884
12885 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12886 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12887 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12888 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12889 (FULOONG): Rename to ...
12890 (FULOONG2F): ... this. All users updated.
12891 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12892 (machtype_fuloong2f_str): ... this.
12893 (machtype_fuloong2e_str): New string.
12894 Check for machtype_fuloong2e_str.
12895 * grub-core/loader/mips/linux.c (loongson_machtypes)
12896 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12897 * grub-core/term/serial.c (loongson_defserial)
12898 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12899 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12900 loongson_defserial.
12901 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12902 Rename to ...
12903 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12904 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12905 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12906 to IMAGE_FULOONG2F_FLASH. All users updated.
12907 (image_targets): Rename images.
12908 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12909
b526cbb6
SJ
129102011-08-19 Szymon Janc <szymon@janc.net.pl>
12911
12912 Make enable of disk cache statistics code configurable.
12913
12914 * configure.ac: --enable-cache-stats added.
12915 * config.h.in (DISK_CACHE_STATS): New define.
12916 * grub-core/Makefile.core.def (cacheinfo): New command.
12917 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12918 * grub-core/commands/cacheinfo.c: New file.
12919 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12920 moved to cacheinfo.c.
12921 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12922 debug code.
12923 * include/grub/disk.h: Likewise.
12924
fb739ccd
SJ
129252011-08-19 Szymon Janc <szymon@janc.net.pl>
12926
12927 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12928 * grub-core/Makefile.am: Likewise.
12929
2bba8cfd
VS
129302011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12933 non-zero pull.
12934
43526629
VS
129352011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12938 All users updated.
12939 (grub_jfs_lookup_symlink): Use correct starting inode.
12940
5c144cc8
VS
129412011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * util/grub-setup.c (main): Add missing gcry initialisation.
12944
b1257f65
VS
129452011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 Don't accept text modes on EFI when booting Linux.
12948
12949 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12950 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12951
828bc390
ML
129522011-08-15 Mario Limonciello <mario_limonciello@dell.com>
129532011-08-15 Colin Watson <cjwatson@ubuntu.com>
12954
12955 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12956 use of "/path/.." as in grub-install for EFI as well as handling
12957 symlinks correctly.
12958 Fixes Debian bug #637768.
12959
5f60ccac
CW
129602011-08-15 Colin Watson <cjwatson@ubuntu.com>
12961
12962 * util/grub-probe.c: Remove duplicate #include.
12963
6dc212f9
RM
129642011-08-10 Robert Millan <rmh@gnu.org>
12965
12966 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12967
12968 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12969 function.
12970 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12971 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12972
66816d85
RM
129732011-08-03 Robert Millan <rmh@gnu.org>
12974
12975 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12976 la_array as packed.
12977 Reported by: Zachary Bedell
12978
20168fca
CW
129792011-07-26 Colin Watson <cjwatson@ubuntu.com>
12980
12981 * configure.ac: The Loongson port requires grub-mkfont due to its
12982 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12983 be built.
12984
303b6246
CW
129852011-07-26 Colin Watson <cjwatson@ubuntu.com>
12986
12987 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12988 processing arguments (otherwise help2man fails when GRUB has not yet
12989 been installed).
12990
6795300e
VS
129912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12992
41aa28ea
VS
12993 New script grub-mkstandalone.
12994
12995 * Makefile.util.def (grub-mkstandalone): New script.
12996 * docs/man/grub-mkstandalone.h2m: New file.
12997 * util/grub-mkstandalone.in: Likewise.
12998
129992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 Support ATA disks with 4K sectors.
6795300e
VS
13002
13003 * include/grub/ata.h (grub_ata): New member log_sector_size.
13004 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13005 (grub_ata_identify): Read sector size.
13006 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13007
92227597
VS
130082011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * util/grub-install.in: Don't use uhci outside of x86.
13011
c77069f5
VS
130122011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 * util/grub-mkrescue.in: Add missing quotes.
13015
130162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13017
13018 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13019 dereference.
13020
583168a2
VS
130212011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13024
6be1c01f
VS
130252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 * include/grub/video.h: add missing EXPORT_FUND on
13028 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13029
a1167439
VS
130302011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13031
13032 * include/grub/mips/kernel.h: Fix define conflict.
13033
bf66054f
VS
130342011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13037 all four ways.
13038
8fc4fa45
CW
130392011-07-21 Colin Watson <cjwatson@ubuntu.com>
13040
13041 Preferred resolution detection for VBE.
13042
13043 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13044 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13045 the Flat Panel extension, in line with the X.org VESA driver.
13046 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13047 New function.
13048 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13049 (grub_vbe_bios_read_edid): Likewise.
13050 (grub_vbe_get_preferred_mode): Likewise.
13051 (grub_video_vbe_setup): When the mode is "auto", try to get the
13052 preferred mode from VBE, and use the largest mode that is no larger
13053 than the preferred mode (some BIOSes expose a preferred mode that is
13054 not in their mode list!). If this fails, fall back to 640x480 as a
13055 safe conservative choice.
13056 (grub_video_vbe_get_edid): New function.
13057 (grub_video_vbe_adapter): Add get_edid.
13058 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13059 (struct grub_video_adapter): Add get_edid.
13060 (grub_video_edid_checksum): Add prototype.
13061 (grub_video_edid_preferred_mode): Likewise.
13062 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13063 structure.
13064
13065 * grub-core/commands/videoinfo.c (print_edid): New function.
13066 (grub_cmd_videoinfo): Print EDID if available.
13067
13068 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13069 is more appropriate on a wider range of platforms than 640x480.
13070 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13071 documentation.
13072
ca5572a9
VS
130732011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13076
e4bcf625
VS
130772011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * po/POTFILES.in: Regenerate.
13080
c4edd548
VS
130812011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13084 incorrect memory usage.
13085
16a2bab0
VS
130862011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * util/grub-install.in: Source grub-mkconfig_lib.
13089
2e418de6
VS
130902011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 Remove getroot.c from core on emu platform.
13093
13094 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13095 kern/emu/raid.c.
13096 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13097 useless.
13098 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13099 * util/getroot.c (get_win32_path): ... here.
13100 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13101 * util/getroot.c (fini_libzfs): ... here.
13102 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13103 * util/getroot.c (grub_get_libzfs_handle): ... here.
13104 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13105 Moved from here...
13106 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13107 * grub-core/kern/emu/misc.c
13108 (grub_make_system_path_relative_to_its_root): Moved from here...
13109 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13110 * grub-core/kern/emu/getroot.c: Moved from here ...
13111 * util/getroot.c: ... here. All users updated.
13112 * grub-core/kern/emu/raid.c: Moved from here ...
13113 * util/raid.c: ... here. All users updated.
13114
def9832a
VS
131152011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * po/POTFILES.in: Regenerate.
13118
cd8fe79a
VS
131192011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 Fix compilation on GNU/Linux.
13122
13123 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13124 Disable geli.
13125 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13126 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13127 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13128
a251b719
VS
131292011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
131302011-07-07 Michael Gorven <michael@gorven.za.net>
131312011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13132
13133 LUKS and GELI support.
13134
13135 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13136 grub-core/disk/luks.c, grub-core/disk/geli.c,
13137 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13138 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13139 grub-core/lib/arg.c.
13140 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13141 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13142 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13143 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13144 (grub-bin2h): Add libgcry.a.
13145 (grub-mkimage): Likewise.
13146 (grub-mkrelpath): Likewise.
13147 (grub-script-check): Likewise.
13148 (grub-editenv): Likewise.
13149 (grub-mkpasswd-pbkdf2): Likewise.
13150 (grub-pe2elf): Likewise.
13151 (grub-fstest): Likewise.
13152 (grub-mkfont): Likewise.
13153 (grub-mkdevicemap): Likewise.
13154 (grub-probe): Likewise.
13155 (grub-ofpath): Likewise.
13156 (grub-mklayout): Likewise.
13157 (example_unit_test): Likewise.
13158 (grub-menulst2cfg): Likewise.
13159 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13160 * grub-core/Makefile.core.def (cryptodisk): New module.
13161 (luks): Likewise.
13162 (geli): Likewise.
13163 * grub-core/disk/AFSplitter.c: New file.
13164 * grub-core/disk/cryptodisk.c: Likewise.
13165 * grub-core/disk/geli.c: Likewise.
13166 * grub-core/disk/luks.c: Likewise.
13167 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13168 grub_util_is_lvm.
13169 (grub_util_get_dm_abstraction): New function.
13170 (grub_util_follow_gpart_up): Likewise.
13171 (grub_util_get_geom_abstraction): Likewise.
13172 (grub_util_get_dev_abstraction): Use new functions.
13173 (grub_util_pull_device): Pull GELI and LUKS.
13174 (grub_util_get_grub_dev): Handle LUKS and GELI.
13175 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13176 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13177 (follow_geom_up): Removed.
13178 (grub_util_fd_seek): New function.
13179 (open_device): Use grub_util_fd_seek.
13180 (nread): Rename to ..
13181 (grub_util_fd_read): ... this. All users updated.
13182 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13183 (grub_crypto_cbc_decrypt): Likewise.
13184 (grub_crypto_hmac_write): Likewise.
13185 (grub_crypto_hmac_buffer): Likewise.
13186 (grub_password_get): Extend to util.
13187 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13188 New member modname.
13189 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13190 * include/grub/cryptodisk.h: New file.
13191 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13192 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13193 LUKS and GELI.
13194 (grub_util_follow_gpart_up): New proto.
13195 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13196 (grub_util_fd_read): Likewise.
13197 (grub_cryptodisk_cheat_mount): Likewise.
13198 (grub_util_cryptodisk_print_uuid): Likewise.
13199 (grub_util_get_fd_sectors): Likewise.
13200 * util/grub-fstest.c (mount_crypt): New var.
13201 (fstest): Mount crypto if requested.
13202 (options): New option -C.
13203 (argp_parser): Parse -C.
13204 (main): Init and fini gcry.
13205 * util/grub-install.in: Support cryptodisk install.
13206 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13207 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13208 cryptodisk.
13209 (prepare_grub_to_access_device): Likewise.
13210 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13211 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13212 (probe_cryptodisk_uuid): New function.
13213 (probe_abstraction): Likewise.
13214 (probe): Use new functions.
13215 * util/import_gcry.py: Create Makefile.utilgcry.def.
13216 Add modname member.
13217
9bfdcbbc
VS
132182011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 Lazy device scanning.
13221
13222 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13223 (grub-setup): Remove util/raid.c.
13224 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13225 * grub-core/disk/lvm.c (scan_depth): New variable.
13226 (grub_lvm_iterate): Rescan if necessary.
13227 (find_lv): New function based on grub_lvm_open.
13228 (grub_lvm_open): Use find_lv. Rescan on error.
13229 (is_node_readable): New function.
13230 (is_lv_readable): Likewise.
13231 (grub_lvm_scan_device): Skip already found disks.
13232 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13233 Stop if searched device is found and readable.
13234 * grub-core/disk/raid.c (inscnt): New variable.
13235 (scan_depth): Likewise.
13236 (scan_devices): New function based on grub_raid_register. Abort if
13237 looked for device is found.
13238 (grub_raid_iterate): Rescan if needed.
13239 (find_array): NEw function based on -grub_raid_open.
13240 (grub_raid_open): Use find_array and rescan.
13241 (insert_array): Set became_readable_at.
13242 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13243 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13244 New function.
13245 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13246 (grub_util_pull_device): New function.
13247 (grub_util_get_grub_dev): Call grub_util_pull_device.
13248 * util/raid.c: Moved to ..
13249 * grub-core/kern/emu/raid.c: ... here.
13250 (grub_util_raid_getmembers): New parameter "bootable".
13251 All users updated. Support 1.x.
13252 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13253 All users updated.
13254 * include/grub/disk.h (grub_disk_pull_t): New enum.
13255 (grub_disk_dev): Change iterate prototype.
13256 All users updated.
13257 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13258 New proto.
13259 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13260 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13261 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13262 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13263 All users updated.
13264 * include/grub/util/raid.h: Removed.
13265
1c358e59
VS
132662011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * po/POTFILES.in: Regenerate.
13269
abee94ed
VS
132702011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 Unify sparc init with other ieee1275.
13273
13274 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13275 instead of kern/sparc64/ieee1275/init.c.
13276 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13277 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13278 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13279 grub/machine/kernel.h.
13280 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13281 (grub_claim_heap) [__sparc__]: Use sparc version.
13282 (grub_machine_init): Moved args parsing to
13283 (grub_parse_cmdline): ...this.
13284 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13285 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13286 New definition.
13287 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13288
13289 Move BOOTP to separate file.
13290
13291 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13292 * grub-core/net/net.c: Move all BOOTP functions to
13293 * grub-core/net/bootp.c: ... here.
13294
13295 Use frame interface on PXE.
13296
13297 * grub-core/Makefile.core.def (pxecmd): Removed.
13298 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13299 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13300 * grub-core/i386/pc/pxe.c: Moved from here ...
13301 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13302 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13303 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13304
13305 EFI network support.
13306
13307 * grub-core/Makefile.core.def (efinet): New module.
13308 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13309 here...
13310 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13311 All users updated.
13312 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13313 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13314 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13315 * grub-core/net/drivers/efi/efinet.c: New file.
13316 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13317 (grub_efi_net_config): New extern var.
13318
13319 Various cleanups and bugfixes.
13320
13321 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13322 error.
13323 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13324 disk declared as partition.
13325 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13326 leak on failure.
13327 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13328 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13329 (grub_debug_zalloc): Likewise.
13330 (grub_debug_realloc): Likewise.
13331 (grub_debug_memalign): Likewise.
13332 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13333 Check that target is IPv4.
13334 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13335 local-mac-address as fallback.
13336 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13337 memory leak.
13338 * grub-core/net/ip.c (ipchksum): Rename to ...
13339 (grub_net_ip_chksum): ... this. All users updated.
13340 (grub_net_recv_ip_packets): Special handling for DHCP.
13341 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13342
13343 Unify prefix handling
13344
13345 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13346 (grub_machine_get_bootlocation): ... this.
13347 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13348 (grub_machine_get_bootlocation): ... this.
13349 (grub_prefix): New variable.
13350 (prefix): Removed.
13351 (root_dev): New variable.
13352 (dir): Likewise.
13353 (main): Use new variables.
13354 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13355 Revamped into ...
13356 (grub_machine_get_bootlocation): ... this.
13357 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13358 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13359 (grub_machine_get_bootlocation): ... this.
13360 (grub_machine_set_prefix): Removed.
13361 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13362 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13363 Revamped into ...
13364 (grub_machine_get_bootlocation): ... this.
13365 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13366 (grub_set_prefix_and_root): ... this. All users updated.
13367 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13368 Revamped into ...
13369 (grub_machine_get_bootlocation): ... this.
13370 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13371 (grub_machine_get_bootlocation): New proto.
13372 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13373
13374 Less intrusive and more reliable seek on network implementation.
13375
13376 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13377 (grub_file_seek): Don't call grub_file_net_seek.
13378 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13379 (grub_net_fs_read_real): .. this.
13380 (grub_net_seek_real): Use net->offset.
13381 (grub_net_fs_read): Seek if necessary.
13382
13383 Unify IEEE1275 netwotk config with the other platforms.
13384
13385 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13386 New variable.
13387 (grub_machine_get_bootlocation): Support network.
13388 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13389 Support type and device parsing.
13390 (grub_ieee1275_get_device_type): New function.
13391 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13392 into ...
13393 (grub_ieee1275_net_config_real): ... this.
13394 (grub_ofnet_probecards): Removed.
13395 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13396 * include/grub/ieee1275/ofnet.h: Removed.
13397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13398 extern var.
13399 (grub_ieee1275_get_device_type): New function.
13400
13401 Unify network device closing across platforms and make more robust.
13402
13403 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13404 grub_grubnet_fini.
13405 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13406 already.
13407 * grub-core/net/net.c (grub_net_network_level_interface_register):
13408 Update num_ifaces.
13409 (grub_net_card_unregister): Close all interfaces.
13410 (receive_packets): Don't poll if no iterfaces are registered.
13411 Open if necessary.
13412 (grub_net_fini_hw): New function.
13413 (grub_net_restore_hw): Likewise.
13414 (fini_hnd): New variable.
13415 (GRUB_MOD_INIT): Register preboot hook.
13416 (GRUB_MOD_FINI): Run and unregister preboot hook.
13417
13418 Poll network cards when idle.
13419
13420 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13421 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13422 * grub-core/net/net.c (receive_packets): Save last poll time.
13423 (grub_net_poll_cards_idle_real): New function.
13424 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13425 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13426 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13427
13428 Rename ofnet interfaces.
13429
13430 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13431 (grub_ofnet_findcards): Use ofnet_%s names.
13432
13433 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13434
13435 Cleanup socket opening.
13436
13437 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13438 (grub_net_fs_close): Likewise.
13439 (grub_net_fs_read_real): Use eof member.
13440 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13441 (+grub_net_udp_close): New inline function.
13442
13443 * include/grub/net/tftp.h: Moved to the top of ...
13444 * grub-core/net/tftp.c: ... here.
13445 * include/grub/net/ip.h: Moved mostly to the top of ...
13446 * grub-core/net/ip.c: ... here.
13447 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13448 * grub-core/net/ethernet.c: ... here.
13449
13450 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13451
13452 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13453 FS name.
13454
13455 * include/grub/net/ip.h (ipv4_ini): Removed.
13456 (ipv4_fini): Likewise.
13457
13458 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13459 (grub_net_send_ip_packets): Likewise.
13460
cf1337aa
VS
134612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13464 grub_read_cmos prototype.
13465
93c06ff9
VS
134662011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 VGA text support in qemu-mips
13469
13470 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13471 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13472 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13473 text.
13474 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13475 * grub-core/kern/vga_init.c: ... this.
13476 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13477 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13478 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13479 Adjust.
13480 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13481 GRUB_MACHINE_PCI_IO_BASE.
13482
748ccabe
VS
134832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 MIPS qemu flash support.
13486
13487 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13488 magic.
13489 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13490 (grub_machine_init): Probe memory if its size isn't known.
13491 * util/grub-mkimage.c (image_targets): Add flash targets.
13492 (generate_image): Handle flash targets.
13493
d7345994
VS
134942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 MIPS qemu at_keyboard support.
13497
13498 * gentpl.py (videoinkernel): Add qemu-mips.
13499 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13500 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13501 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13502 modules.
13503 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13504 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13505 * grub-core/term/serial.c (grub_serial_register)
13506 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13507
a07a81b3
VS
135082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 CMOS support on sparc.
13511
13512 * gentpl.py (cmos): Add powerpc and sparc.
13513 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13514 powerpc and sparc.
13515 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13516 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13517 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13518 grub_set_datetime_cmos.
13519 * grub-core/lib/ieee1275/cmos.c: New file.
13520 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13521 (find_rtc): Set no_ieee1275_rtc on error.
13522 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13523 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13524 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13525 fail. Move value to argument. All users updated
13526 (grub_cmos_write): Likewise.
13527 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13528 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13529 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13530 grub_get_datetime_cmos and grub_set_datetime_cmos.
13531
77546584
GS
135322011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13533
13534 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13535 sourcing grub-mkconfig_lib.
13536 * util/update-grub_lib.in: Likewise.
13537 * util/grub.d/00_header.in: Likewise.
13538 * util/grub.d/10_hurd.in: Likewise.
13539 * util/grub.d/10_kfreebsd.in: Likewise.
13540 * util/grub.d/10_linux.in: Likewise.
13541 * util/grub.d/10_netbsd.in: Likewise.
13542 * util/grub.d/10_windows.in: Likewise.
13543 * util/grub.d/20_linux_xen.in: Likewise.
13544 * util/grub.d/30_os-prober.in: Likewise.
13545
54894791
CW
135462011-06-28 Colin Watson <cjwatson@ubuntu.com>
13547
13548 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13549 default_bg_color rather than black.
13550 (grub_gfxterm_fullscreen): Likewise.
13551 (grub_gfxterm_background_color_cmd): Save new background color in
13552 default_bg_color.
13553
8d5d8444
VS
135542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13557
5afeb5bd
VS
135582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13561 mismerge.
13562
ba7df45e
VS
135632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 Chainloading on coreboot support.
13566
13567 * grub-core/Makefile.core.def (chain): Add coreboot.
13568 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13569
d0b526b2
VS
135702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13573 if it happens.
13574
5ff1d945
VS
135752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 Implement time command.
13578
13579 * grub-core/Makefile.core.def (time): New module.
13580 * grub-core/commands/time.c: New file.
13581 * grub-core/script/parser.y: Remove "time" keyword.
13582 * grub-core/script/yylex.l: Likewise.
13583
5ebaad7e
VS
135842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13587
bdea3798
VS
135882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13591 when handling leftovers.
13592
b28c5655
VS
135932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13596 so that help2man doesn't fail.
13597
b6f945dc
VS
135982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13599
13600 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13601 type in pointers on sparc64.
13602 (get_card_packet): Likewise.
13603
f9b75e8a
CW
136042011-06-27 Colin Watson <cjwatson@ubuntu.com>
13605
13606 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13607 with `*'.
13608 (grub_cmd_videoinfo): Fetch current video mode.
13609
1e3d9b86
VS
136102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13613 because of underlying system restrictions.
13614
efff4b1c
VS
136152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13618 necessary.
13619
9fc9ce37
VS
136202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 Coreboot video support.
13623
13624 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13625 (vbe): Likewise.
13626 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13627 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13628 here ...
13629 * grub-core/kern/i386/int.S: ... here.
13630 * grub-core/video/i386/pc/vbe.c: Updated includes.
13631 * grub-core/video/i386/pc/vga.c: Likewise.
13632 * include/grub/i386/coreboot/memory.h
13633 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13634 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13635 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13636 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13637 Disable interrupts.
13638 * include/grub/i386/pc/vga.h: Removed. All users updated.
13639
41bec7fe
VS
136402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13643 definitions for dprintf.
13644 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13645
ca80309d
VS
136462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13649 prototype.
13650 (get_card_packet): Likewise.
13651
9e322ce8
YB
136522011-06-26 Yves Blusseau <blusseau@zetam.org>
13653
13654 Display the path of the file when file is not found
13655
13656 * grub-core/fs/fat.c: Display the filename when file is not found.
13657 * grub-core/fs/fshelp.c: Likewise.
13658 * grub-core/fs/hfs.c: Likewise.
13659 * grub-core/fs/jfs.c: Likewise.
13660 * grub-core/fs/minix.c: Likewise.
13661 * grub-core/fs/ufs.c: Likewise.
13662 * grub-core/fs/btrfs.c: Likewise.
13663 * grub-core/commands/i386/pc/play.c: Likewise.
13664
cbf597af
SJ
136652011-06-26 Szymon Janc <szymon@janc.net.pl>
13666
13667 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13668 pointer checks before calling grub_free().
13669 * grub-core/commands/wildcard.c (match_devices): Likewise.
13670 * grub-core/commands/wildcard.c (match_files): Likewise.
13671 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13672 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13673 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13674 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13675 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13676 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13677 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13678 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13679 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13680
6295b32f
P
136812011-06-25 Patrick <p55@mailinator.com>
13682
13683 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13684
77c0840b
VS
136852011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13688 (grub_pxe_send): Likewise.
13689 (GRUB_MOD_INIT): Fix types.
13690
40ea05de
SJ
136912011-06-24 Szymon Janc <szymon@janc.net.pl>
13692
13693 * grub-core/io/xzio.c: Fix code style issues
13694
90162423
MRA
136952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
136962011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13697
13698 Network infrastructure.
13699 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13700
13701 * include/grub/net/arp.h: New file.
90162423
MRA
13702 * include/grub/net/device.h: Likewise.
13703 * include/grub/net/ethernet.h: Likewise.
13704 * include/grub/net/ip.h: Likewise.
13705 * include/grub/net/netbuff.h: Likewise.
13706 * include/grub/net/tftp.h: Likewise.
13707 * include/grub/net/udp.h: Likewise.
13708 * include/grub/ieee1275/ofnet.h: Likewise.
13709 * include/grub/emu/export.h: Likewise.
13710 * include/grub/net.h: Likewise.
13711 * grub-core/net/arp.c: Likewise.
13712 * grub-core/net/ethernet.c: Likewise.
13713 * grub-core/net/ip.c: Likewise.
13714 * grub-core/net/udp.c: Likewise.
13715 * grub-core/net/tftp.c: Likewise.
13716 * grub-core/net/netbuff.c: Likewise.
13717 * grub-core/net/net.c: Likewise.
13718 * grub-core/net/drivers/emu/emunet.c: Likewise.
13719 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13720 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13721 export.h.
13722 * grub-core/Makefile.core.def (net): New module.
13723 (tftp): Likewise.
13724 (ofnet): Likewise.
13725 (emunet): Likewise.
13726 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13727 network protocols.
13728 * grub-core/kern/device.c (grub_net_open) : New variable.
13729 (grub_device_open): Handle network device.
13730 (grub_device_close): Likewise.
13731 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13732 (grub_grubnet_fini): Likewise.
13733 (grub_file_seek): Seek in network device.
13734 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13735 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13736 network root.
13737 (grub_machine_fini): Call grub_grubnet_fini.
13738 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13739 network.
13740 (grub_ieee1275_get_aliasdevname): New function.
13741 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13742 Add unofficial Solaris network info.
13743 (grub_multiboot_make_mbi): Likewise.
13744 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13745 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13746 * include/grub/device.h (grub_fs): Removed.
13747 * include/grub/err.h (grub_err_t): Add network-related values.
13748 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13749 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13750 (grub_ieee1275_get_aliasdevname): New proto.
13751 * include/grub/net.h: Rewritten.
423a1849 13752
031f22a0
VS
137532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13756 names.
13757
4388ca72
VS
137582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13761 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13762 it truncates the output.
13763 Reported by: Ximin Luo.
13764
98e2f506
VS
137652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13768
2a5e94d8
VS
137692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13772 partmap before abstraction.
13773
535c1910
AK
137742011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13775
13776 * util/grub-mkconfig_lib.in: Add missing quotes.
13777
bc09e1a2
VS
137782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13779
13780 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13781 old method if mountinfo would return /dev/root and /dev/root doesn't
13782 exist.
13783
290766fb
VS
137842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 ZFS zlib support
13787
13788 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13789 (decomp_table): Add zlib entries.
13790 (zio_read): USe 8 bits for compression function rather than 3.
13791 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13792
137932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * grub-core/disk/ahci.c: Add missing license statements.
13796 * grub-core/fs/romfs.c: Likewise.
13797 * grub-core/lib/ia64/setjmp.S: Likewise.
13798 * grub-core/loader/i386/pc/freedos.c: Likewise.
13799 * grub-core/loader/ia64/efi/linux.c: Likewise.
13800 * grub-core/video/colors.c: Likewise.
13801 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13802
5ab3f48a
VS
138032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 AHCI support.
13806
13807 * grub-core/Makefile.core.def (ata_pthru): Removed.
13808 (ahci): New module.
13809 (pata): Likewise.
13810 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13811 on unload.
13812 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13813 readwrite.
13814 (grub_hdparm_do_check_powermode_cmd): Likewise.
13815 (grub_hdparm_do_smart_cmd): Likewise.
13816 (grub_hdparm_set_val_cmd): Likewise.
13817 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13818 * grub-core/disk/ahci.c: New file.
13819 * grub-core/disk/ata.c: Factor out the low-level part into ...
13820 * grub-core/disk/pata.c: ... here.
13821 * grub-core/disk/ata_pthru.c: Contents moved to ...
13822 * grub-core/disk/pata.c: ... here.
13823 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13824 (grub_scsi_iterate): Use grub_scsi_names.
13825 (grub_scsi_open): Likewise.
13826 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13827 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13828 (grub_ata_regs_t): New struct.
13829 (grub_disk_ata_pass_through_parms): Likewise.
13830 (grub_ata_device): Renamed to ...
13831 (grub_ata): ... this.
13832 (grub_ata_dev): New struct.
13833 Removed all low-level inline functions.
13834 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13835 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13836 iterate hooks and open. All users updated.
13837 * util/grub-install.in: Handle AHCI disk module.
13838
c31dc5f5
SJ
138392011-06-23 Szymon Janc <szymon@janc.net.pl>
13840
13841 Add support for DRI and RSTn markers in JPEG files.
13842
13843 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13844 (JPEG_MARKER_RST0): Likewise.
13845 (JPEG_MARKER_RST1): Likewise.
13846 (JPEG_MARKER_RST2): Likewise.
13847 (JPEG_MARKER_RST3): Likewise.
13848 (JPEG_MARKER_RST4): Likewise.
13849 (JPEG_MARKER_RST5): Likewise.
13850 (JPEG_MARKER_RST6): Likewise.
13851 (JPEG_MARKER_RST7): Likewise.
13852 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13853 (grub_jpeg_decode_dri): New function.
13854 (grub_jpeg_decode_sos): Move image data related part into
13855 grub_jpeg_decode_data function.
13856 (grub_jpeg_decode_data): New function.
13857 (grub_jpeg_reset): New function.
13858 (grub_jpeg_decode_jpeg): Handle new markers.
13859
fe12fd5b
VS
138602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * util/ieee1275/ofpath.c (check_sas): Close fd.
13863 (main): Free of_path.
13864 Reported by: David Volgyes <dvolgyes>.
13865
03147f46
VS
138662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13869 Reported by: David Volgyes <dvolgyes>.
13870
cad3237f
VS
138712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13874 file after stat.
13875 Reported by: David Volgyes <dvolgyes>.
13876
13548d26
VS
138772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13880
13881 Reported by: David Volgyes <dvolgyes>.
13882
e061a1b5
VS
138832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13886 Prevent memory leak.
13887
1abe47dc
VS
138882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13891 (main): Close file.
e061a1b5 13892 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13893
fbc62666
VS
138942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13897 to continue if allocation is failed.
13898
13899 Reported by: David Volgyes <dvolgyes>.
13900
e98c83e9
DV
139012011-06-23 David Volgyes <dvolgyes>
13902
13903 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13904 dereference.
13905
a199a8cd
VS
139062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 Fix spurious warning.
13909
13910 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13911 (acorn_partition_map_find): Use .bin member.
13912
e2d1dba0
VS
139132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13916 /dev/root as a valid device.
13917
8a5d6919
JM
139182011-06-23 Jim Meyering <meyering@redhat.com>
13919
e2d1dba0
VS
13920 Avoid NULL deref in grub_device_open.
13921
8a5d6919
JM
13922 * grub-core/kern/device.c (grub_device_open): Don't dereference
13923 a NULL pointer upon failed grub_env_get.
13924
f7db6f4a
VS
139252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 Support non-512B sectors and agglomerate reads.
13928
13929 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13930 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13931 (disk_io_guid): Removed.
13932 (make_devices): Locate solely by BlockIO.
13933 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13934 (grub_efidisk_read): Use read_blocks.
13935 (grub_efidisk_write): Use write_blocks.
13936 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13937 log_sector_size.
13938 (get_safe_sectors): Handle non-512B sectors.
13939 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13940 sectors.
13941 (grub_biosdisk_write): Handle non-512B sectors.
13942 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13943 (grub_scsi_read): Remove special non-512B block handling (now handled
13944 one level up).
13945 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13946 and do sanity checks.
13947 (grub_disk_adjust_range): Handle non-512B sectors.
13948 (transform_sector): New function.
13949 (grub_disk_read_small): Likewise.
13950 (grub_disk_read): Rewritten.
13951 (grub_disk_write): Handle non-512B sectors.
13952 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13953 log_sector_size.
13954 (open_device): Use log_sector_size.
13955 (grub_util_biosdisk_read): Likewise.
13956 (grub_util_biosdisk_write): Likewise.
13957 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13958 non-512B sectors.
13959 (pc_partition_map_embed): Likewise.
13960 * include/grub/disk.h (grub_disk): New field log_sector_size.
13961 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13962 (GRUB_DISK_CACHE_BITS): Increased to 6.
13963 * util/grub-fstest.c (fstest): New command testload.
13964 (argp_parser): Likewise.
13965
881ac815
RM
139662011-06-16 Robert Millan <rmh@gnu.org>
13967
13968 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13969 `ata' driver on kernel of FreeBSD 9.
13970
13971 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13972 (get_ataraid_disk_name): New functions.
13973 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13974 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13975 get_ataraid_disk_name() and get_ada_disk_name().
13976
1e9aef7d
CW
139772011-06-13 Colin Watson <cjwatson@ubuntu.com>
13978
13979 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13980 input format.
13981
351c7c8a
CW
139822011-05-29 Colin Watson <cjwatson@ubuntu.com>
13983
13984 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13985 `ftp.gnu.org' for `alpha.gnu.org'.
13986
6b4e6430
CW
139872011-05-27 Colin Watson <cjwatson@ubuntu.com>
13988
13989 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13990 partitions under /dev/disk/by-id/.
13991
c64db050
CW
139922011-05-27 Colin Watson <cjwatson@ubuntu.com>
13993
13994 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13995 after ten consecutive open failures. Scanning all the way up to
13996 10000 is excessive and can cause serious performance problems in
13997 some configurations.
13998 Fixes Ubuntu bug #787461.
13999
245f4aba
VS
140002011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14003 opening new one.
14004
f767c929
VS
140052011-05-21 Colin Watson <cjwatson@ubuntu.com>
140062011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 Don't stat devices unless we have to.
14009
14010 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14011 dir == /dev/mapper.
14012 (grub_guess_root_device): Use already known os_dev if possible.
14013 * grub-core/kern/emu/hostdisk.c
14014 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14015 if device is known to be a dm one.
14016
f35fa3a6
CW
140172011-05-20 Colin Watson <cjwatson@ubuntu.com>
14018
14019 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14020 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14021 Reported by: Pawel Tecza.
14022
9a79fcf2
VS
140232011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14024
14025 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14026 (lsefisystab): Likewise.
14027 (lssal): Likewise.
14028 (lsefimmap): Likewise.
14029 (hdparm): Enable on qemu-mips.
14030 (setjmp): Add ia64 nodist.
14031 (serial): Simplify tags.
14032
63e3eea9
CW
140332011-05-18 Colin Watson <cjwatson@ubuntu.com>
14034
14035 * Makefile.util.def (grub-ofpathname): Install manual page.
14036
09728256
CW
140372011-05-18 Colin Watson <cjwatson@ubuntu.com>
14038
14039 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14040
8b63a142
CW
140412011-05-18 Colin Watson <cjwatson@ubuntu.com>
14042
14043 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14044
e775d8ed
VS
140452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14046
14047 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14048 into dprintf.
14049
bf947d36
VS
140502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 Use full 64-bit division.
14053
14054 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14055 (grub_divmod64): ... this.
14056 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14057 version.
14058
b84f26c5
CW
140592011-05-18 Colin Watson <cjwatson@ubuntu.com>
14060
14061 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14062 `source'.
14063
5626056f
CW
140642011-05-18 Colin Watson <cjwatson@ubuntu.com>
14065
14066 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14067 to avoid accidents when debugging with 'sh -x'.
14068 * grub-core/gensyminfo.sh.in: Likewise.
14069 * tests/example_scripted_test.in: Likewise.
14070 * tests/grub_cmd_regexp.in: Likewise.
14071 * tests/grub_script_blanklines.in: Likewise.
14072 * tests/grub_script_dollar.in: Likewise.
14073 * tests/grub_script_expansion.in: Likewise.
14074 * tests/grub_script_final_semicolon.in: Likewise.
14075 * tests/partmap_test.in: Likewise.
14076 * tests/util/grub-shell-tester.in: Likewise.
14077 * tests/util/grub-shell.in: Likewise.
14078
e2965f4a
CW
140792011-05-18 Colin Watson <cjwatson@ubuntu.com>
14080
14081 Move gfxmenu color handling to video, so that gfxterm can use it
14082 too.
14083
14084 * grub-core/gfxmenu/named_colors.c: Move to ...
14085 * grub-core/video/colors.c: ... here. Rename
14086 grub_gui_get_named_color to grub_video_get_named_color.
14087 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14088 * grub-core/video/colors.c (my_isxdigit): ... here.
14089 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14090 Move to ...
14091 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14092 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14093 to ...
14094 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14095
14096 * include/grub/gui.h (grub_gui_color_t): Move to ...
14097 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14098 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14099 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14100 * include/grub/gui.h (grub_gui_map_color): Move to ...
14101 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14102 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14103 to ...
14104 * include/grub/video.h (grub_video_get_named_color): ... here.
14105 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14106 * include/grub/video.h (grub_video_parse_color): ... here.
14107
14108 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14109 video/colors.c.
14110 (gfxmenu): Remove gfxmenu/named_colors.c.
14111 (video) [videomodules]: Add video/colors.c.
14112
14113 Add a background_color command.
14114
14115 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14116 function.
14117 (GRUB_MOD_INIT): Register background_color command.
14118 (GRUB_MOD_FINI): Unregister background_color command.
14119 (redraw_screen_rect): Allow blend/replace of text layer to be
14120 controlled independently from whether there is a background bitmap.
14121 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14122 changing bitmap.
14123
1e4b4390
VS
141242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14125
26618ff0
VS
14126 Patch BPB in ntldr and chainloader --bpb.
14127
1e4b4390
VS
14128 * grub-core/fs/fat.c: Include grub/fat.h.
14129 (grub_fat_bpb): Moved to ...
14130 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14131 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14132 grub/ntfs.h.
14133 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14134 Moved from here...
14135 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14136 here.
14137 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14138 New function.
14139 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14140 (GRUB_MOD_INIT): Show --bpb.
14141 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14142 * grub-core/normal/main.c (features): New variable.
14143 (GRUB_MOD_INIT): Set feature_* variables.
14144 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14145 proto.
14146 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14147
cf02731e
VS
141482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14151 for cleanness.
14152
e3a1073f
VS
141532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 FreeDOS direct loading support.
14156
14157 * docs/grub.texi (Supported OS): Add FreeDOS.
14158 * grub-core/Makefile.core.def (freedos): New module.
14159 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14160 variable.
14161 (grub_relocator16_boot): Handle %ebx.
14162 * grub-core/lib/i386/relocator16.S: Likewise.
14163 * grub-core/loader/i386/pc/freedos.c: New file.
14164
05caa461
VS
141652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 Long Linux command line support.
14168
14169 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14170 (maximal_cmdline_size): New variable.
14171 (allocate_pages): Use maximal_cmdline_size.
14172 (grub_cmd_linux): Set and use maximal_cmdline_size.
14173 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14174 (allocate_pages): Use maximal_cmdline_size.
14175 (grub_cmd_linux): Set and use maximal_cmdline_size.
14176 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14177 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14178 and cmdline_size.
14179
a2491e23
VS
141802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
141812011-05-18 Colin Watson <cjwatson@ubuntu.com>
14182
14183 Improve devmapper support
14184
14185 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14186 (grub_util_is_lvm): New function.
14187 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14188 than lvm if not dmraid.
14189 Handle mapped md nodes.
14190 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14191 (grub_util_device_is_mapped): ... this. Make always available. All users
14192 updated.
14193 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14194 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14195 dmraid nodes.
14196 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14197
6ad6223e
VS
141982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14201
14202 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14203 * grub-core/modinfo.sh.in: New file.
14204 * grub-core/Makefile.core.def (modinfo.sh): New script.
14205 * util/grub-mknetdir.in: Use modinfo.sh.
14206 * util/grub-mkrescue.in: Likewise.
14207
543a8f6e
VS
142082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14211 Fix potential usage of Elf32 instead of Elf64 when compiling on
14212 32-bit architecture. Add endianness macros while on it.
14213
4959e111
VS
142142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 Use mipsel- rather than mips- in directories involving mipsel ports to
14217 allow both endiannesses coexist.
14218
14219 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14220 mips. All conditions adjusted.
14221 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14222 variable.
14223 * util/grub-install.in: Adjust conditions to take renaming into account.
14224 * util/grub-mkimage.c (image_targets): Likewise. New target
14225 mips-qemu_mips-elf for bigendian mips.
14226
35341bbc
VS
142272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 Avoid unnecessary copying on MIPS.
14230
14231 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14232 early if src == dest.
14233 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14234 compression is none.
14235
b772baed
VS
142362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 Reduce memory footprint on SGI by putting modules before the kernel
14239 as opposed to after.
14240
14241 * grub-core/Makefile.core.def (kernel): Increase linking address.
14242 (none_decompress): Likewise.
14243 (xz_decompress): Likewise.
14244 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14245 address.
14246 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14247 layout change.
14248 (grub_arch_modules_addr): New function.
14249 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14250 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14251 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14252 here.
14253 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14254 (grub_total_modules_size): ... this. Make global.
14255 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14256 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14257 New definition.
14258 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14259 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14260 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14261 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14262 * util/grub-mkimage.c (image_target_desc): New flag
14263 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14264 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14265 (generate_image): Handle images with modules before kernel.
14266
566a1917
VS
142672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 Prevent potential loss of memory map by overwrite on qemu-mips.
14270
14271 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14272 Save ram size in $s4.
14273 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14274 All users changed to grub_arch_memsize.
14275 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14276 Loongson.
14277 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14278 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14279 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14280 external variable.
14281
5d420cd9
CW
142822011-05-17 Colin Watson <cjwatson@ubuntu.com>
14283
14284 * .bzrignore: Remove grub-dumpbios.
14285
d064b830
CW
142862011-05-17 Colin Watson <cjwatson@ubuntu.com>
14287
14288 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14289 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14290 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14291 existing options which append).
14292 * docs/grub.texi (Simple configuration): Document new options.
14293 Reported by: Ian Jackson. Fixes Debian bug #617538.
14294
3ca2b466
CW
142952011-05-17 Colin Watson <cjwatson@ubuntu.com>
14296
14297 * util/grub-fstest.c (cmd_cat): New function.
14298 (fstest): Handle CMD_CAT.
14299 (options): Add cat.
14300 (argp_parser): Handle cat.
14301
24c9143a
CW
143022011-05-17 Colin Watson <cjwatson@ubuntu.com>
14303
14304 * Makefile.util.def (grub-bin2h): Don't install.
14305 * docs/man/grub-bin2h.h2m: Remove.
14306
90f7ac19
VS
143072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14310 place.
14311
8d4a5178
VS
143122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 Reenable qemu-mips port.
14315
14316 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14317 Fix small arc bug while on it.
14318 * gentpl.py: Handle qemu_mips.
14319 * grub-core/Makefile.am: Likewise.
14320 * grub-core/Makefile.core.def: Likewise.
14321 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14322 inappropriate includes.
14323 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14324 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14325 * grub-core/kern/main.c (grub_modules_get_end)
14326 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14327 * grub-core/kern/mips/qemu-mips: Moved to ..
14328 * grub-core/kern/mips/qemu_mips: ... this.
14329 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14330 (grub_machine_init): Call terminfo_init and serial_init.
14331 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14332 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14333 New variable.
14334 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14335 parameter passing.
14336 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14337 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14338 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14339 * include/grub/mips/qemu_mips/cmos.h: New file.
14340 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14341 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14342 Removed.
14343 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14344 Use correct mips-style address.
14345 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14346 (GRUB_TICKS_PER_SECOND): Removed.
14347 (grub_get_rtc): Likewise.
14348 (grub_cpu_idle): Likewise.
14349 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14350 New definition.
14351 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14352 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14353 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14354 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14355 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14356 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14357 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14358 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14359
400b9371
VS
143602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 SGI ARCS port.
14363
14364 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14365 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14366 platforms.
14367 * configure.ac: New target mips-arc.
14368 * gentpl.py: Likewise.
14369 * grub-core/Makefile.am: Likewise.
14370 * grub-core/Makefile.core.def: Likewise.
14371 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14372 (none_decompress): Likewise.
14373 (lsdev): New module.
14374 (datetime): Use lib/arc/datetime.c on ARC.
14375 (part_dvh): New module.
14376 * grub-core/commands/arc/lsdev.c: New file.
14377 * grub-core/disk/arc/arcdisk.c: Likewise.
14378 * grub-core/kern/mips/arc/init.c: Likewise.
14379 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14380 aligned addresses.
14381 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14382 support.
14383 (grub_arch_dl_relocate_symbols): Likewise.
14384 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14385 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14386 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14387 platforms.
14388 * grub-core/lib/arc/datetime.c: New file.
14389 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14390 pci.h on non-loongson.
14391 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14392 (grub_linux_boot): Set unused registers to 0.
14393 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14394 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14395 * grub-core/mmap/mips/uppermem.c: ...here.
14396 * grub-core/partmap/dvh.c: New file.
14397 * grub-core/term/arc/console.c: Likewise.
14398 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14399 (grub_terminfo_set_current): Add terminal "arc".
14400 (grub_terminfo_readkey): Support ARC sequences.
14401 * include/grub/arc/arc.h: New file.
14402 * include/grub/arc/console.h: Likewise.
14403 * include/grub/disk.h (grub_disk_dev_id): Add
14404 GRUB_DISK_DEVICE_ARCDISK_ID.
14405 * include/grub/mips/arc/kernel.h: New file.
14406 * include/grub/mips/arc/memory.h: Likewise.
14407 * include/grub/mips/arc/time.h: Likewise.
14408 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14409 * include/grub/mips/kernel.h (grub_halt): ... here.
14410 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14411 here...
14412 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14413 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14414 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14415 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14416 proto.
14417 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14418 from here ...
14419 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14420 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14421 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14422 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14423 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14424 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14425 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14426 (grub_phys_addr_t): Moved from here ...
14427 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14428 (grub_vtop): Moved from here ...
14429 * include/grub/mips/memory.h (grub_vtop): ... here.
14430 (grub_map_memory): Moved from here ...
14431 * include/grub/mips/memory.h (grub_map_memory): ... here.
14432 (grub_unmap_memory): Moved from here ...
14433 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14434 (grub_machine_mmap_iterate): Moved from here ...
14435 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14436 (grub_mmap_get_lower): Moved from here ...
14437 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14438 (grub_mmap_get_upper): Moved from here ...
14439 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14440 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14441 here ...
14442 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14443 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14444 here ...
14445 * include/grub/mips/time.h (grub_get_rtc): ... here.
14446 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14447 here ...
14448 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14449 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14450 here ...
14451 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14452 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14453 definition.
14454 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14455 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14456 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14457 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14458 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14459 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14460 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14461 (GRUB_MACHINE_LINK_ADDR): Likewise.
14462 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14463 to 6.
14464 * util/grub-install.in: Run dvhtool on ARC.
14465 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14466 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14467
c8ecc840
VS
144682011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14471 blocks.
14472
153a4b55
VS
144732011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14476 after enabling port.
14477
ff44d107
VS
144782011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 Skip incorrect USB devices.
14481
14482 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14483 configcnt == 0.
14484 * include/grub/usb.h (grub_usb_err_t): New enum value
14485 GRUB_USB_ERR_BADDEVICE.
14486
638dbe4f
VS
144872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 Fuloong video init support.
14490
14491 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14492 well.
14493 (grub_vga_read_arx): New function.
14494 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14495 definition.
14496 (framebuffer): New members io, mmioptr and mmiobase.
14497 (read_sis_cmd): New function.
14498 (write_sis_cmd): Likewise.
14499 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14500 rather than 640x400.
14501 * grub-core/video/sis315_init.c: New file.
14502
c3fc520c
VS
145032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14506 non-loongson.
14507 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14508 to grub_dl_register_symbol.
14509
67b1e5c9
VS
145102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 Fix compilation errors.
14513
14514 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14515 potentially unused.
14516 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14517 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14518 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14519 to loongson machines.
14520
b756f75f
VS
145212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 Several FS mtime support.
14524
14525 * grub-core/fs/affs.c (grub_affs_time): New struct.
14526 (grub_affs_file): New field mtime.
14527 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14528 type. Removed 'size'. New field 'di'. All users updated.
14529 (grub_affs_mount): Simplify checsum checking.
14530 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14531 (grub_affs_dir): Handle mtime.
14532 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14533 (grub_cpio_dir): Likewise.
14534 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14535 (grub_hfs_filerec): New field mtime.
14536 (grub_hfs_dir): Handle mtime.
14537 (grub_hfs_mtime): New function.
14538 (grub_hfs_fs): Register grub_hfs_mtime.
14539 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14540 (grub_iso9660_dir): New field mtime.
14541 (grub_fshelp_node): New field dirent.
14542 (iso9660_to_unixtime): New function.
14543 (iso9660_to_unixtime2): Likewise.
14544 (grub_iso9660_read_symlink): Use node->dirent.
14545 (grub_iso9660_iterate_dir): Likewise.
14546 (grub_iso9660_dir): Set mtime.
14547 (grub_iso9660_mtime): New function.
14548 (grub_iso9660_fs): Register grub_iso9660_mtime.
14549 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14550 (grub_jfs_inode): New fields atime, ctime and mtime.
14551 (grub_jfs_dir): Set mtime.
14552 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14553 * grub-core/fs/ntfs.c (list_file): Set mtime.
14554 (grub_ntfs_dir): Likewise.
14555 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14556 (grub_reiserfs_iterate_dir): Set mtime.
14557 (grub_reiserfs_dir): Likewise.
14558 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14559 (grub_fshelp_node): Likewise.
14560 (grub_sfs_iterate_dir): Set mtime.
14561 (grub_sfs_dir): Likewise.
14562 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14563 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14564 (grub_xfs_inode): New fields atime, mtime, ctime.
14565 (grub_xfs_dir): Set mtime.
14566 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14567 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14568 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14569
14570 Support UDF symlinks.
14571
14572 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14573 (grub_ufs_read_symlink): New function. All users updated.
14574
14575 Check amiga partmap checksum.
14576
14577 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14578 (grub_amiga_partition): Likewise.
14579 (amiga_partition_map_checksum): New function.
14580 (amiga_partition_map_iterate): Check checksum.
14581
5470225d
VS
145822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 ROMFS support.
14585
14586 * Makefile.util.def (libgrubmods.a): Add romfs.
14587 * grub-core/Makefile.core.def (romfs): New module.
14588 * grub-core/fs/romfs.c: New file.
14589
d4680a35
VS
145902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 Squashfs v4 support.
14593
14594 * Makefile.util.def (libgrubmods.a): Add squash4.
14595 * grub-core/Makefile.core.def (squash4): New module.
14596 * grub-core/fs/squash4.c: New file.
14597 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14598 disk_input_start, disk_input.
14599 (get_byte): Handle disk_input.
14600 (grub_zlib_disk_read): New function.
14601 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14602
bcb18e74
FZ
146032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
146042011-05-15 Feiran Zheng <famcool@gmail.com>
14605
14606 * Makefile.util.def (libgrubmods.a): Add minix3.
14607 * grub-core/Makefile.core.def (minix3): New module.
14608 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14609 (GRUB_MINIX_BSIZE): Removed.
14610 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14611 (grub_minix_ino_t): New type.
14612 (grub_minix_le_to_cpu_ino): New macro.
14613 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14614 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14615 (grub_minix_data): New field block_size.
14616 (grub_minix_read_file): Handle 64-bit correctly.
14617 * grub-core/fs/minix3.c: New file.
14618
32297d5f
TG
146192011-05-15 Tristan Gingold <gingold@free.fr>
146202011-05-15 Robert Millan <rmh.grub@aybabtu.com>
146212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 IA64 support.
14624
14625 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14626 * configure.ac: Add ia64-efi target.
14627 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14628 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14629 * gentpl.py: Add ia64_efi platform.
14630 Rename x86_efi to efi and Add ia64-efi. All users updated.
14631 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14632 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14633 Remove kern/generic/rtc_get_time_ms.c on EFI.
14634 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14635 kern/ia64/dl_helper.c on ia64-efi.
14636 Add kern/emu/cache.c on emu.
14637 (linux): Use on loader/ia64/efi/linux.c on ia64.
14638 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14639 whether symbol is a function.
14640 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14641 (grub_symbol): New field 'isfunc'.
14642 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14643 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14644 (grub_dl_load_segments): Place all sections into the same region.
14645 [__ia64__]: Create trampolines and got.
14646 [GRUB_MACHINE_EMU]: Call mprotect.
14647 (grub_dl_resolve_symbols): Resolve symbol type as well.
14648 [__ia64__]: Create function descriptors.
14649 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14650 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14651 (grub_get_rtc): New function.
14652 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14653 * grub-core/kern/emu/cache.S: Renamed to ...
14654 * grub-core/kern/emu/cache_s.S: ... this.
14655 [__ia64__]: Add a nop.
14656 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14657 [__ia64__]: New function.
14658 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14659 * grub-core/kern/ia64/dl.c: New file.
14660 * grub-core/kern/ia64/dl_helper.c: Likewise.
14661 * grub-core/kern/ia64/efi/init.c: New file.
14662 * grub-core/kern/ia64/efi/startup.S: Likewise.
14663 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14664 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14665 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14666 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14667 * grub-core/loader/ia64/efi/linux.c: New file.
14668 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14669 (GRUB_MOD_DEP): Likewise.
14670 (grub_dl) [__ia64__]: New fields got and tramp.
14671 (grub_dl): New field 'base'.
14672 (grub_dl_register_symbol): New argument isfunc. All users updated.
14673 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14674 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14675 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14676 (grub_ia64_dl_get_tramp_got_size): New proto.
14677 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14678 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14679 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14680 * include/grub/efi/api.h: Skip call wrappers on ia64.
14681 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14682 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14683 * include/grub/elf.h (ELF_ST_INFO): New definition.
14684 * include/grub/ia64/efi/kernel.h: New file.
14685 * include/grub/ia64/efi/memory.h: Likewise.
14686 * include/grub/ia64/efi/time.h: Likewise.
14687 * include/grub/ia64/kernel.h: Likewise.
14688 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14689 * include/grub/ia64/time.h: New file.
14690 * include/grub/ia64/types.h: Likewise.
14691 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14692 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14693 New protos.
14694 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14695 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14696 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14697 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14698 All users updated.
14699 (EFI64_HEADER_SIZE): New definition. All users updated.
14700 (image_targets): Add ia64-efi.
14701 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14702 jumpers_addr. All users updated.
14703 Create function descriptors.
14704 (count_funcs): New function.
14705 (unaligned_uint32): New struct.
14706 (MASK20): New definition.
14707 (MASK19): Likewise.
14708 (MASKF21): Likewise.
14709 (add_value_to_slot_20b): New function.
14710 (add_value_to_slot_21_real): Likewise.
14711 (add_value_to_slot_21): Likewise.
14712 (ia64_kernel_trampoline): New struct.
14713 (nopm): New variable.
14714 (jump): Likewise.
14715 (make_trampoline): New function.
14716 (relocate_addresses): Handle ia64.
14717 (make_reloc_section): Likewise.
14718 (load_image): Likewise.
14719
983b414d
VS
147202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14723 warning. Move variables before code while on it.
14724
5d063cdc
VS
147252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14726
14727 Fuloong support.
14728
14729 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14730 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14731 * grub-core/boot/mips/loongson/fuloong.S: New file.
14732 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14733 Explicitly init CS5536.
14734 [FULOONG]: Don't use serial until CS5536 is available.
14735 Set GPIO based on dumps.
14736 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14737 [FULOONG]: Handle GPIO and memory controller differences.
14738 Parse machine type in $a2.
14739 * grub-core/boot/mips/startup_raw.S: Determine and save the
14740 architecture.
14741 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14742 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14743 init on architecture type.
14744 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14745 SIS315E. Don't init at_keyboard on fuloong.
14746 (grub_halt): Support Fuloong.
14747 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14748 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14749 (loongson_machtypes): New array.
14750 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14751 type.
14752 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14753 config. All users updated. Handle CS5536 serial.
14754 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14755 default port on machine type. Register serial as inactive.
14756 * grub-core/video/sis315pro.c: New file.
14757 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14758 definition.
14759 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14760 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14761 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14762 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14763 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14764 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14765 to ...
14766 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14767 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14768 definition.
14769 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14770 (grub_arch_machine): New extern var.
14771 * include/grub/mips/loongson/serial.h
14772 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14773 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14774 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14775 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14776 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14777 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14778 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14779 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14780 * include/grub/term.h (grub_term_register_input_inactive): New inline
14781 function.
14782 (grub_term_register_output_inactive): Likewise.
14783 * include/grub/video.h (grub_video_driver_id): New value
14784 GRUB_VIDEO_DRIVER_SIS315PRO.
14785 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14786 New field "names". All users updated.
14787 New field value IMAGE_FULOONG_FLASH.
14788 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14789
6ada82d1
JU
147902011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14791
14792 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14793 and add some clarification.
14794
90c571a4
VS
147952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14796
14797 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14798 platforms if kernel is compressed.
14799
de04eecf
VS
148002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14803 unused modules since currently referrence counter isn't reliable and
14804 there isn't much memory to recover there anyway.
14805
57688121
VS
148062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14809 rather than resetting it to allow modules to reference themselves
14810 in init.
14811
3d2c7e35
VS
148122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14815 counter on dependencies since grub_dl_unref already handles this.
14816
b25db218
VS
148172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14820 on error if not already done.
14821
25a45338
VS
148222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 Fix few potential memory misusage.
14825
14826 * grub-core/font/font.c (load_font_index): Don't free char_index to
14827 avoid double free.
b25db218
VS
14828 (grub_font_load): Zero-fill font at alloc for safety.
14829 Close file on error.
14830 (free_font): Free bmp_idx.
25a45338 14831
0cac83df
VS
148322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14833
14834 * docs/grub.texi (Installation): Fix several outdated claims.
14835
2217a143
VS
148362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 Handle module_license on windows.
14839
14840 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14841 sections shifted.
14842 (insert_string): Make argument const char * instead of char *.
14843 (write_section_data): Handle long section names.
14844 Handle module_license.
14845
d4de6b01
VS
148462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14849 handle class-free menuentries.
14850 (grub_normal_add_menu_entry): Add a check to be sure.
14851
4c2a3b43
VS
148522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14855 PgUp and PgDown.
14856
85c6210f
VS
148572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * configure.ac: Bump version to 1.99.
14860
36084912
VS
148612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 Give ATA device a bit more time on first try in order to allow disks
14864 to spin up.
14865
14866 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14867 if dev->present is 1. Reset dev->present on failure.
14868 (grub_ata_device_initialize): Set dev->present to 1.
14869 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14870 (grub_ata_device): New member 'present'.
14871
bda0e219
VS
148722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14873
14874 * util/grub-mkimage.c (generate_image): Update hash.
14875
19e1c41b
VS
148762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 Flush caches on DMA memory.
14879
14880 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14881 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14882 (grub_dma_free): Likewise.
14883 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14884
91bbcc0c
VS
148852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14888 to avoid asm treating ld and sd as macros.
14889
60ddfad3
VS
148902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14893 decompressor.
14894
a298aa04
VS
148952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14898 grub_decompress_core since later would fail if grub_decompress_core
14899 is too far.
14900
9b44feca
VS
149012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14904 R_MIPS_JALR since it's used by newer compiler.
14905
56dbe7b4
VS
149062011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14907
14908 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14909
52856af2
VS
149102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14913 file_path to 0 for surety.
14914 (grub_chainloader_boot): Set exit_data to NULL.
14915 Unset the loader once done.
14916 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14917
9c9bfc6d
VS
149182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14921 unknown key into a dprintf.
14922
dd94a3df
VS
149232011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14926 on first non-existant partition.
14927
fa68d99c
VS
149282011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14931 openning fails.
14932 Reported by: Mark Korenberg.
14933
157effb7
VS
149342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14937 overflow.
14938
ea75312f
VS
149392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14942 before closing to ensure that it will be readable by grub-setup.
14943
072b5d31
VS
149442011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14947 (devpath_1): Use MAKE_PIWG_PATH.
14948 (devpath_2): Likewise.
14949 (devpath_3): Likewise.
14950 (devpath_4): Likewise.
14951 (devpath_5): Likewise.
14952 (devpath_6): Likewise.
14953
14954 The appleldr.mod was checked that to be binary identical to previous
14955 version.
14956
7fae0051
Z
149572011-05-05 Zach <mikezackles>
14958
14959 Support 2010 Macbooks.
14960
14961 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14962 (devs): Add devpath_6.
14963
7c515bee
VS
149642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14965
14966 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14967 /dev/random. /dev/urandom is good enough for our purposes (salting).
14968
ed660bd8
VS
149692011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14972
ee5614b7
VS
149732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14976 hexadecimal.
14977
664889a6
VS
149782011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14981 and not 0 on failure.
14982
bd405bbc
CW
149832011-05-03 Colin Watson <cjwatson@ubuntu.com>
14984
14985 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14986 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14987 disk; otherwise grub_fs_probe will not fall back to the next
14988 filesystem.
14989 (grub_pxefs_open): Likewise, for consistency.
14990 Reported and tested by: Ezekiel Grave.
14991
4ebff753
CW
149922011-05-03 Colin Watson <cjwatson@ubuntu.com>
14993
14994 * tests/partmap_test.in: Don't hardcode path to parted.
14995 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14996
8f942553
CW
149972011-05-01 Colin Watson <cjwatson@ubuntu.com>
14998
14999 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15000 of `ls' to find out which devices are available.
15001
3c62402d
VS
150022011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15005 than source address for efi mmap buffer.
15006
723f63f2
VS
150072011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15008
15009 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15010 wrong action on non-detecting the magic.
15011
68797f92
VS
150122011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15015 already supplied by another part of the module (fixes compilation on
15016 FreeBSD).
15017
6be8715d
VS
150182011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15021 match the one used by mdadm.
15022
e91dba5b
CW
150232011-04-21 Colin Watson <cjwatson@ubuntu.com>
15024
15025 * po/README: Add instructions for creating po/LINGUAS.
15026
c85140b3
CW
150272011-04-21 Colin Watson <cjwatson@ubuntu.com>
15028
15029 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15030 #551428.
15031
15032 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15033 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15034 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15035 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15036 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15037 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15038 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15039 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15040 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15041 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15042 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15043 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15044 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15045 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15046 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15047 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15048 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15049 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15050 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15051 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15052 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15053 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15054
92051871
CW
150552011-04-21 Colin Watson <cjwatson@ubuntu.com>
15056
15057 * grub-core/kern/emu/getroot.c
15058 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15059 test that was incorrectly reintroduced in r3214.
15060 Reported by: Ian Dall. Fixes Savannah bug #33133.
15061
b13f79a4
CW
150622011-04-21 Colin Watson <cjwatson@ubuntu.com>
15063
15064 Fix stack pointer handling in 16-bit relocator.
15065
15066 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15067 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15068 Fixes Ubuntu bug #683904.
15069
9b710a88
VS
150702011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15071
15072 * configure.ac: Bump version to 1.99~rc2.
15073
d97e7b59
VS
150742011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15077 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15078 * grub-core/lib/x86_64/setjmp.S: Likewise.
15079 * grub-core/lib/mips/setjmp.S: Likewise.
15080 * grub-core/lib/powerpc/setjmp.S: Likewise.
15081 * grub-core/lib/sparc64/setjmp.S: Likewise.
15082
0624551c
VS
150832011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15086 * grub-core/lib/efi/datetime.c: Likewise.
15087
e8f28d4c
VS
150882011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15091 New function.
15092 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15093 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15094 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15095
bba79a15
VS
150962011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15097
15098 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15099 bitmap.
15100 (grub_gfxterm_term_init): Likewise.
15101
abc474ef
VS
151022011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 Take into account the decorations the computing menu entry width.
15105
15106 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15107 (grub_gfxmenu_create_box): Register get_border_width.
15108 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15109 if available.
15110 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15111 get_border_width.
15112
e74b3947
EP
151132011-04-18 Endres Puschner <code@e7p.de>
15114
15115 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15116 Don't skip first class.
15117
34faa595
VS
151182011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15121 chunks.
15122 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15123
93a777e3
VS
151242011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 Complete 64-bit division support.
15127
15128 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15129 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15130 * include/grub/misc.h (grub_divmod64): Rename to ...
15131 (grub_divmod64_full): ... this.
15132 (grub_divmod64): New inline function.
15133
a5102d94
VS
151342011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15137
f3fb7b36
VS
151382011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15141 performing the necessary test.
15142
9ac718b0
VS
151432011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15146 (kfreebsd.elf): Likewise.
15147 (pc-chainloader.elf): Likewise.
15148 (ntldr.elf): Likewise.
15149
50d2cc5a
VS
151502011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 Identify RAID by its UUID rather than (guessed) name.
15153
15154 * grub-core/disk/raid.c (ascii2hex): New function.
15155 (grub_raid_open): Accept mduuid/%s specification.
15156 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15157 (get_mdadm_uuid): ... this.
15158 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15159
e03f7bea
VS
151602011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15161
15162 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15163 to negative size.
15164
e74c3112
CW
151652011-04-13 Colin Watson <cjwatson@ubuntu.com>
15166
15167 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15168 btrfs subvolume.
15169 * util/grub.d/20_linux_xen.in: Likewise.
15170
78fa584f
CW
151712011-04-13 Colin Watson <cjwatson@ubuntu.com>
15172
15173 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15174 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15175
15176 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15177 Build a list of relevant visible mounts using the mnt_id and
15178 parent_mnt_id fields, and then scan that list at the end.
15179
9d5f8162
CW
151802011-04-12 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * docs/grub.texi (normal): New section.
15183 (normal_exit): New section.
15184 (Embedded configuration): Add reference to normal.
15185 (GRUB only offers a rescue shell): Likewise.
15186 * docs/grub-dev.texi (Error Handling): Fix typo.
15187
09a9d66f
CW
151882011-04-12 Colin Watson <cjwatson@ubuntu.com>
15189
15190 * NEWS: Drop obsolete entry about probe-only btrfs support.
15191
0c676933
CW
151922011-04-12 Colin Watson <cjwatson@ubuntu.com>
15193
15194 * util/import_gcry.py: Fix typo.
15195
ec9f5e0d
VS
151962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 * NEWS: Add btrfs support.
15199
fe6b2cba
VS
152002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
152012011-04-11 Colin Watson <cjwatson@ubuntu.com>
15202
15203 BtrFS support. Written by me (Vladimir) with important bugfixes and
15204 even more important testing by Colin.
15205
15206 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15207 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15208 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15209 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15210 mem_input_off and mem_input. All users updated to accept in-RAM input.
15211 (gzio_seek): New function.
15212 (test_zlib_header): Likewise.
15213 (grub_gzio_read): Likewise.
15214 (grub_zlib_decompress): Likewise.
15215 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15216 Accept partial and non-virtual mounts.
15217 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15218 avoid receiving /dev/dm-X as device.
15219 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15220 Handle bind and partial mounts.
15221 * grub-core/lib/crc.c: New file.
15222 * include/grub/deflate.h: Likewise.
15223 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15224 proto.
15225 * include/grub/lib/crc.h: New file.
15226
e745cf0c
VS
152272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 Implement automatic module license checking according to new GNU
15230 guidelines.
15231
15232 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15233 (grub_dl_load_core): Use grub_dl_check_license.
15234 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15235 (GRUB_MOD_LICENSE): Likewise.
15236 (GRUB_MOD_DUAL_LICENSE): Likewise.
15237 All modules updated.
15238
2a9bc016
CW
152392011-04-11 Colin Watson <cjwatson@ubuntu.com>
15240
15241 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15242 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15243 loaders.
15244 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15245
8a3bc88e
VS
152462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15249
af869a4a
VS
152502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15253 failed.
15254
9ee8d94f
VS
152552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15258 parenthesis in the middle of the filename.
15259
b01abe3e
VS
152602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15263 rather than trying to put initrd way too high.
15264 Reported by: Ryan Lortie <desrt@desrt.ca>
15265
335bda1e
VS
152662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15269 improperly removed string.
15270
5ca1a64d
VS
152712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15274 is_disk.
15275 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15276 (open_device) Likewise.
15277 (grub_util_biosdisk_close): Likewise.
d8ce9995 15278 Reported by: Mark Korenberg.
5ca1a64d 15279
cbac5b1e
AK
152802011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15281
15282 * util/grub-mkconfig_lib.in: Add missing quotes.
15283
088cdb65
CW
152842011-04-10 Colin Watson <cjwatson@ubuntu.com>
15285
15286 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15287 is NULL.
15288
8b8a81fa
VS
152892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 Dynamically count the number of lines for the lower banner.
15292
15293 * grub-core/normal/menu_entry.c (per_term_screen): New member
15294 num_entries.
15295 (print_down): Use num_entries.
15296 (update_screen): Likewise.
15297 (grub_menu_entry_run): Set num_entries.
15298 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15299 num_entries.
15300 (grub_print_message_indented): Move real part to ...
15301 (grub_print_message_indented_real): ... here. Additional argument
15302 dry_run.
15303 (draw_border): Additional argument num_entries.
15304 (print_message): Additional argument dry_run.
15305 (print_entries): Receive menu viewer data.
15306 (grub_menu_init_page): New argment num_entries.
15307 (menu_text_set_chosen_entry): Use num_entries.
15308 (grub_menu_try_text): Likewise.
15309 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15310 All users updated.
15311 (grub_ucs4_count_lines): New function.
15312 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15313 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15314 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15315 (grub_term_border_height): Likewise.
15316 (grub_term_num_entries): Likewise.
15317
277f955b
VS
153182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15321 Remove now unused string.
15322
536ce85a
CW
153232011-04-09 Colin Watson <cjwatson@ubuntu.com>
15324
15325 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15326 build system.
15327 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15328
15329 (Comment): Fix typo.
15330 (Getting started): General copy-editing.
15331 (Typical Development Experience): Likewise.
15332 (Error Handling): Likewise.
15333 (Video API): Likewise.
15334
2cf09e32
CW
153352011-04-09 Colin Watson <cjwatson@ubuntu.com>
15336
15337 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15338 throughout.
15339
1ec652f4
VS
153402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15343 directory.
15344
2c583728
CW
153452011-04-08 Colin Watson <cjwatson@ubuntu.com>
15346
15347 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15348 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15349 "development".
15350
d7a565e9
VS
153512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15354 grub_strcpy since the lines aren't necessarily 0-terminated.
15355
7c2e4909
VS
153562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15359 root on legacy.
15360
34c09785
VS
153612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15364 (GRUB_MOD_INIT): DEVICE isn't optional.
15365
6a6f8058
VS
153662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15369 word on new line if it's too long anyway. Fixes a hang.
15370
2e335e90
VS
153712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15374 const.
15375 * util/grub-setup.c (main): Reuse md device name if available.
15376 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15377 not GRUB name as argument.
15378 Based on patch by: Florian Wagner <fwagner>.
15379
10a7a867
VS
153802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15383 Place mbi on low memory for better compatibility.
15384
7a3d6cd9
VS
153852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15388
18dd6b47
VS
153892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
153902011-04-08 Colin Watson <cjwatson@ubuntu.com>
15391
15392 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15393 * conf/Makefile.common: Likewise.
18dd6b47 15394
3c0e3f14
VS
153952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15396
f7148863
VS
15397 * grub-core/normal/menu.c: Add missing include.
15398
153992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15402
6d1fa41f
MZ
154032011-04-08 Martin Zuther <mzuther@mzuther.de>
15404
15405 * util/grub-mkconfig.in: Ignore emacsen backup.
15406
478182a8
VS
154072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15410 on open.
15411 (grub_util_biosdisk_close): Likewise.
15412
72a89a54
VS
154132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15414
15415 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15416 const attribute and use grub_isdigit.
15417
b5ebecfa
A
154182011-04-06 Andrey <dev_null@ukr.net>
15419
15420 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15421 gcc warning.
15422
7755f66e
VS
154232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15426 useful grub_dprintf's.
15427
461121ff
VS
154282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15431
2a961775
VS
154322011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15435
adf594cc
VS
154362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 Output errors if theme loading failed.
15439
15440 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15441 grub_gfxterm_fullscreen on error paths to ...
15442 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15443 theme loading error.
15444
665900a3
VS
154452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15448 space for older compilers.
15449 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15450
a562b479
VS
154512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15454 and report them as not RAID members since they are useless for GRUB.
15455 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15456
850e9373
VS
154572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 Increase LVM implementation robustness in order not to crash on
15460 configurations like pvmove. Previously code assumed that in some places
15461 only lvs or only pvs are used whereas it seems that they are used
15462 interchangeably.
15463
15464 * grub-core/disk/lvm.c (read_node): New function.
15465 (read_lv): Use read_node.
15466 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15467 Match volumes only at the end when all lvs are found. Take both
15468 pvs (first) and lvs (second) into account.
15469 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15470 mirror_* into node_*. All users updated.
15471 (grub_lvm_stripe): Merge this ...
15472 (grub_lvm_mirror): ... and this ...
15473 (grub_lvm_node): ... into this. All users updated.
15474
6f332153
VS
154752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15476
15477 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15478 of function to allow further scanning for LVMs.
15479
829ea451
VS
154802011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15483 on failed seek as it breaks open fd reusage.
15484
09ceb9a5
VS
154852011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * util/grub-install.in: Add a recommendation to use --recheck before
15488 reporting bugs.
15489
67e11623
VS
154902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15493 are obtained.
15494
caee5efd
VS
154952011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15496
15497 GRUB developper manual based on existing Internals section and
15498 contributions by the various authors with active copyright assignment.
15499
15500 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15501 * docs/font_char_metrics.png: New file.
15502 * docs/font_char_metrics.txt: Likewise.
15503 * docs/grub-dev.texi: Likewise.
15504 * docs/grub.texi (Internals): Move from here ...
15505 * docs/grub-dev.texi: ... here.
15506
2cccc747
CW
155072011-04-01 Colin Watson <cjwatson@ubuntu.com>
15508
15509 Store the loopback device as data on loopback grub_disk structures,
15510 rather than the file it points to. This fixes use of freed memory
15511 if an existing loopback device is replaced.
15512
15513 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15514 disk->data, not dev->file.
15515 (grub_loopback_read): Adjust file assignment to match.
15516 Fixes Ubuntu bug #742967.
15517
186ae367
CW
155182011-04-01 Colin Watson <cjwatson@ubuntu.com>
15519
15520 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15521 when replacing an existing device.
15522
cfed2ad0
VS
155232011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15524
15525 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15526 memory corruptions.
15527
15528 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15529 unsigned.
15530 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15531 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15532 (grub_jfs_read_inode): Likewise.
15533 (grub_jfs_opendir): Likewise. Remove now useless casts.
15534 (grub_jfs_getent): Likewise.
15535 Make ino a grub_uint32_t rather than int.
15536 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15537 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15538 division and module with bit operations.
15539 (grub_jfs_find_file): Make ino a grub_uint32_t.
15540 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15541
05d2ed32
CW
155422011-04-01 Colin Watson <cjwatson@ubuntu.com>
15543
15544 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15545 warning. (This was in fact always initialised before use, but GCC
15546 wasn't smart enough to prove that.)
15547 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15548
91dc6073
VS
155492011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15552 stack alignment.
15553 (efi_wrap_1): Likewise.
15554 (efi_wrap_2): Likewise.
15555 (efi_wrap_3): Likewise.
15556 (efi_wrap_4): Likewise.
15557 (efi_wrap_5): Likewise.
15558 (efi_wrap_6): Likewise.
15559 (efi_wrap_10): Likewise.
15560 Based on information by: Red Hat/Peter Jones.
15561
a8afc1d1
CW
155622011-03-31 Colin Watson <cjwatson@ubuntu.com>
15563
15564 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15565 set-but-not-used variable.
15566
a826cc7d
CW
155672011-03-31 Colin Watson <cjwatson@ubuntu.com>
15568
15569 * docs/grub.texi (Simple configuration): Be more explicit about
15570 GRUB_DEFAULT, and add an example.
15571 Reported by: Leslie Rhorer.
15572
875b67ba
CW
155732011-03-30 Colin Watson <cjwatson@ubuntu.com>
15574
15575 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15576 shell".
15577
fd7cd914
AS
155782011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15579
15580 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15581 * util/grub.d/20_linux_xen.in: Likewise.
15582
090b1b6a
VS
155832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 * util/grub.d/10_linux.in: Try alternative config filenames where
15586 we parse config file.
15587 * util/grub.d/20_linux_xen.in: Likewise.
15588
baad885c
AS
155892011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15590
15591 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15592 * util/grub.d/20_linux_xen.in: Likewise.
15593
241e41f5
VS
155942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * grub-core/disk/raid.c (insert_array): Add few potentially
15597 useful grub_util_info.
15598 (grub_raid_register): Likewise.
15599
56445fb2
VS
156002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15603 Preserve partition number in mdadm code path.
15604
c871b1c6
VS
156052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15608 few potentially useful grub_util_info.
15609
5e631b4f
CW
156102011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15613
2d5d0333
CW
156142011-03-30 Colin Watson <cjwatson@ubuntu.com>
15615
15616 * docs/grub.texi (default): Use @example rather than nested
15617 itemized lists to avoid breaking gendocs.
15618
3d7ed04e
CW
156192011-03-30 Colin Watson <cjwatson@ubuntu.com>
15620
15621 * docs/grub.texi (Future): Update.
15622
abf04200 156232011-03-30 Colin Watson <cjwatson@ubuntu.com>
15624
15625 * docs/grub.texi (Environment): New chapter.
15626 (Changes from GRUB Legacy): Link to "Environment block" section for
15627 details of limitations.
15628 (Simple configuration): Likewise. Link to documentation of gfxmode
15629 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15630 respectively.
15631 (Shell-like scripting): Note that normal variables are stored in the
15632 environment.
15633 (gettext): Link to documentation of lang and locale_dir.
15634 (list_env): New section.
15635 (load_env): New section.
15636 (save_env): New section.
15637
15638 (Reporting bugs): Fix typo.
15639
e1ad0edd
VS
156402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15643 the example.
15644
5d803174
VS
156452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * grub-core/term/at_keyboard.c (set_scancodes)
15648 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15649
2a2da1d0
CW
156502011-03-30 Colin Watson <cjwatson@ubuntu.com>
15651
15652 * docs/grub.texi (Menu-specific commands): Remove some semantics
15653 that were true in GRUB Legacy but not in GRUB 2.
15654 (submenu): New section.
15655 (false): New section.
15656 (read): New section.
15657 (true): New section.
15658
a7527639
CW
156592011-03-30 Colin Watson <cjwatson@ubuntu.com>
15660
15661 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15662
156632011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
15664
15665 * docs/grub.texi (Simple configuration): Explain some of the
15666 current limitations of grub-mkconfig.
8a748df2 15667 Reported by: Leslie Rhorer.
e30af029 15668
fc858482
VS
156692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 Old macs search for boot.efi rather than for bootia32.efi.
15672
15673 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15674 * util/grub-mkrescue.in: Likewise.
15675 Suggested by: Peter Jones.
15676
e1eb511d
VS
156772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15680
70e75364
VS
156812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15684 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15685 (grub_lvm_mirror): New struct.
15686 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15687 (grub_lvm_iterate): Iterate only visible volumes.
15688 (grub_lvm_read): Factor out to ..
15689 (read_lv): ... this. Support mirrors.
15690 (grub_lvm_read): New wrapper function.
15691 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15692 stripped or mirrored.
15693
fc18f6a3
VS
156942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15697
5c650f4c
CW
156982011-03-29 Colin Watson <cjwatson@ubuntu.com>
15699
15700 * docs/grub.texi (loopback): New section.
15701
61d7156b
CW
157022011-03-29 Colin Watson <cjwatson@ubuntu.com>
15703
15704 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15705 removed -p option.
15706
994b8264
CW
157072011-03-29 Colin Watson <cjwatson@ubuntu.com>
15708
15709 * docs/grub.texi (BIOS installation): New section, partly based on
15710 previous text in other sections.
15711 (Installing GRUB using grub-install): Replace BIOS discussion with a
15712 cross-reference.
15713 (Images): Likewise.
15714
9e4d19e0
VS
157152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15718 [HAVE_DIOCGDINFO]: Add safety checks.
15719
a307c0b2
VS
157202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15723 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15724
b4db4f39
CW
157252011-03-29 Colin Watson <cjwatson@ubuntu.com>
15726
15727 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15728 real_sb->size is zero (e.g. RAID-0), get the disk size from
15729 real_sb->data_size instead.
15730 Fixes Ubuntu bug #743136.
15731
35e5f84c
VS
157322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15735 printf clauses for printing size and start.
15736
d2e29d81
VS
157372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15740 Reported and tested by: Timothy Nikkel.
15741
ed5587af
VS
157422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15745 (dirty_region_add_real): ... this.
15746 (dirty_region_add): Don't discard margin refresh when performing
15747 scheduled repaint.
15748
a1dc717c
VS
157492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * grub-core/lib/relocator.c (allocate_regstart)
15752 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15753 terminals are capabple of malloc-free operation.
15754 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15755 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15756
9f3677d3
VS
157572011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15758
15759 * util/grub-setup.c: Copy the partition table zone if floppy support
15760 is disabled, even if no partition table is found.
15761
15762 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15763 during POST if an invalid partition table is contained in the PBR
15764 of the active partition when GRUB is installed to a partition.
15765
24148725
CW
157662011-03-28 Colin Watson <cjwatson@debian.org>
15767
15768 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15769 comment.
15770
f329eda7
CW
157712011-03-28 Colin Watson <cjwatson@debian.org>
15772
15773 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15774 to be specific about what kind of RAID device we're scanning for.
15775
c482ad98
SG
157762011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15777
15778 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15779 return freed string.
15780
5ee04984
VS
157812011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15784
f4727da9
VS
157852011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 Use libgeom on FreeBSD to detect partitions.
15788
15789 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15790 (grub-mkrelpath): Likewise.
15791 (grub-script-check): Likewise.
15792 (grub-editenv): Likewise.
15793 (grub-mkpasswd-pbkdf2): Likewise.
15794 (grub-fstest): Likewise.
15795 (grub-mkfont): Likewise.
15796 (grub-mkdevicemap): Likewise.
15797 (grub-probe): Likewise.
15798 (grub-setup): Likewise.
15799 (grub-ofpathname): Likewise.
15800 (grub-mklayout): Likewise.
15801 (example_unit_test): Likewise.
15802 (grub-menulst2cfg): Likewise.
15803 * grub-core/Makefile.core.def (grub-emu): Likewise.
15804 (grub-emu-lite): Likewise.
15805 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15806 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15807 define HAVE_DIOCGDINFO.
15808 (follow_geom_up) [FreeBSD]: New function.
15809 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15810 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15811 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15812 unconditionally of HAVE_DIOCGDINFO.
15813
82fe6c75
VS
158142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 Fix FreeBSD compilation problem.
15817
15818 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15819 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15820
4c6c9431
CW
158212011-03-24 Colin Watson <cjwatson@ubuntu.com>
15822
15823 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15824 Switch back to page zero before loading a kernel, since some kernel
15825 drivers expect that.
15826 Thanks to: Felix Kuehling.
15827
c7064d94
VS
158282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15831 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15832 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15833
3f71cded
VS
158342011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15837 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15838
ef6de21a
VS
158392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15842 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15843 malloc is disabled.
15844
8bc66a2c
VS
158452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15848 for modules headers when counting the needed allocation size.
15849
5657722c
VS
158502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15853 if no ASCII character is found to prevent crash.
15854
41a85f55
AK
158552011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15856
15857 * grub-core/video/bitmap.c (match_extension): Ignore case.
15858
59e1e5f1
VS
158592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15862
bd4d051a
VS
158632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * grub-core/script/parser.y: Declare "time" as valid argument.
15866
bae7fcc1
PJ
158672011-03-23 Peter Jones <pjones@redhat.com>
15868
15869 Fix incorrect assert failure reporting.
15870
15871 * grub-core/tests/example_functional_test.c (example_test): Add
15872 a failure comment.
15873 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15874 (failure_start): ...this. Check that malloc succeeded.
15875 Don't call xvasprintf. Return failure struct.
15876 (failure_append_vtext): New function.
15877 (failure_append_text): Likewise.
15878 (add_failure): Likewise.
15879 (grub_test_assert_helper): Likewise.
15880 * include/grub/test.h (grub_test_assert_helper): New declaration.
15881 (grub_test_assert): Macro rewritten.
15882
537dc9be
VS
158832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15886
fa3e01bf
VS
158872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15890
b1d28404
VS
158912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15894 into GRUB-style one.
15895
2e3e2e09
VS
158962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15899 error and not grub_errno.
15900 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15901
ed57e557
VS
159022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15905 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15906
d1611f01
VS
159072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 * grub-core/efiemu/i386/pc/cfgtables.c
15910 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15911 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15912 (grub_xnu_unlock): Likewise.
15913 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15914
7d4e39d6
VS
159152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15918 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15919 * grub-core/commands/hashsum.c (aliases): Likewise.
15920 * grub-core/commands/setpci.c (pci_registers): Likewise.
15921 * grub-core/disk/usbms.c (attach_hook): Likewise.
15922 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15923 (zio_checksum_table): Likewise.
15924 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15925 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15926 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15927 * grub-core/lib/relocator.c (leftovers): Likewise.
15928 (extra_blocks): Likewise.
15929 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15930 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15931 (modules_last): Likewise.
15932 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15933 (devices): Likewise.
15934 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15935 (modules_last): Likewise.
15936 * grub-core/normal/auth.c (users): Likewise.
15937 * grub-core/normal/context.c (initial_menu): Likewise.
15938 (current_menu): Likewise.
15939 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15940 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15941 (grub_serial_terminfo_input_template): Likewise.
15942 (grub_serial_terminfo_output_template): Likewise.
15943 (grub_serial_terminfo_input): Likewise.
15944 (grub_serial_terminfo_output): Likewise.
15945 (registered): Likewise.
15946 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15947
40fc4659
VS
159482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15949
15950 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15951 grub_video_mode_type_t.
15952 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15953 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15954 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15955
2da48d28
VS
159562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * util/grub-install.in: Correct the x86-64 name as x86_64.
15959
9b43bf39
CW
159602011-03-11 Colin Watson <cjwatson@ubuntu.com>
15961
15962 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15963 initial chunk read from the kernel always includes GRUB's multiboot
15964 header, which is now outside the first sector.
15965
be1a7ce0
CW
159662011-03-09 Colin Watson <cjwatson@ubuntu.com>
15967
15968 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15969 cached mmap_size, so that this works correctly when called multiple
15970 times.
15971 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15972
83a3c48d
CW
159732011-03-09 Colin Watson <cjwatson@ubuntu.com>
15974
15975 * docs/grub.texi (Simple configuration): Tidy up formatting.
15976
57d75699
SJ
159772011-03-07 Szymon Janc <szymon@janc.net.pl>
15978
15979 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15980 Set-but-not-used variable removed.
15981
028501a0
VS
159822011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 Workaround yet another IEEE1275 bug.
15985
15986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15987 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15988 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15989 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15990 is set.
15991 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15992 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15993
d998657d
VS
159942011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15997 error.
15998
fee7cdd4
CW
159992011-02-11 Colin Watson <cjwatson@ubuntu.com>
16000
16001 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16002 empty, since in that case we can only generate either nothing or a
16003 syntactically invalid configuration file.
16004 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16005
97286eb5
CW
160062011-02-09 Colin Watson <cjwatson@ubuntu.com>
16007
16008 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16009 (Making a GRUB bootable CD-ROM): Likewise.
16010 (Invoking grub-mkrescue): New section.
16011 Reported by: Yann Dirson. Fixes Debian bug #612585.
16012
22b28eb3
CW
160132011-02-09 Colin Watson <cjwatson@ubuntu.com>
16014
16015 * util/grub-install.in: Remove unnecessary brackets from tr
16016 arguments.
16017 * util/grub.d/10_hurd.in: Likewise.
16018 * util/grub.d/10_kfreebsd.in: Likewise.
16019 * util/grub.d/10_linux.in: Likewise.
16020 * util/grub.d/20_linux_xen.in: Likewise.
16021 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16022
7e735e43
CW
160232011-02-08 Colin Watson <cjwatson@ubuntu.com>
16024
16025 * include/grub/file.h (not_easly_seekable): Rename to ...
16026 (not_easily_seekable): ... this. Update all users.
16027
800f1881
CW
160282011-01-28 Colin Watson <cjwatson@ubuntu.com>
16029
16030 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16031 grub-mkrescue.
16032
3281d3d6
VS
160332011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * util/grub-mkimage.c (generate_image): Refuse to create the images
16036 bigger than the actual flash (512K) in Loongson machines. 512K is also
16037 the biggest chip supported by them.
16038
3533413c
VS
160392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16042
73ae4f4f
VS
160432011-01-22 Anthony DeRobertis <anthony@derobert.net>
16044
16045 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16046 super_offset field.
16047
37f4f608
VS
160482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 * util/grub-install.in: Ignore install device on platforms
16051 where it doesn't make sense. Always use UUIDs except on pc, efi and
16052 sparc64.
16053 Reported by: Daniel Kahn Gillmor.
16054
03a4ccb5
VS
160552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16058
ffc8f4d8
VS
160592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16062 (iterate_real): Don't rely on partition being non-NULL.
16063
80f23be7
VS
160642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16067 supported platforms. Put a compile time assert for this rather than
16068 generate a warning with 32-bit shift.
16069
5d4f4dd5
VS
160702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16073 logical expression more readable.
16074
e489601a
VS
160752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16078 even if some elements have a name.
16079 Reported by: Alexander GQ Gerasiov.
16080
96e0a6ea
CW
160812011-01-22 Colin Watson <cjwatson@ubuntu.com>
16082
16083 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16084 path unreadable if `grub-probe -t abstraction' fails, for example if
16085 memberlist fails on an LVM volume group.
16086 Reported by: Darius Jahandarie.
16087
81431e2b
CW
160882011-01-22 Colin Watson <cjwatson@ubuntu.com>
16089
16090 * docs/grub.texi (Simple configuration): Document
16091 GRUB_PRELOAD_MODULES.
16092
5e79d66a
CW
160932011-01-17 Colin Watson <cjwatson@ubuntu.com>
16094
16095 * .bzrignore: Remove nonexistent grub-pbkdf2.
16096
646ada34
VS
160972011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 * configure.ac: Bump version to 1.99~rc1.
16100
04360337
VS
161012011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16104 for safety.
16105
46c9db88
VS
161062011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16109 module.
16110
161112011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16112
16113 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16114
4fbf1852
VS
161152011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16118 diskdevid.
16119
f1632d4d
VS
161202011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 Fix compilation on cygwin.
16123
16124 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16125 -R .drectve on cygwin.
16126 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16127 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16128 (COND_CYGWIN): New condition.
16129 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16130 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16131 not @TARGET_OBJ2ELF@.
16132 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16133 type to determine whether aux is to be used.
16134
0b5e127b
VS
161352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16138 realpath'ed device string.
16139 Handle floppy (somewhat).
16140 Issue error in unknown case rather than garbage.
16141 Reported by: Axel Beckert.
16142
173b71e9
VS
161432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 * util/grub.d/00_header.in (load_video): Handle the case when no video
16146 drivers available.
16147 Thanks to: Axel Beckert.
16148
f8f479db
VS
161492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16152 variable. Fixes problem on big endian platforms.
16153
8fc0a245
VS
161542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16157 It doesn't work well there.
16158
b8494fbe
VS
161592011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16162 warning.
16163 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16164 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16165 counter.
16166
b44a558c
VS
161672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 Use alias->path rather than buggy "canon".
16170
16171 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16172 (ofdisk_hash_add): New argument curcan. All users updated.
16173
51fa856c
CW
161742011-01-11 Colin Watson <cjwatson@ubuntu.com>
16175
16176 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16177
9da068a5
VS
161782011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16181 loadmask before doing any calculations. Use correct type for offset.
16182 (grub_linux_load64): Likewise.
16183
86205c94
CW
161842011-01-11 Colin Watson <cjwatson@ubuntu.com>
16185
16186 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16187 with NULL.
16188 (console_grub_equivalences_unshift): Likewise.
16189 Reported by: Daniel Dehennin.
16190
4531a206
VS
161912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16194 (set_env_limn_ro): Likewise.
16195 (GRUB_MOD_INIT): Likewise.
16196 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16197 ARRAY_SIZE while on it.
16198 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16199 * grub-core/normal/context.c (grub_env_export): Move from here ...
16200 * grub-core/kern/env.c (grub_env_export): ... here.
16201 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16202 prefix.
16203 * grub-core/kern/main.c (grub_main): Export root and prefix.
16204 * include/grub/env.h (grub_env_export): Export.
16205 Reported by: Seth Goldberg.
16206
45146057
VS
162072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16210 Take into account space used by ELF sections and multiboot palette.
16211 Reported by: Grégoire Sutre.
16212
f093110b
VS
162132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 * BUGS: New file.
16216
3395fe52
VS
162172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 Pass more appropriate video id to Linux.
16220
16221 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16222 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16223 fill have_vga.
16224 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16225 shift params->lfb_size.
16226 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16227
c2fa6cbb
VS
162282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16229
16230 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16231
b3ff6ff0
VS
162322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16233
16234 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16235 separator and pass bootpath/devid even if only one of them is available.
16236 Reported by: Seth Goldberg.
16237
ae67942e
VS
162382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16241 implementations bug on them.
16242
16243 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16244 memory.
16245 (filter_memory_map): Likewise.
16246
d570097a
VS
162472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16250 Reported by: nebuchadnezzar.
16251
a508e776
VS
162522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16255 Reported by: nebuchadnezzar.
16256
dcb883b1
VS
162572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 Submenu default support.
16260
16261 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16262 auto_boot. All users updated.
16263 Declared static.
16264 Handle chosen and default with submenus.
16265 (grub_menu_execute_with_fallback): Declared static.
16266 Don't notify failure if autobooted. Upper level does it.
16267 (menuentry_eq): New function.
16268 (get_entry_number): Use menuentry_eq.
16269 (show_menu): New parameter "autobooted". All users updated.
16270 (grub_show_menu): Likewise.
16271 * include/grub/normal.h (grub_show_menu): Likewise.
16272 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16273 (grub_menu_execute_with_fallback): Likewise.
16274
6fef99b4
VS
162752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16276
16277 * util/grub-mklayout.c (usage): Update help text.
16278
47a77af5
VS
162792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16282
ce6bb3ee
VS
162832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * util/grub-menulst2cfg.c (main): Trim the line.
16286
db87be2a
VS
162872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16290 (grub_machine_init): Don't check amount of low memory as reportedly
16291 INT 12h can be broken and if low memory is too low we wouldn't have
16292 gotten into grub_machine_init anyway.
16293
c49849cc
VS
162942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16297 (grub_machine_mmap_iterate): Take low memory into account
16298
b1969b30
VS
162992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16300
16301 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16302 badfs.
16303 Reported by: TiCPU.
16304
cf0eaf13
VS
163052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16306
16307 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16308 members errors.
16309
1f060f39
GS
163102011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16311
16312 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16313 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16314
a21e5672
GS
163152011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16316
16317 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16318 openbsd and netbsd types being in part_bsd module.
16319
c88172fa
VS
163202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16323 (_FILE_OFFSET_BITS): Likewise.
16324 Reported by: Seth Goldberg.
16325
53798c4b
GS
163262011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16327
16328 * configure.ac: Check for libdevmapper header.
16329
e7121b69
VS
163302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16333 avoid aliasing.
16334 (fzap_lookup): Likewise.
16335 (dnode_get): Likewise.
16336 (make_mdn): Likewise.
16337 (zfs_mount): Likewise.
16338 (fzap_iterate): Use temporary pointer to avoid aliasing.
16339 (grub_zfs_read): Likewise.
16340 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16341 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16342 pointers to avoid aliasing.
16343 (grub_cmd_xnu_kernel64): Likewise.
16344 (grub_xnu_load_driver): Likewise.
16345
fc836af9
VS
163462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16349 aliasing warning.
16350 (grub_cmd_terminal_output): Likewise.
16351 Reported and tested by: Grégoire Sutre.
16352
f9f37648
VS
163532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16356 warning.
16357 Reported and tested by: Grégoire Sutre.
16358
ec1dfd63
VS
163592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16360
16361 * configure.ac: Do CPU substitution even if it's specified explicitly.
16362 Reported and tested by: Alain Greppin.
16363
9462775a
VS
163642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16367 Reported and tested by: Alain Greppin.
16368
0fd48e35
VS
163692011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 Satisfy some bison versions need for inttypes.h.
16372
16373 * grub-core/lib/posix_wrap/inttypes.h: New file.
16374 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16375 (int16_t): Likewise.
16376 (int32_t): Likewise.
16377 (int64_t): Likewise.
16378 Reported and tested by: Alain Greppin.
16379
43f1bc83
VS
163802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16381
16382 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16383 Silence spurious warning.
16384 Reported and tested by: Alain Greppin.
16385
64d1f041
SJ
163862011-01-07 Szymon Janc <szymon@janc.net.pl>
16387
16388 * docs/grub.texi (Support automatic decompression): Update with xz
16389 decompression support.
16390
25953e10
SJ
163912011-01-07 Szymon Janc <szymon@janc.net.pl>
16392
16393 Improve loaders' kernel command line handling.
16394
16395 * grub-core/lib/cmdline.c: New file.
16396 * include/grub/lib/cmdline.h: Likewise.
16397 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16398 grub_create_loader_cmdline to create kernel command line.
16399 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16400 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16401 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16402 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16403 (linux): Add lib/cmdline.c on common.
16404
e72d259f
VS
164052011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16406
16407 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16408 inopos might be unaligned.
16409
c0cf26da
VS
164102011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16413 endian transformations.
16414 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16415 Based on report by: Doug Nazar.
16416
0ca09e6c
DN
164172011-01-07 Doug Nazar <nazard.michi@gmail.com>
16418
16419 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16420 array->members[i].start_sector.
16421 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16422
014b6806
VS
164232011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16426 Reported and tested by: Grégoire Sutre.
16427
415502c2
CW
164282011-01-06 Colin Watson <cjwatson@ubuntu.com>
16429
16430 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16431 avoid causing test failures by clearing the screen.
16432
71b6a2b7
CW
164332011-01-06 Colin Watson <cjwatson@ubuntu.com>
16434
16435 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16436 Fix prefix check to handle the case where dir ends with a slash
16437 (most significantly, "/" itself).
16438 Reported by: Michael Vogt.
16439
b3f8d28a
VS
164402011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 Run terminfo_cls on initing terminfo output to clear the screen and
16443 move the cursor to (0,0).
16444
16445 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16446 Call grub_terminfo_output_init.
16447 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16448 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16449 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16450
4c3e4f37
VS
164512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16454 only when needed.
16455
488f71f1
VS
164562011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16459 CTRL.
16460
18a38098
VS
164612011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 The E820 type 5 is BADRAM, not EXEC_CODE.
16464
16465 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16466 (GRUB_E820_BADRAM): New define.
16467 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16468 into reserved. Propagate BADRAM.
16469 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16470 (GRUB_E820_BADRAM): New define.
16471
9eae2084
VS
164722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16475 Ignore the memory post-4G.
16476 (grub_relocator_firmware_alloc_region): Additional debug statement.
16477
ebc71d28
VS
164782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16481 names.
16482 Reported by: David Pravec.
16483
446fa400
VS
164842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16485
16486 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16487 BIOSes.
16488
a0159f37
VS
164892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16492 Prevent overflow.
16493 (grub_reed_solomon_recover): Likewise.
16494
e5146ca1
VS
164952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16498
164992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16500
16501 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16502 variable.
16503
5b1bdf12
CW
165042011-01-04 Colin Watson <cjwatson@ubuntu.com>
16505
16506 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16507 descriptions of extract_legacy_entries_source and
16508 extract_legacy_entries_configfile.
16509 Reported by: Seung Soo, Ha.
16510
99d925aa
CW
165112011-01-03 Colin Watson <cjwatson@ubuntu.com>
16512
16513 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16514 on devices that do not implement function 0.
16515
4af0504b
DV
165162011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16517
16518 * grub-core/fs/hfsplus.c: Make parent unsigned.
16519 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16520 overflows.
16521 (grub_hfsplus_cmp_extkey): Likewise
16522
469ee10a
VS
165232011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 * util/grub-install.in: Correctly use bootloader_id and not
16526 GRUB_DISTRIBUTOR on efibootmgr line.
16527
323a8e9c
VS
165282011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16529
16530 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16531
1b394975
IC
165322010-12-31 Ian Campbell <ijc@hellion.org.uk>
16533
16534 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16535 Xen and reorder menu item wording to make it clearer that this entry
16536 will launch Xen. Print separate messages when loading Xen and
16537 Linux.
16538
275bff5f
VS
165392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16542 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16543 loop in case of incorrect amiga partmap.
16544
307806cb
VS
165452010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16548 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16549 Reported by:EHeM.
16550
b12b923e
VS
165512010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16552
16553 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16554 spurious warning.
16555 Reported by: crocket
16556
14b48a19
VS
165572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16560 Preload EFIemu.
16561 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16562
693db2df
VS
165632010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16566 is loaded
16567 (grub_cmd_xnu_kextdir): Likewise.
16568 (grub_cmd_xnu_splash): Likewise.
16569
c7638645
VS
165702010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 Avoid using Reed-Solomon with 0 redundancy.
16573
16574 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16575 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16576 or 0 redundancy.
16577 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16578 (grub_reed_solomon_recover): Likewise.
16579
25dd4780
VS
165802010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 Don't use disk subsystem in freebsd_boot.
16583
16584 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16585 (freebsd_biosdev): Likewise.
16586 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16587 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16588
0b2db943
VS
165892010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16590
16591 Handling of files of unknown size is currently limited. They can't be
16592 used e.g. for initrd or modules. Moreover gzip handling of not
16593 easily seekable files is buggy. Disable unknown file size for now. May
16594 be inefficient but works.
16595
16596 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16597 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16598
5c408d0f
MP
165992010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16600
16601 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16602 floppy probe.
16603
190a011a
JD
166042010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16605
16606 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16607
022d01b8
SL
166082010-12-25 Shea Levy <shlevy>
16609
16610 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16611
c4855fdc
VS
166122010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16615 Windows Server 2008.
16616 Reported by: Devin Giddings.
16617
0354b867
VS
166182010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16621 writing an error message because of async power management.
16622 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16623 (grub_reboot): Likewise.
16624
ab66c69f
JU
166252010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16626
16627 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16628 keep unit tests from failing when they shouldn't.
16629
1426ef35
CW
166302010-12-21 Colin Watson <cjwatson@ubuntu.com>
16631
16632 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16633 previous patch increased the size of the RS code by 20 bytes (at
16634 least with gcc-4.4), so increase this by 20 bytes to match.
16635 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16636
20641b6b
CW
166372010-12-21 Colin Watson <cjwatson@ubuntu.com>
16638
16639 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16640 scratch area. Make sure to initialise chosen in standalone mode as
16641 well as non-standalone.
16642 Reported by: Robert Hooker and Andy Whitcroft.
16643 Tested by: Andy Whitcroft.
16644
d060ad60
CW
166452010-12-21 Colin Watson <cjwatson@ubuntu.com>
16646
16647 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16648 constructing a new unescaped string and passing it to grub_xputs in
16649 one go, rather than passing characters to grub_printf one at a time.
16650
b889cfad
CW
166512010-12-21 Colin Watson <cjwatson@ubuntu.com>
16652
16653 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16654 initialising utf16.
16655
4e01b6c8
CW
166562010-12-21 Colin Watson <cjwatson@ubuntu.com>
16657
16658 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16659 comment. Add an extra layer of quotation, requiring the output of
16660 this function to be used in a printf format string.
16661 (gettext_printf): New function.
16662 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16663 Extract translatable strings from here-documents and use a temporary
16664 variable instead, so that xgettext can find them.
16665 * util/grub.d/10_kfreebsd.in: Likewise.
16666 * util/grub.d/10_linux.in: Likewise.
16667 * util/grub.d/20_linux_xen.in: Likewise.
16668
16669 * po/grub.d.sed: New file.
16670 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16671 arguments. Set c-format flags on all strings extracted from
16672 util/grub.d/ (xgettext refuses to include these itself for strings
16673 it extracted from a shell file, but these really are c-format).
16674
5318fe98
VS
166752010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16678 Avoid next pointing to nowhere.
16679
6c85b743
VS
166802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16681
16682 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16683 rather than assuming than rootblock is exactly in the middle.
16684 (grub_affs_label): Likewise.
16685
a2a08a35
VS
166862010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16689 reserved_first_sector to 0.
16690 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16691 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16692 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16693
7059d1ec
VS
166942010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 Fix handling of UTF-16 UDF labels.
16697
16698 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16699 (read_string): .. here.
16700 (grub_udf_label): Use read_string.
16701
30aff4cb
BC
167022010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16703
16704 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16705 editor under argument scope.
16706 Reported by: Jordan Uggla
16707
5cf86f4b
VS
167082010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16711
32570200
CW
167122010-12-18 Colin Watson <cjwatson@ubuntu.com>
16713
16714 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16715 line, and other keys scroll an entire page (previous handling was
16716 for \r and \n to scroll a page and other keys to scroll two lines).
16717
e1dffcf2
VS
167182010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16721 Set ptrdest to correct get_physical_target_address rather than
16722 incorrect get_virtual_current_address.
16723
b04298cf 167242010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16725
16726 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16727 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16728
5367ecd3
CW
167292010-12-10 Colin Watson <cjwatson@ubuntu.com>
16730
16731 * .bzrignore: Ignore grub-core/rs_decoder.S.
16732
1fb430f8
CW
167332010-12-10 Colin Watson <cjwatson@ubuntu.com>
16734
16735 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16736 .mo/.mo.gz opening sequence to ...
16737 (grub_mofile_open_lang): ... here.
16738 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16739 * util/grub.d/00_header.in (grub_lang): Include country part of
16740 locale.
16741 Reported by: Mario Limonciello.
16742
a94a6671
RM
167432010-12-09 Robert Millan <rmh@gnu.org>
16744
16745 * NEWS: Document addition of ZFS support.
16746
24b7938b
CW
167472010-12-04 Colin Watson <cjwatson@ubuntu.com>
16748
16749 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16750 rather than `/ 2', as the latter requires -Wa,--divide which would
16751 require bumping our minimum binutils version.
16752
bddc3ef6
BC
167532010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16754
16755 * util/grub-script-check.c (main): Print script line number on
16756 error.
16757
bf78d5b2
RM
167582010-12-01 Robert Millan <rmh@gnu.org>
16759
16760 * grub-core/fs/zfs/zfs.c: New file.
16761 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16762 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16763 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16764 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16765
16766 * include/grub/zfs/dmu.h: Likewise.
16767 * include/grub/zfs/dmu_objset.h: Likewise.
16768 * include/grub/zfs/dnode.h: Likewise.
16769 * include/grub/zfs/dsl_dataset.h: Likewise.
16770 * include/grub/zfs/dsl_dir.h: Likewise.
16771 * include/grub/zfs/sa_impl.h: Likewise.
16772 * include/grub/zfs/spa.h: Likewise.
16773 * include/grub/zfs/uberblock_impl.h: Likewise.
16774 * include/grub/zfs/vdev_impl.h: Likewise.
16775 * include/grub/zfs/zap_impl.h: Likewise.
16776 * include/grub/zfs/zap_leaf.h: Likewise.
16777 * include/grub/zfs/zfs.h: Likewise.
16778 * include/grub/zfs/zfs_acl.h: Likewise.
16779 * include/grub/zfs/zfs_znode.h: Likewise.
16780 * include/grub/zfs/zil.h: Likewise.
16781 * include/grub/zfs/zio.h: Likewise.
16782 * include/grub/zfs/zio_checksum.h: Likewise.
16783
16784 * Makefile.util.def: Build ZFS into libgrubmods.
16785 * grub-core/Makefile.core.def: Build zfs.mod.
16786
3f0f3831
SJ
167872010-11-30 Szymon Janc <szymon@janc.net.pl>
16788
16789 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16790 variable.
16791 * grub-core/commands/wildcard.c (match_files): Likewise.
16792
3a4253b2
RM
167932010-11-30 Robert Millan <rmh@gnu.org>
16794
16795 * grub-core/loader/i386/bsd.c
16796 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16797 whether kernel is loaded using grub_loader_is_loaded(), rather
16798 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16799 certain error conditions.
16800
8c317b27
RM
168012010-11-30 Robert Millan <rmh@gnu.org>
16802
c5c9cd3e
RM
16803 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16804 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16805
49d3ab46
VS
168062010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 Avoid using tricks for initialising endian variables.
16809
16810 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16811 Make const.
16812 (GRUB_MOD_INIT): Don't byte-swap.
16813 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16814 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16815 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16816 (grub_swap_bytes32_compile_time): Likewise.
16817 (grub_cpu_to_le32_compile_time): Likewise.
16818 (grub_cpu_to_le16_compile_time): Likewise.
16819
f420a804
VS
168202010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16821
16822 * util/grub-setup.c (setup): Stop recommending --force. People who
16823 understand the dangers of blocklists are able to find this option
16824 anyway and the ones who don't shouldn't use it anyway.
16825
4e7db17b
RM
168262010-11-26 Robert Millan <rmh@gnu.org>
16827
16828 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16829 Update all users.
16830
9be57a0d
CW
168312010-11-26 Colin Watson <cjwatson@ubuntu.com>
16832
16833 Fix LVM-on-RAID probing.
16834
16835 * util/grub-probe.c (probe): Remember which disk was detected as
16836 RAID (perhaps an LVM physical volume). Use that disk's raidname
16837 rather than that of the top-level disk.
16838
2c7859b3 168392010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16840
d7647bb6
BC
16841 Fix cmdline argument quotes for setparams command of menuentry
16842 definitions.
7e623b0d
BC
16843
16844 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16845 quotes for arguments.
f866fe80 16846 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16847 grub_strchrsub function instead.
f866fe80 16848
7955bea0 16849 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16850
74f72a64
CW
168512010-11-24 Colin Watson <cjwatson@ubuntu.com>
16852
16853 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16854 effort by skipping "." and ".." entries up-front.
16855 Suggested by: Michael Lazarev.
16856
5a407278
CW
168572010-11-24 Colin Watson <cjwatson@ubuntu.com>
16858
16859 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16860 ldflags to ldadd, to fix link line ordering.
16861 (none_decompress): Likewise.
16862
3030d8ec
CW
168632010-11-24 Colin Watson <cjwatson@ubuntu.com>
16864
16865 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16866 platforms.
16867 (grub-emu-lite): Remove kern/emu/cache.S.
16868
b7fbac12
CW
168692010-11-23 Colin Watson <cjwatson@ubuntu.com>
16870
16871 * util/deviceiter.c (compare_devices): If the by-id link for a
16872 device couldn't be resolved, fall back to sorting by the by-id link
16873 rather than segfaulting.
16874 Reported and tested by: Daniel Mierswa.
16875
5225f328
CW
168762010-11-23 Colin Watson <cjwatson@ubuntu.com>
16877
16878 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16879 ldflags, to fix link line ordering.
16880
038b3ce8
CW
168812010-11-23 Colin Watson <cjwatson@ubuntu.com>
16882
16883 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16884 linkers are picky about this.
16885
bf16e98e
CW
168862010-11-23 Colin Watson <cjwatson@ubuntu.com>
16887
16888 * grub-core/Makefile.am (command.lst): Adjust sed expression
16889 ordering so that extended and priority commands aren't treated as
16890 ordinary commands.
16891
7242bab6
CW
168922010-11-23 Colin Watson <cjwatson@ubuntu.com>
16893
16894 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16895 Remove byte-swapping function calls, which are not valid in
16896 structure initialisers.
16897 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16898 non-const.
16899 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16900 grub_gpt_partition_type_bios_boot.
16901
14e8b279
CW
169022010-11-22 Colin Watson <cjwatson@ubuntu.com>
16903
16904 Fix test program build on GNU/kFreeBSD.
16905
16906 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16907 $(LIBNVPAIR)' library dependencies.
16908
e6f63338 169092010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16910
16911 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16912
cf8ffc38
CW
169132010-11-22 Colin Watson <cjwatson@ubuntu.com>
16914
16915 * util/grub-install.in: Remove excessive quoting that broke
16916 installations to RAID devices.
16917
7f8b0fd7
VS
169182010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16921 bootloader version instead of 0.
16922
dfd240b1
VS
169232010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16926 warning.
16927
7b61e609
VS
169282010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16931 retrieve the metadat sector if size isn't known.
16932 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16933
9dfe92d0
RM
169342010-11-18 Robert Millan <rmh@gnu.org>
16935
16936 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16937 with grub_memcmp().
16938
41cc919e
VS
169392010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16942 arrow.
16943 Reported by: Jordan Uggla.
16944
1afcc914
VS
169452010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16946
16947 Make better UTF compliant.
16948
16949 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16950 sequences as incorrect.
16951 (grub_is_valid_utf8): Likewise.
16952 (grub_utf8_to_ucs4): Likewise.
16953 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16954 (grub_ucs4_to_utf8_alloc): Likewise.
16955 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16956
f1808884
VS
169572010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 Make legacy_source behave like source.
16960
16961 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16962 grub_show_menu.
16963 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16964
24ec575b
CW
169652010-11-16 Colin Watson <cjwatson@debian.org>
16966
16967 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16968 (-Wunused implies -Wunused-parameter, but not vice versa).
16969
72b7c7aa
CW
169702010-11-16 Colin Watson <cjwatson@ubuntu.com>
16971
16972 * configure.ac: Make error messages less confusing by testing for
16973 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16974 accepted, but produces a diagnostic if something else is wrong).
16975
e98937aa
VS
169762010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16979 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16980 (now unused).
16981 (grub_keyboard_controller_init)
16982 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16983 read the initial state since controller isn't inited yet.
16984
f6bbabc3
VS
169852010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16986
16987 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16988 allocate_regbeg may need to create new chunk header.
16989
22e7dbb2
VS
169902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16991
16992 Fix quoting in legacy parser.
16993
16994 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16995 single quotes.
16996 (grub_legacy_parse): Likewise.
16997 Reported by: Jordan Uggla.
16998 Tested by: Jordan Uggla.
16999
03f80960
VS
170002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 Don't add -lgcc on i386 and x86_64.
17003
17004 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17005 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17006 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17007
779dc15b
VS
170082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17009
17010 * configure.ac: Add -Wno-trampolines when supported.
17011
d20a3b37
MV
170122010-11-14 Modestas Vainius <modax@debian.org>
17013
17014 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17015 fakeraid.
17016
e5360933
GC
170172010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17018
17019 Add generic logical block size support for UDF.
17020
17021 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17022 (GRUB_UDF_BLKSZ): Removed.
17023 (struct grub_udf_data): New field "lbshift" to hold the logical block
17024 size of the file system in log2 format. All users updated.
17025 (sblocklist): Change type to unsigned.
17026 (grub_udf_mount): Change type of "sblklist" to unsigned.
17027 Move AVDP search before VRS recognition, because the latter requires
17028 knowledge of the logical block size, which is detected during the
17029 former.
17030 Detect and validate logical block size during AVDP search, adding
17031 support for block sizes 512, 1024 and 4096.
17032 Make VRS recognition independent of block size.
17033
cb0229c5
GC
170342010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17035
17036 Properly handle deleted files on UDF.
17037
17038 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17039 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17040 set.
17041
406858a8
GC
170422010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17043
17044 Support reading files larger than 2 GiB.
17045
17046 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17047 "offset" to grub_off_t.
17048 (grub_udf_read_file): Likewise for parameter "pos".
17049
130da6a7
VS
170502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17053 unavailable.
17054 (Simple configuration): Refer to Changes from GRUB Legacy about
17055 save_env availability.
17056
65e93f6b
VS
170572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * util/grub-install.in: Ignore empty partition table detection
17060 instead of trying to include part_ module.
17061
1fd08bf1
VS
170622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17065 LVM on RAID support.
17066
de1a024f
VS
170672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 Properly define WORDS_BIGENDIAN in wrapped environments.
17070
17071 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17072 definition.
17073 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17074
17075 Reported by: Manoel Rebelo Abranches.
17076 Tested by: Manoel Rebelo Abranches.
17077
bc5dd0b9
VS
170782010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17079
17080 * util/grub-mkconfig.in: Fix quoting.
17081
58c184be
VS
170822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 Support big ext2 files.
17085
17086 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17087 (grub_ext2_read_block): Support triple indirect blocks.
17088 (grub_ext2_read_file): Use 64-bit types and read size_high.
17089 (grub_ext2_open): Read size_high.
17090 Reported by: Ximin Luo.
17091 Tested by: Manoel Rebelo Abranches.
17092
5f0c02b3
VS
170932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * util/grub-install.in: Handle filenames containing spaces.
17096 Reported by: Jordan Uggla.
17097 Tested by: Jordan Uggla.
17098
4417aae6
VS
170992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * util/grub-mkconfig.in (grub_script_check): New variable.
17102 Use grub_script_check instead of grub-script-check.
17103 Reported by: Barry Jackson.
17104
7625a68e
VS
171052010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17106
17107 * docs/grub.texi (menu): Correct the order.
17108 Reported by: D. Hugh Redelmeier.
17109
10001ac5
VS
171102010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17113 jump.
17114
9c4cf53b
MRA
171152010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17116
10001ac5
VS
17117 * include/grub/elfload.h (grub_elf32_size): New parameter.
17118 All users updated.
9c4cf53b
MRA
17119 Return maximum segments alignment.
17120 (grub_elf64_size): Likewise.
17121 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17122 Return maximum segments alignment.
17123 (grub_elf64_size): Likewise.
17124 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17125 (grub_linux_claimmap_iterate): New function. Uses the
17126 "available" property in the "memory" node for memory allocation
17127 for kernel in the PowerPC loader.
9c4cf53b
MRA
17128 (grub_linux_load32): Correctly find linux entry point offset.
17129 (grub_linux_load64): Likewise.
17130
d2bf06bf
RM
171312010-11-07 Robert Millan <rmh@gnu.org>
17132
17133 On mips-yeeloong, build with -march=loongson2f when this flag is
17134 available (GCC >= 4.4).
17135 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17136 `-march=mips3'.
17137 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17138 or otherwise add -march=mips3.
17139
898c99a2
BC
171402010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17141
87220a68
BC
17142 Suppress shell expansion on echo '*' and echo "*" like cases.
17143 Reported by: Jordan Uggla.
898c99a2
BC
17144
17145 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17146 string arguments before shell expansion.
17147 * tests/grub_cmd_echo.in: New testcases.
17148
4f9b406a
RM
171492010-11-07 Robert Millan <rmh@gnu.org>
17150
17151 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17152 transition.
17153
80c6d25e
VS
171542010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 * grub-core/kern/emu/hostdisk.c
17157 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17158
4a1a0153
VS
171592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17160
17161 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17162 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17163 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17164
34706ddc
VS
171652010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17168
6972dea9
VS
171692010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 * util/grub-install.in: Replace useless recomendation to pass
17172 --modules with a recomendation to report a bug.
17173
9c693bd6
VS
171742010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 Properly register serial terminfo.
17177 Reported by: Jordan Uggla
17178
17179 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17180 const.
17181 (grub_serial_terminfo_output_template): Likewise.
17182 (grub_cmd_serial): Register "serial" with terminfo.
17183 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17184 grub_serial_terminfo_output.
17185
6c9e4c0c
RM
171862010-11-05 Robert Millan <rmh@gnu.org>
17187
17188 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17189 needed).
17190
b9b3839f
RM
171912010-11-05 Robert Millan <rmh@gnu.org>
17192
17193 On Yeeloong, pass machine type information to Linux.
17194
17195 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17196 (LOONGSON_MACHTYPE): New macro, set to
17197 "machtype=lemote-yeeloong-2f-8.9inches".
17198 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17199 additional argument to Linux.
17200
1a3aaff4
RM
172012010-11-04 Robert Millan <rmh@gnu.org>
17202
17203 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17204 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17205 (its SATA disks are detected as slaveless IDE master drives on
17206 kFreeBSD).
17207 Reported by Carsten Aulbert.
17208
a75f4f62
CW
172092010-11-02 Colin Watson <cjwatson@ubuntu.com>
17210
17211 * util/bin2h.c (main): Fix spelling error in generated output.
17212
33b4b0c6
GS
172132010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17214
17215 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17216
2b36fbf4
VS
172172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17220 vga= option is supplied.
17221
74aaf558
VS
172222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17225 * util/grub.d/10_kfreebsd.in: Likewise.
17226 * util/grub.d/10_linux.in: Likewise.
17227 * util/grub.d/20_linux_xen.in: Likewise.
17228
6428dec3
VS
172292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17232 argument as an argument to no-argument option.
17233
f8729d98
VS
172342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * util/grub.d/10_linux.in: Add missing load_video with explicit
17237 GRUB_GFXPAYLOAD_LINUX.
17238
89d68fa6
VS
172392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17242
3a1197cd
VS
172432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17244
17245 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17246 elements with invlid index.
17247 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17248 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17249 members.
17250 * include/grub/raid.h (grub_raid_member): New struct.
17251 (grub_raid_array): Transform devices and start_sector into usage of
17252 grub_raid_member. All users updated
17253 (allocated_devs): New member.
17254
71574288
VS
172552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17258 is modified
17259
8d40ec65
BC
172602010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17261
17262 NetBSD build fix for getline function conflict from gnulib.
17263
17264 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17265 components that depend on gnulib headers.
17266 (libgrubmods.a): Renamed from earlier libgrub.a.
17267 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17268
95b9257e
VS
172692010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17270
17271 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17272 install rather than creating a broken install.
17273
26c53dc6
VS
172742010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * util/grub-setup.c (argp): Remove misleading example of installing to
17277 a partition.
17278
4171b3c5
VS
172792010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * util/grub-setup.c (setup): Clarify the error message.
17282
18568d18
VS
172832010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17286
4f6a2e21
VS
172872010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 * grub-core/kern/emu/misc.c
17290 (grub_make_system_path_relative_to_its_root)
17291 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17292
172932010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17294
17295 * grub-core/kern/emu/misc.c
17296 (grub_make_system_path_relative_to_its_root): Revert r2882.
17297
e138c458
VS
172982010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17301 useless field head. All users updated.
17302 (free_subchunk): Correct handling of IN_REGION subchunk.
17303
0cbcdf0e
CW
173042010-10-22 Colin Watson <cjwatson@ubuntu.com>
17305
17306 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17307 (Supported kernels): Likewise.
17308
b65ea155
GS
173092010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17310
17311 Make mktemp invocations portable.
17312
17313 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17314 exit if mktemp fails.
17315 * tests/grub_script_blockarg.in: Likewise.
17316 * tests/partmap_test.in: Likewise.
17317 * tests/util/grub-shell-tester.in: Likewise.
17318 * tests/util/grub-shell.in: Likewise.
17319 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17320 * Makefile.am: Likewise, and chain shell commands with `&&'
17321 instead of ';'.
17322 * util/grub-mkrescue.in: Use the same explicit template as above, and
17323 exit if mktemp fails.
17324
05f43cdd
BC
173252010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17326
17327 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17328 Linux kernel, reported by Dennis Schridde.
17329
800e6a9b
SJ
173302010-10-17 Szymon Janc <szymon@janc.net.pl>
17331
17332 * grub-core/normal/auth.c (grub_auth_check_authentication):
17333 Set-but-not-used variable removed.
17334
d82df574
VS
173352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17338 32-bit linux protocol.
17339
7bced458
VS
173402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17341
17342 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17343 cursor shape for sanity.
17344
5b027690
VS
173452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17346
17347 * docs/grub.texi (Installation): Document buggy BIOS install.
17348
ba5f65cf
VS
173492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 * docs/grub.texi (Installation): Indent.
17352
fdf2ec9c
VS
173532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17354
17355 * util/grub-setup.c (setup): New parameter allow_floppy.
17356 (arguments): New member allow_floppy.
17357 (argp_parser): Handle --allow-floppy.
17358 (main): Pass allow_floppy.
17359 * util/grub-install.in: New option --allow-floppy passed though to
17360 grub-setup.
17361
861dfd4c
VS
173622010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17363
17364 * util/grub-install.in: Handle partitionless disks.
17365
f77a8c24
VS
173662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * util/grub-setup.c (setup): Don't clean blocklists before readability
17369 verfification.
17370
27d9ee32
VS
173712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 * docs/grub.texi (Installation): Document embedding zone. Remove
17374 obsolete grub-install example.
17375
6bdda8f8
SJ
173762010-10-16 Szymon Janc <szymon@janc.net.pl>
17377
17378 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17379 Set-but-not-used variable ifdef'ed.
17380 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17381 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17382 variable removed.
17383 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17384 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17385 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17386 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17387 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17388 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17389 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17390 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17391 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17392 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17393 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17394 Likewise.
17395
e19b016b
VS
173962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17399 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17400 enum value.
17401
6c8d3002
VS
174022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17405 synonym to _S5_. Needed for some DSDTs.
17406
c32b51c9
VS
174072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 Userspace ACPI parser debugging.
17410
17411 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17412 headers and add relevant defines. Don't include standard headers.
17413 (main) [GRUB_DSDT_TEST]: New function.
17414 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17415 Don't declare functions.
17416
fbfbeb39
VS
174172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 Remove dead grub_efi_mm_fini.
17420
17421 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17422 (ALLOCATED_PAGES_SIZE): Likewise.
17423 (MAX_ALLOCATED_PAGES): Likewise.
17424 (allocated_pages): Likewise.
17425 (grub_efi_allocate_pages): Don't record allocated pages.
17426 (grub_efi_free_pages): Likewise.
17427 (grub_efi_mm_init): Likewise.
17428 (grub_efi_mm_fini): Removed.
17429
65f7ed7c
VS
174302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17433 (grub_efi_mm_init): Take into account the memory map size increase.
17434
24977b44
VS
174352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17438 (serial_hw_put): Wait based on real time rather than port reads. Don't
17439 roken ports.
17440 * include/grub/serial.h (grub_serial_port): New field broken.
17441
1eb01cd2
RM
174422010-10-16 Robert Millan <rmh@gnu.org>
17443
17444 * grub-core/kern/emu/misc.c
17445 (grub_make_system_path_relative_to_its_root): Fix premature return
17446 when processing non-root ZFS filesystems.
5f8b440b 17447 Reported by Sergio Talens-Oliag.
1eb01cd2 17448
2d5fed60
RM
174492010-10-15 Robert Millan <rmh@gnu.org>
17450
17451 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17452 guarantee compressed ones are processed first.
17453
d0f4c1ea
VS
174542010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17457 grub_efiemu_autocore.
17458
d87c681f
VS
174592010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17462 rather than 0x1b.
17463 (grub_console_getkey): Use correct jae opcode rather than ja.
17464
219b3564
RM
174652010-10-12 Robert Millan <rmh@gnu.org>
17466
17467 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17468 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17469 variable. All references updated.
17470
17471 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17472
20c6bb7e
VS
174732010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17474
17475 Correctly distinguish mdraid flavours.
17476
17477 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17478 (insert_array): New argument raid.
17479 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17480 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17481 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17482
74baff84
VS
174832010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17486 handling of special keys.
17487
3ef068df 174882010-10-02 Aleš Nesrsta <starous@volny.cz>
17489
c7980ad9
VS
17490 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17491 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17492
a9455194 174932010-10-02 Aleš Nesrsta <starous@volny.cz>
17494
c7980ad9
VS
17495 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17496 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17497 users updated.
a9455194 17498 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17499 Use right endpoint when querying descriptor.
a9455194 17500
441cfe65
VS
175012010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 Clear out 0x80 color bit on EFI.
17504 Tested by: decoder
17505 Reported by: decoder and meta tech.
17506
17507 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17508 (grub_console_setcolorstate): Clear out 0x80 bit.
17509 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17510 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17511 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17512
bf26bcc4
VS
175132010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17516 Set to "auto".
17517
6e3c515d
VS
175182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17521 mo_file after freeing.
17522
e6d983ba
VS
175232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17526
74ccb5b5
VS
175272010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17530 flags.
17531
17821956
VS
175322010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17535 usage.
17536
ee74fa48
VS
175372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17540
17541 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17542 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17543 and terminfo.h when needed.
17544 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17545 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17546 (terminfo): Enable only on terminfokernel.
17547 (extcmd): Likewise.
17548 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17549 * include/grub/lib/arg.h: Likewise.
17550 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17551 incorrect usage of ->.
17552
aa438e68
VS
175532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17554
17555 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17556 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17557
57994012
VS
175582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 Fix coreboot compilation.
17561
17562 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17563 Take VBE info into account even if only text is supported.
17564 (fill_vbe_info): Take into account the case when only VGA text
17565 is supported.
17566 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17567 on coreboot, multiboot and qemu.
17568
2a406611
VS
175692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17570
17571 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17572 debug messages.
17573 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17574
d33613fc
VS
175752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17576
17577 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17578 parameters.
17579
44a1b432
VS
175802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17583 if they were BSD-style.
17584
edde54e6
VS
175852010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17586
17587 * grub-core/boot/i386/pc/lnxboot.S: Replace
17588 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17589 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17590
b65830fa
VS
175912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17592
17593 Write embedding zone using Reed-Solomon.
17594
17595 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17596 * grub-core/Makefile.am (rs_decoder.S): New target.
17597 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17598 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17599 (multiboot): Move to RS part.
17600 (post_reed_solomon): New label.
17601 (grub_boot_drive): Move to non-RS part since it's modified in memory
17602 on boot.
17603 Include rs_decoder.S.
17604 * grub-core/lib/reed_solomon.c: New file.
17605 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17606 New definition.
17607 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17608 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17609 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17610 * include/grub/partition.h (grub_partition_map): Change prototype of
17611 embed to allow returning additional sectors.
17612 * include/grub/reed_solomon.h: New file.
17613 * util/grub-setup.c (setup): Handle Reed-Solomon.
17614
0b4b227f
CW
176152010-09-28 Colin Watson <cjwatson@ubuntu.com>
17616
17617 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17618 i386 and x86-64 definedness tests.
17619
f772623b
YB
176202010-09-27 Yves Blusseau <blusseau@zetam.org>
17621
17622 Fix generation of kernel_syms.lst
17623
17624 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17625 ASM_PREFIX
17626
8e57a6ca
RM
176272010-09-26 Robert Millan <rmh@gnu.org>
17628
17629 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17630
17631 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17632 the pool is an array of devices, iterate through it and return the
17633 first device that passes a stat() test (instead of blindly returning
17634 the first one).
17635
f9130836
RM
176362010-09-26 Robert Millan <rmh@gnu.org>
17637
17638 Build fixes for GNU/kFreeBSD.
17639
17640 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17641 to programs that require ZFS conversion.
17642 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17643 kernels that don't have FLOPPY_MAJOR.
17644
96510faf
BC
176452010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17646
17647 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17648
449333eb
BC
176492010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17650
17651 Fix grub-emu build.
17652
17653 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17654 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17655 mdraid09 and mdraid1x.
17656
e1fd1939
CW
176572010-09-24 Colin Watson <cjwatson@ubuntu.com>
17658
17659 Re-enable grub-extras.
17660
17661 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17662 avoid confusing Automake. Run autogen only twice, once for the top
17663 level and once for grub-core. Add Makefile.util.def and
17664 Makefile.core.def from extra modules to the appropriate autogen
17665 invocations. If Makefile.common exists in an extra module, include
17666 it in both Makefile.util.am and grub-core/Makefile.core.am;
17667 similarly, include any Makefile.util.common file in Makefile.util.am
17668 and any Makefile.core.common file in grub-core/Makefile.core.am.
17669 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17670 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17671 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17672 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17673
17674 * gentpl.py (gvar_add): Turn GVARS into a set.
17675 (global_variable_initializers): Sort global variables on output.
17676 (vars_init): New function.
17677 (first_time): Likewise.
17678 (library): Ensure that non-global variable initialisations are
17679 emitted before the first time we emit code for a library block.
17680 Append to variables rather than setting them. Only emit
17681 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17682 each conditional path.
17683 (program): installdir() emits an Autogen macro, so must be passed to
17684 var_add rather than gvar_add.
17685 (data): Likewise.
17686 (script): Likewise.
17687 (rules): New function, centralising handling for different target
17688 types. Set up Guile association lists for first_time and vars_init,
17689 and send most output to a diversion so that variable initialisations
17690 can be emitted first.
17691 (module_rules): Use new rules function.
17692 (kernel_rules): Likewise.
17693 (image_rules): Likewise.
17694 (library_rules): Likewise.
17695 (program_rules): Likewise.
17696 (script_rules): Likewise.
17697 (data_rules): Likewise.
17698
17699 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17700
17701 * .bzrignore: Add contrib and grub-core/contrib. Remove
17702 grub-core/Makefile.gcry.am.
17703
1d12cf29
YB
177042010-09-24 Yves Blusseau <blusseau@zetam.org>
17705
17706 * grub-core/lib/LzFind.c: Add missing include.
17707 * grub-core/lib/LzmaEnc.c: Likewise.
17708 * grub-core/script/lexer.c: Likewise.
17709 * grub-core/script/yylex.l: Likewise.
17710 * util/grub-macho2img.c: Likewise.
17711 * util/grub-menulst2cfg.c: Likewise.
17712 * util/grub-mklayout.c: Likewise.
17713 * util/grub-mkpasswd-pbkdf2.c
17714 * util/grub-mkrelpath.c: Likewise.
17715 * util/resolve.c: Likewise.
17716
dd363028
BC
177172010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17718
17719 * Makefile.util.def (example_unit_test): Add
17720 grub-core/gnulib/libgnu.a.
17721
f5a109e2
GS
177222010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17723
17724 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17725
6d0fa83c
VS
177262010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 Support xz compression on yeeloong.
17729
17730 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17731 * configure.ac: Check for LZMA.
17732 * grub-core/Makefile.core.def (xz_decompress): New target.
17733 (none_decompress): Likewise.
17734 * grub-core/boot/decompressor/minilib.c: New file.
17735 * grub-core/boot/decompressor/none.c: Likewise.
17736 * grub-core/boot/decompressor/xz.c: Likewise.
17737 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17738 * grub-core/kern/mips/cache_flush.S: Likewise.
17739 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17740 * grub-core/kern/mips/startup.S: Move first stage to ...
17741 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17742 nomacro.
17743 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17744 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17745 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17746 Allocate statically.
17747 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17748 Allocate statically or use scratch. Don't check CRC32.
17749 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17750 Allocate statically. Don't check CRC32.
17751 * include/grub/decompressor.h: New file.
17752 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17753 Removed.
17754 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17755 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17756 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17757 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17758 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17759 * util/grub-mkimage.c (grub_compression_t): New type.
17760 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17761 (image_target_desc): New field default_compression.
17762 (image_targets): Adjust yeeloong targets.
17763 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17764 (compress_kernel): New parameter comp.
17765 (generate_image): Likewise. Handle new compression case.
17766 (options): New option --compression
17767 (help): Likewise.
17768 (main): Handle new option.
17769
1b655af6
GS
177702010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17771
17772 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17773
8f03f0b5
CW
177742010-09-22 Colin Watson <cjwatson@ubuntu.com>
17775
17776 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17777 typo in __i386__ conditional.
17778
7835dfd3
VS
177792010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17782 include.
17783
e255597e
VS
177842010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17785
6d0fa83c 17786 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17787
17788 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17789 new tags as supported.
17790 (acpiv2_size): New function.
17791 (grub_multiboot_get_mbi_size): Take new tags into account.
17792 (grub_multiboot_make_mbi): Add new tags.
17793 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17794
6cc14051 177952010-09-21 Aleš Nesrsta <starous@volny.cz>
17796
17797 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17798 Added missing configuration of USB device.
17799
df7769d8
CW
178002010-09-21 Colin Watson <cjwatson@ubuntu.com>
17801
17802 * grub-core/normal/menu_entry.c (run): Make sure we always return
17803 a value.
17804
b031012d
CW
178052010-09-21 Colin Watson <cjwatson@ubuntu.com>
17806
17807 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17808 NumberOfPages is UINT64 according to the UEFI specification, not
17809 UINTN. Fix printf format.
17810
174de8f3
CW
178112010-09-21 Colin Watson <cjwatson@ubuntu.com>
17812
17813 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17814 `err' to grub_usb_err_t.
17815 Reported and tested by: KESHAV P.R.
17816
d7dbe923
CW
178172010-09-21 Colin Watson <cjwatson@ubuntu.com>
17818
17819 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17820 tpart non-const, so that we can assign to it. (Since this is a
17821 typedef, the constness refers to the pointer rather than what it
17822 points to.)
17823
8d5e2af3
CW
178242010-09-21 Colin Watson <cjwatson@ubuntu.com>
17825
17826 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17827 $(top_srcdir)/grub-core/gnulib as well as
17828 $(top_builddir)/grub-core/gnulib.
17829 Reported by: KESHAV P.R.
17830
5c527783
CW
178312010-09-21 Colin Watson <cjwatson@ubuntu.com>
17832
17833 * util/grub-install.in: Fix the bootloader ID option to be
17834 consistently --bootloader-id, not --bootloader_id.
17835 Reported by: KESHAV P.R.
17836
d309a16e
CW
178372010-09-21 Colin Watson <cjwatson@ubuntu.com>
17838
17839 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17840 check hash checksum." consistently translatable.
17841
b830cd16
YB
178422010-09-21 Yves Blusseau <blusseau@zetam.org>
17843
17844 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17845 $(top_builddir).
17846
c4fe27a8
CW
178472010-09-21 Colin Watson <cjwatson@ubuntu.com>
17848
17849 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17850 (GRUB_MOD_INIT): Register sha1sum command.
17851 (GRUB_MOD_FINI): Unregister sha1sum command.
17852
a4c1d277
YB
178532010-09-21 Yves Blusseau <blusseau@zetam.org>
17854
17855 Keep boot and grub directory names in sync with utils scripts
17856
17857 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17858 * config.h.in: Add previous macros.
17859 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17860 * util/grub-install.in: Use $bootdir and $grubdir variables.
17861
4eff79d2
CW
178622010-09-21 Colin Watson <cjwatson@ubuntu.com>
17863
17864 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17865 convert partition names to disk names if the new `convert' parameter
17866 is set.
17867 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17868 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17869 disk in its own right. This can happen with Xen disk images.
17870
934d7e44
YB
178712010-09-21 Yves Blusseau <blusseau@zetam.org>
17872
17873 * util/grub-editenv.c: Update strings to avoid warnings when generating
17874 grub.pot file.
17875 * util/grub-setup.c: Likewise.
934d7e44 17876
df3367cc
VS
178772010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 * configure.ac: Change version to 1.99~beta0.
17880
77a94e98
VS
178812010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17884 Add BADRAM.
17885 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17886 Likewise.
17887 * include/multiboot.h: Resynced with specification.
17888 * include/multiboot2.h: Likewise.
17889
269004c1
CW
178902010-09-21 Colin Watson <cjwatson@ubuntu.com>
17891
17892 Fix po directory handling.
17893
17894 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17895 * grub-core/gnulib/Makefile.am: Import gettext module.
17896 * m4/gnulib-cache.m4: Likewise.
17897 * m4/gnulib-comp.m4: Likewise.
17898 * m4/gettext.m4: New file, from gnulib.
17899 * m4/glibc2.m4: Likewise.
17900 * m4/iconv.m4: Likewise.
17901 * m4/intdiv0.m4: Likewise.
17902 * m4/intl.m4: Likewise.
17903 * m4/intldir.m4: Likewise.
17904 * m4/intlmacosx.m4: Likewise.
17905 * m4/intmax.m4: Likewise.
17906 * m4/inttypes-pri.m4: Likewise.
17907 * m4/lcmessage.m4: Likewise.
17908 * m4/lib-ld.m4: Likewise.
17909 * m4/lib-link.m4: Likewise.
17910 * m4/lib-prefix.m4: Likewise.
17911 * m4/lock.m4: Likewise.
17912 * m4/nls.m4: Likewise.
17913 * m4/po.m4: Likewise.
17914 * m4/printf-posix.m4: Likewise.
17915 * m4/progtest.m4: Likewise.
17916 * m4/threadlib.m4: Likewise.
17917 * m4/uintmax_t.m4: Likewise.
17918 * m4/visibility.m4: Likewise.
17919 * po/Makefile.am: Remove.
17920 * po/Makefile.in.in: New file, from gettext.
17921 ($(DOMAIN).pot-update): Support POTFILES-shell.
17922 * po/Makevars: New file.
17923 * po/POTFILES-shell: Rename to ...
17924 * po/POTFILES-shell.in: ... this. Update.
17925 * po/POTFILES: Rename to ...
17926 * po/POTFILES.in: ... this. Update.
17927 * po/Rules-quot: New file, from gettext.
17928 * po/boldquot.sed: Likewise.
17929 * po/en@boldquot.header: Likewise.
17930 * po/en@quot.header: Likewise.
17931 * po/insert-header.sin: Likewise.
17932 * po/quot.sed: Likewise.
17933 * po/remove-potcdate.sin: Likewise.
17934
3e0fa5d0
VS
179352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17938
ade9bd66
VS
179392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17940
17941 * util/grub.d/20_linux_xen.in: Use submenus.
17942
fc55cc4c
VS
179432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 Support submenus.
17946
17947 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17948 parameter submenu. All users updated.
17949 * grub-core/normal/main.c (free_menu): Rename to ...
17950 (grub_normal_free_menu): ... this. Made global.
17951 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17952 if requested.
17953 * grub-core/normal/menu_entry.c (screen): New field submenu.
17954 (make_screen): Set submenu.
17955 (run): Open new context if requested.
17956 * include/grub/menu.h (grub_menu_entry): New field submenu.
17957 * include/grub/normal.h (grub_normal_free_menu): New proto.
17958
600cedf7
VS
179592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 Menu entries extractor.
17962
17963 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17964 variants.
17965 (GRUB_MOD_INIT): Register new variants.
17966 (GRUB_MOD_FINI): Unregister new variants.
17967 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17968 into grub_cmd_legacy_source.
17969 (grub_cmd_legacy_source): Implement extractor variants.
17970 (GRUB_MOD_INIT): Register new variants.
17971 (GRUB_MOD_FINI): Unregister new variants.
17972 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17973 as an extractor.
17974 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17975 search as an extractor.
17976 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17977 test as an extractor.
17978 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17979 as an extractor.
17980 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17981 (grub_env_new_context): New function.
17982 (grub_env_context_open): Likewise.
17983 (grub_env_extractor_open): Likewise.
17984 (grub_env_extractor_close): Likewise.
17985 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17986 grub_extractor_level.
17987 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17988 * include/grub/env.h (grub_env_extractor_open): New proto.
17989 (grub_env_extractor_close): Likewise.
17990 * include/grub/normal.h (grub_extractor_level): New external variable.
17991
7bda3a87
VS
179922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 Make cutmem accept a region specification.
17995 Suggested by: Samuel Thibault
17996
17997 * grub-core/mmap/mmap.c (parsemem): New function.
17998 (grub_cmd_cutmem): Handle new arguments.
17999
2ea57f88
VS
180002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 New command cutmem.
18003
18004 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18005 (GRUB_MOD_INIT): Register new command.
18006 (GRUB_MOD_FINI): Unregister new command.
18007
74342e31
VS
180082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 Support some annoying BSD and Minix subpartitions.
18011
18012 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18013 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18014 Properly handle concatenation.
18015 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18016 * grub-core/normal/completion.c (iterate_partition): Likewise.
18017 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18018 contain partition. All users updated.
18019 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18020 struct.
18021 (grub_openbsdlabel_partition_map): Likewise.
18022 (bsdlabel_partition_map_iterate): Rename to ..
18023 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18024 (bsdlabel_partition_map_iterate): New function.
18025 (netopenbsdlabel_partition_map_iterate): Likewise.
18026 (netbsdlabel_partition_map_iterate): Likewise.
18027 (openbsdlabel_partition_map_iterate): Likewise.
18028 (GRUB_MOD_INIT): Register new partmaps.
18029 (GRUB_MOD_FINI): Unregister new partmaps.
18030 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18031 (grub_partition_msdos_iterate): ... this. All users updated.
18032 Don't support embedding other than in a minix partition.
18033 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18034 proto.
18035 * include/grub/partition.h (grub_partition): New field msdostype.
18036 * util/grub-install.in: Handle openbsd and netbsd types being in
18037 part_bsd module.
18038
1e8d555b
VS
180392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18040
18041 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18042
18043 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18044 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18045 (mdraid09): ... this.
18046 (mdraid1x): New module.
18047 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18048 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18049
899d8af4
VS
180502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18053 vsprintf.
18054
40901acd
CW
180552010-09-20 Colin Watson <cjwatson@ubuntu.com>
18056
18057 * grub-core/commands/efi/lsefimmap.c: Correct header.
18058 * NEWS: Update.
18059
dfe3b247
CW
180602010-09-20 Colin Watson <cjwatson@ubuntu.com>
18061
18062 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18063 as printf format strings; the translations might contain '%' which
18064 could cause a crash.
18065 (main): Likewise.
18066 * util/grub-fstest.c (argp_parser): Likewise.
18067 * util/grub-setup.c (argp_parser): Likewise.
18068 (main): Likewise.
18069
3286a4b4
VS
180702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 Use argp in grub-fstest.
18073
18074 * util/grub-fstest.c: Don't include getopt.h.
18075 Include argp.h.
18076 (root): New variable.
18077 (args_count): Likewise.
18078 (nparm): Likewise.
18079 (num_disks): Likewise.
18080 (images): Likewise.
18081 (cmd): Likewise.
18082 (debug_str): Likewise.
18083 (args): Likewise.
18084 (options): Transformed to argp.
18085 (usage): Removed.
18086 (main): Split argument parsing into ...
18087 (argp_parser): ... this. Changed to argp format.
18088 (argp): New variable.
18089 (main): Use argp_parse.
18090
3dccbe4b
TG
180912010-09-20 Tristan Gingold <gingold@free.fr>
180922010-09-20 Robert Millan <rmh.grub@aybabtu.com>
180932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 * grub-core/commands/efi/lsefimmap.c: New file.
18096 * grub-core/Makefile.core.def (lsefimmap): New module.
18097 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18098
38c259a7
VS
180992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 Pause the execution (10s max) if any errors are displayed so the user
18102 has a chance to see them.
18103
18104 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18105 (grub_print_error): Increment grub_err_printed_errors.
18106 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18107 execution if any errors were displayed.
18108 (show_menu): Remove old code for pause.
18109 * grub-core/normal/menu_entry.c (run): Likewise.
18110 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18111 users updated.
18112 (grub_normal_get_char_counter): Likewise.
18113 * include/grub/err.h (grub_err_printed_errors): New external variable.
18114 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18115
f218b09c
VS
181162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 Support multiboot VBE info.
18119
18120 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18121 Take VBE info into account.
18122 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18123 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18124 Call fill_vbe_info when appropriate.
18125 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18126 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18127 as supported.
18128 (grub_multiboot_get_mbi_size): Take new tags into account.
18129 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18130 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18131 Call fill_vbe_tag when appropriate.
18132 (grub_multiboot_make_mbi): Properly align tags.
18133 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18134 function.
18135 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18136 proto.
18137 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18138
a9cc5438
VS
181392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 Suport manual terminal geometry specification.
18142
18143 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18144 Save state in grub_ofconsole_terminfo_output.
18145 (grub_ofconsole_term): Use grub_terminfo_getwh.
18146 (grub_ofconsole_getwh): Removed.
18147 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18148 (grub_serial_term): Use grub_terminfo_getwh.
18149 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18150 (options): New struct.
18151 (OPTION_*): New enum.
18152 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18153 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18154 width and height.
18155 (grub_terminfo_getwh): New proto.
18156 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18157
1a8fed20
VS
181582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 Handle legacy "terminal" command.
18161
18162 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18163 and FLAG_TERMINAL.
18164 (legacy_commands): Add terminal and title.
18165 (grub_legacy_parse): Handle terminal. Simplify title handling.
18166
41e9c57d
VS
181672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18170 parameters overflow.
18171
61c874c5
CW
181722010-09-20 Colin Watson <cjwatson@ubuntu.com>
18173
18174 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18175 widthspec.h.
18176
18177 * docs/grub.texi (Shell-like scripting): Document `!'.
18178 (Network): Simplify using new i386-pc-pxe format. Mention
18179 grub-mknetdir.
18180
18181 * NEWS: Update.
18182
943682b4
CW
181832010-09-20 Colin Watson <cjwatson@ubuntu.com>
18184
18185 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18186 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18187 when needed.
18188
6d3d698d
CW
181892010-09-20 Colin Watson <cjwatson@ubuntu.com>
18190
18191 * grub-core/commands/efi/lsefisystab.c: Correct header.
18192 * grub-core/commands/efi/lssal.c: Likewise.
18193 * grub-core/commands/testload.c: Likewise.
18194
c982589f
CW
181952010-09-20 Colin Watson <cjwatson@ubuntu.com>
18196
18197 * util/grub-mkrescue.in: Add explicit root argument to --set to
18198 prevent the UUID being interpreted as an argument to --set (matches
18199 previous change to prepare_grub_to_access_device).
18200
a63c31b6
CW
182012010-09-20 Colin Watson <cjwatson@ubuntu.com>
18202
18203 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18204 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18205 the verbosity of later #ifs.
18206 (find_partition_start): Define this function on FreeBSD too.
18207 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18208 function.
18209 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18210 on FreeBSD.
18211
6439b8ee
YB
182122010-09-20 Yves Blusseau <blusseau@zetam.org>
18213
18214 * util/grub-editenv.c: Use argp instead of getopt.
18215
c5930ec8
YB
182162010-09-20 Yves Blusseau <blusseau@zetam.org>
18217
18218 * util/grub-setup.c: Use argp instead of getopt.
18219
15c69261
YB
182202010-09-20 Yves Blusseau <blusseau@zetam.org>
18221
18222 Use gnulib-tool to create gnulib source files.
18223
18224 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18225 grub-core/gnulib directories
18226 * .bzignore: Add **/.deps and autogenerated gnulib files
18227 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18228 of gnulib macros, add grub-core/gnulib/Makefile
18229 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18230 include m4 directory to aclocal.
18231 * Makefile.util.def: Remove direct compilation of gnulib source files
18232 and use the new grub-core/gnulib/libgnu.a.
18233 * build-aux/config.rpath: move config.rpath from top directory to
18234 build-aux
18235 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18236 in gnulib headers
18237 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18238 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18239 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18240 header.
18241 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18242 string.
18243
e511c9f5
YB
182442010-09-20 Yves Blusseau <blusseau@zetam.org>
18245
18246 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18247 grub-core/genmod.sh and grub-core/gensyminfo.sh
18248
c2dede05
BC
182492010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18250
18251 Add a test for echo command options.
18252
18253 * tests/grub_cmd_echo.in: New test.
18254 * Makefile.util.def: Rules for new test.
18255
c55f5018
SJ
182562010-09-20 Szymon Janc <szymon@janc.net.pl>
18257
18258 Remove crc.mod and move crc command to hashsum.mod.
18259 Remove lib/crc.c - users updated to use gcrypt implementation.
18260
18261 * grub-core/commands/crc.c: Removed.
18262 * grub-core/Makefile.core.def (crc): Module removed.
18263 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18264 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18265 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18266 * grub-core/lib/crc.c: Removed.
18267 * include/grub/lib/crc.h: Removed.
18268 * Makefile.util.def (crc): Remove lib/crc.c
18269 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18270 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18271 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18272 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18273 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18274 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18275
e0337366
VS
182762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18277
18278 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18279
742f9232
VS
182802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18281
18282 Split config.h for util and core.
18283
18284 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18285 (ADDR32): Likewise.
18286 (DATA32): Likewise.
18287 (BSS_START_SYMBOL): Likewise.
18288 (END_SYMBOL): Likewise.
18289 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18290 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18291 * config.h.in: New file.
18292 * configure.ac: Use config-util.h as config define file.
18293 Rename MACHINE into GRUB_MACHINE. All users updated.
18294 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18295 updated.
18296 (NESTED_FUNC_ATTR): Likewise.
18297 Substitue new variables.
18298 (COND_HAVE_ASM_USCORE): New conditional.
18299 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18300 (kernel_syms.lst): Use ASM_PREFIX.
18301 * grub-core/kern/emu/console.c: Include config-util.h.
18302 * grub-core/kern/emu/misc.c: Likewise.
18303 * grub-core/kern/emu/mm.c: Likewise.
18304 * include/grub/emu/misc.h: Likewise.
18305 * include/grub/libgcc.h: Likewise.
18306
39feb0e8
VS
183072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18308
18309 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18310 constants usage.
18311 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18312 Fix GRUB_TERM_KEY_* constants usage.
18313 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18314
9af6dac3
VS
183152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18316
18317 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18318 print pointer.
18319 * grub-core/bus/usb/uhci.c: Remove empty define.
18320 (grub_uhci_check_transfer): Add missing cast.
18321 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18322 print pointer.
18323 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18324 PRIuGRUB_SIZE.
18325 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18326
d6d94820
VS
183272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18328
18329 * grub-core/Makefile.core.def (legacycfg): Add
18330 lib/i386/pc/vesa_modes_table.c on emu.
18331
3572f2b6
BC
183322010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18333
18334 Reduce number of temporary files generated by build system.
18335
18336 * grub-core/gencmdlist.sh: Removed.
18337 * grub-core/genfslist.sh: Removed.
18338 * grub-core/genhandlerlist.sh: Removed.
18339 * grub-core/genmodsrc.sh: Removed.
18340 * grub-core/genpartmaplist.sh: Removed.
18341 * grub-core/genparttoollist.sh: Removed.
18342 * grub-core/gentermiinallist.sh: Removed.
18343 * grub-core/genvideolist.sh: Removed.
18344
18345 * grub-core/genmod.sh.in: New file.
18346 * grub-core/gensyminfo.sh.in: New file.
18347
18348 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18349 * conf/Makefile.extra-dist: Update with new files.
18350 * gentpl.py: Remove rules related to unnecessary temporary files.
18351 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18352 and und-* files.
18353 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18354 genmod.sh scripts.
18355 * grub-core/bus/usb/uhci.c: Remove empty #define.
18356 * grub-core/genmoddep.awk: Updated with new syminfo format.
18357 * util/bash-completion.d/Makefile.am: Add config.log to
18358 CLEANFILES.
18359
c836b030
YB
183602010-09-19 Yves Blusseau <blusseau@zetam.org>
18361
18362 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18363
2f4e8053
BC
183642010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18365
18366 * util/grub-mkconfig.in: Check the config script for syntax errors
18367 before saving.
18368
75831c34
CW
183692010-09-19 Colin Watson <cjwatson@ubuntu.com>
183702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18371
18372 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18373 platforms.
18374 * util/grub-install.in: Add EFI and IEEE1275 support.
18375 * util/i386/efi/grub-install.in: Removed.
18376 * util/ieee1275/grub-install.in: Likewise.
18377
eaf41b25
VS
183782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18381 (grub_cmd_cmosclean): Likewise.
18382 (GRUB_MOD_INIT): Register command cmosclean.
18383 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18384 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18385
1a9130dd
CPE
183862010-09-18 Carles Pina i Estany <carles@pina.cat>
183872010-09-18 Aleš Nesrsta <starous@volny.cz>
183882010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18389
18390 Add keyboard layouts support.
18391
18392 * Makefile.util.def (grub-mklayout): New file.
18393 (grub-kbdcomp): New script.
18394 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18395 Add keyboard_layouts.h.
18396 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18397 commands/boot.c on yeeloong.
18398 (keylayouts): New module.
18399 * grub-core/bus/usb/ohci.c
18400 * grub-core/bus/usb/uhci.c
18401 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18402 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18403 (attach_root_port): Likewise.
18404 (poll_nonroot_hub): Likewise.
18405 (grub_usb_poll_devices): Likewise.
18406 (detach_device): Close transfer.
18407 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18408 function.
18409 (grub_usb_bulk_setup_readwrite): Likewise.
18410 (grub_usb_bulk_finish_readwrite): Likewise.
18411 * grub-core/commands/keylayouts.c: New file.
18412 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18413 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18414 aliases.
18415 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18416 support scancode 2.
18417 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18418 * include/grub/keyboard_layouts.h: New file.
18419 * util/grub-mklayout.c: New file.
18420 * util/grub-kbdcomp.in: Likewise.
18421
a1d84a5e
VS
184222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18423
18424 Unify memory types.
18425
18426 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18427 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18428 types.
18429 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18430 (grub_upper_mem): Likewise.
18431 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18432 * include/grub/memory.h (grub_memory_type_t): New enum.
18433 All users updated.
18434
9696382e
VS
184352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * grub-core/Makefile.core.def (lsapm): New module.
18438 * grub-core/commands/i386/pc/lsapm.c: New file.
18439 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18440 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18441 Likewise.
18442 * include/grub/i386/pc/apm.h: New file.
18443 * include/multiboot.h (multiboot_apm_info): New struct.
18444
184452010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 GRUB-legacy configuration file support.
18448
18449 * Makefile.util.def (grub-menulst2cfg): New util.
18450 * docs/man/grub-menulst2cfg.h2m: New file.
18451 * grub-core/Makefile.core.def (legacycfg): New module.
18452 * grub-core/commands/legacycfg.c: New file.
18453 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18454 (grub_normal_add_menu_entry): ... this.
18455 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18456 (grub_normal_set_password): ...this.
18457 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18458 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18459 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18460 * grub-core/lib/legacy_parse.c: New file.
18461 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18462 * include/grub/i386/pc/vesa_modes_table.h: New file.
18463 * include/grub/legacy_parse.h: Likewise.
18464 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18465 * util/grub-menulst2cfg.c: New file.
18466
bf8d1338
CW
184672010-09-17 Colin Watson <cjwatson@ubuntu.com>
18468
18469 * grub-core/kern/emu/hostdisk.c
18470 (convert_system_partition_to_system_disk): Initialise node.
18471
9c0bad2e
CW
184722010-09-17 Colin Watson <cjwatson@ubuntu.com>
18473
18474 * grub-core/kern/emu/hostdisk.c
18475 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18476 leak.
18477 Reported and based on patch by: Modestas Vainius.
18478
a939d135
CW
184792010-09-17 Colin Watson <cjwatson@ubuntu.com>
18480
18481 Fix DM-RAID probing with recent versions of device-mapper udev
18482 rules.
18483
18484 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18485 canonicalise device paths under /dev/mapper/.
18486 (convert_system_partition_to_system_disk): Compare the
18487 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18488 path, since device nodes under /dev/mapper/ are often symlinks.
18489
0f7ee3c9
YB
184902010-09-17 Yves Blusseau <blusseau@zetam.org>
18491
18492 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18493
10854d0d
YB
184942010-09-16 Yves Blusseau <blusseau@zetam.org>
18495
18496 * configure.ac: Avoid some annoying error messages if freetype-config
18497 program is not found.
18498
108538d8
CW
184992010-09-16 Colin Watson <cjwatson@ubuntu.com>
18500
18501 Support RAID on virtio devices, and others.
18502
18503 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18504 Rename to ...
18505 [__MINGW32__] (grub_find_device): ... this.
18506 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18507 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18508 reasonable default if dir is NULL.
18509 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18510 ...
18511 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18512 (grub_guess_root_device): Update callers.
18513 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18514
18515 * util/raid.c (grub_util_getdiskname): Remove.
18516 (grub_util_raid_getmembers): Use grub_find_device rather than
18517 grub_util_getdiskname.
18518
e5bfc130
CW
185192010-09-16 Colin Watson <cjwatson@ubuntu.com>
18520
18521 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18522 needing to be compiled with serial support.
18523 (ls): Indicate that multiple files are accepted.
18524 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18525 indicate that multiple files are accepted.
18526
be458ae2
CW
185272010-09-16 Colin Watson <cjwatson@ubuntu.com>
18528
18529 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18530 libgrub_a_init.c, and util/bash-completion.d/grub.
18531
cb731b5e
VS
185322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18533
18534 * util/grub-setup.c (setup): Fix incorrect container semantics.
18535
35139e8a
VS
185362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18539 misusage.
18540 Reported by: J. Nick Terry
18541
e50fca4a
VS
185422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 Move embedding routines to partmap sources files.
18545
18546 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18547 [GRUB_UTIL]: New variable.
18548 (gpt_partition_map_iterate): Set part.parent.
18549 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18550 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18551 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18552 New function.
18553 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18554 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18555 (grub_partition_map) [GRUB_UTIL]: New field embed.
18556 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18557 (setup): Use ->embed.
18558
f00478b7
VS
185592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18560
18561 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18562 function.
18563 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18564 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18565
2b94e3ff
YB
185662010-09-15 Yves Blusseau <blusseau@zetam.org>
18567
18568 Add function to get completions from usage.
18569
18570 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18571 completions from usage. Use LC_ALL=C to get options properly.
18572
2e04a006
VS
185732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 * grub-core/gnulib/basename-lgpl.c: Imported.
18576 * grub-core/gnulib/basename.c: Likewise.
18577 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18578 * grub-core/gnulib/dirname.c: Likewise.
18579 * grub-core/gnulib/dirname.h: Likewise.
18580 * grub-core/gnulib/stripslash.c: Likewise.
18581
5dcdf93a
VS
185822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18583
18584 * grub-core/gnulib/error.c: Resynced.
18585 * grub-core/gnulib/getopt.c: Likewise.
18586 * grub-core/gnulib/getopt_int.h: Likewise.
18587 * grub-core/gnulib/regex.h: Likewise.
18588 * grub-core/gnulib/regex_internal.c: Likewise.
18589 * grub-core/gnulib/regex_internal.h: Likewise.
18590
014f47b7
SJ
185912010-09-15 Szymon Janc <szymon@janc.net.pl>
18592
18593 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18594 CRC calculations and validity checks.
18595 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18596 calculations.
18597
dd521a4a
SJ
185982010-09-15 Szymon Janc <szymon@janc.net.pl>
18599
18600 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18601
79c4eeb9
VS
186022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 Fix incorrect echo options handling.
18605 Reported by: Yves Blusseau.
18606
18607 * include/grub/command.h (grub_command_flags_t): New flags
18608 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18609 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18610 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18611
ed80f7d5
VS
186122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18613
18614 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18615 users updated.
18616 (GRUB_COMMAND_FLAG_MENU): Likewise.
18617 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18618 (GRUB_COMMAND_FLAG_TITLE): Removed.
18619 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18620 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18621 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18622 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18623 (grub_command_flags_t): New enum. All users updated.
18624
5fe7620a
SG
186252010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18626
18627 Fix solaris compilation.
18628
18629 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18630 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18631 (grub-emu-list): Likewise.
18632
545b752f
VS
186332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18634
18635 Remove deprecated root command.
18636
18637 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18638 updated.
18639
6c1a338c
VS
186402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * util/i386/pc/grub-setup.c: Merge this ...
18643 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18644 * util/grub-setup.c: ... into this.
18645 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18646 New struct.
18647
186482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18651 possible.
18652
d2ea4551
VS
186532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18656 allocate p.
18657
3c3b5040
VS
186582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18661 explicit root argument to set to prevent UUID to be interpreted as
18662 argument to set.
18663
b71c3fae
VS
186642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18667
275433e6
VS
186682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18669
18670 Don't export grub_gate_a20.
18671
18672 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18673 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18674 to ...
18675 (grub_gate_a20): ... this. All users updated.
18676 * include/grub/i386/pc/init.h: Removed. All users updated.
18677
a5dbb1f1
VS
186782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18679
18680 Create euro.pf2 which supports most European languages.
18681
18682 * Makefile.am (grubdata_DATA): Add euro.pf2.
18683 (euro.pf2): New target.
18684 (CLEANFILES): Add euro.pf2.
18685
62a747cb
VS
186862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 * configure.ac: Disable emu-usb by default to prevent inadvertent
18689 device takeover.
18690
608e43b1
VS
186912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 Disable usbserial on grub-emu since our libusb code isn't good enough
18694 yet.
18695
18696 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18697 (usbserial_pl2303): Likewise.
18698 (usbserial_ftdi): Likewise.
18699
94564f81
VS
187002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18701
18702 * include/grub/disk.h (grub_disk): Remove has_partitions.
18703 All users updated.
18704 * disk/loopback.c (grub_loopback): Remove has_partitions.
18705 All users updated.
18706 (options): Remove partitions. All users updated.
18707 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18708 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18709 actual partition table is found.
18710
3352800b
VS
187112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 Remove readability checks (too many false negatives).
18714
18715 * util/grub-install.in: Remove readability checks.
18716 * util/grub-mkconfig.in: Likewise.
18717 * util/grub.d/10_hurd.in: Likewise.
18718 * util/grub.d/10_kfreebsd.in: Likewise.
18719 * util/grub.d/10_linux.in: Likewise.
18720 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18721 way.
18722
2419f17a
VS
187232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 Enable acpi shutdown on all ACPI platforms.
18726
18727 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18728 on coreboo, multiboot and EFI.
18729 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18730 (grub_acpi_halt): Likewise.
18731 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18732 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18733 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18734 * grub-core/lib/i386/halt.c (grub_halt)
18735 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18736
0575c7c3
VS
187372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18740 context.
18741
54ac3cd1
VS
187422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18745 * grub-core/video/efi_uga.c: Likewise.
18746
b2a30ac5
VS
187472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 Filter devaliases and never open same device twice.
18750
18751 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18752 (last_ihandle): Likewise.
18753 (ofdisk_hash_ent): New member shortest.
18754 (ofdisk_hash_add): Add canonical path too.
18755 (scan): New function.
18756 (grub_ofdisk_iterate): Iterate over hashed entries.
18757 (compute_dev_path): Don't add :0.
18758 (grub_ofdisk_open): Don't really open the disk.
18759 (grub_ofdisk_close): Avoid closing unrelated disk.
18760 (grub_ofdisk_read): Implement reopen logic.
18761 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18762 New function.
18763 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18764 New proto.
18765
fb53b340
VS
187662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 Fix sparc64.
18769
18770 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18771 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18772 right address. Add sparc64_ieee1275_ldflags.
18773 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18774 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18775 to grub_host_to_target_addr
18776 (load_image): Likewise.
18777
f452b040
VS
187782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 * grub-core/normal/completion.c (complete_file): Handle device
18781 containing slash.
18782 Fix based on patch by Doug Nazar.
18783
9b5b2541
VS
187842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 grub-mknetdir script.
18787
18788 * Makefile.util.def (grub-mknetdir): New module.
18789 * tests/util/grub-shell.in: Support boot=net
18790 * util/grub-mknetdir.in: New file.
18791
9d2be652
VS
187922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 videoinfo on non-vbe.
18795
18796 * grub-core/Makefile.core.def (vbeinfo): Removed.
18797 (vbetest): Removed.
18798 (videoinfo): New module.
18799 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18800 * grub-core/commands/i386/pc/vbetest.c: Removed.
18801 * grub-core/commands/videoinfo.c: New file.
18802 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18803 specification.
18804 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18805 as vbetest.
18806 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18807 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18808 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18809 mode_number. New parameter mode. All users updated.
18810 (grub_video_gop_iterate): New function.
18811 (grub_video_efi_gop): New member iterate.
18812 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18813 (grub_vbe_set_video_mode): Remove setting useless fields.
18814 (vbe2videoinfo): New function.
18815 (grub_video_vbe_iterate): Likewise.
18816 (grub_video_vbe_setup): Use vbe2videoinfo.
18817 (grub_video_vbe_print_adapter_specific_info): New function.
18818 (grub_video_vbe_adapter): New fields iterate and
18819 print_adapter_specific_info.
18820 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18821 All users updated.
18822 (grub_video_mode_info): New field mode_number.
18823 (grub_video_adapter): New fields iterate and
18824 print_adapter_specific_info.
18825
179503f5
TG
188262010-09-13 Tristan Gingold <gingold@free.fr>
188272010-09-13 Robert Millan <rmh.grub@aybabtu.com>
188282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * grub-core/commands/efi/lsefisystab.c: New file.
18831 * grub-core/commands/efi/lssal.c: Likewise.
18832 * grub-core/Makefile.core.def (lsacpi): New module.
18833 (lsefisystab): Likewise.
18834 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18835 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18836 (grub_efi_sal_system_table): New struct.
18837 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18838 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18839 (grub_efi_sal_system_table_platform_features): Likewise.
18840 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18841 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18842 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18843 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18844
cf9827de
VS
188452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18846
18847 Support explicit user claim that a device is BIOS-visible.
18848
18849 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18850 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18851 * grub-core/kern/emu/hostdisk.c
18852 (convert_system_partition_to_system_disk): Support mdX.
18853 (find_system_device): New parameter add. All users updated.
18854 (grub_util_biosdisk_is_present): New function.
18855 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18856 proto.
18857
53f0eb1f
VS
188582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 Search hints support.
18861
18862 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18863 All users updated.
18864
b23ffd70
YB
188652010-09-13 Yves Blusseau <blusseau@zetam.org>
18866
18867 Bash completion script for util commands
18868
18869 * Makefile.am: Add util/bash-completion.d directory
18870 * configure.ac: Likewise.
18871 * util/bash-completion.d/Makefile.am: New file.
18872 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18873
d547dc28
VS
188742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18877 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18878 Reported by: Yves Blusseau.
18879
2fc8ccb9
VS
188802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18883 partition size and offset.
18884
d8a84076
VS
188852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18886
18887 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18888
84fb3b3d
VS
188892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18892
768ec2e2
VS
188932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18896 (grub_xvasprintf): Likewise.
18897
4870900f
VS
188982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18899
18900 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18901
faca6bec
VS
189022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18903
18904 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18905 args ending with NULL.
18906
189072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18908
18909 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18910 pointer.
18911
3c70f225
SJ
189122010-09-11 Szymon Janc <szymon@janc.net.pl>
18913
18914 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18915
4df7996d
VS
189162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 Shutdown using ACPI.
18919
18920 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18921 * grub-core/commands/acpihalt.c: New file.
18922 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18923 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18924 (grub_acpi_halt): New proto.
18925 (GRUB_ACPI_SLP_EN): New const.
18926 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18927 (GRUB_ACPI_OPCODE_*): New enum.
18928 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18929
126b4c32
TG
189302010-09-11 Tristan Gingold <gingold@free.fr>
189312010-09-11 Robert Millan <rmh.grub@aybabtu.com>
189322010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18933
18934 * commands/lsacpi.c: New file.
18935 * grub-core/Makefile.core.def (lsacpi): New module.
18936 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18937 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18938 (grub_acpi_madt_entry_header): New struct.
18939 (grub_acpi_madt): Likewise.
18940 (grub_acpi_madt_entry_interrupt_override): Likewise.
18941 (grub_acpi_madt_entry_sapic): Likewise.
18942 (grub_acpi_madt_entry_lsapic): Likewise.
18943 (grub_acpi_madt_entry_platform_int_source): Likewise.
18944 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18945 (PRIuGRUB_UINT32_T): Likewise.
18946 (PRIxGRUB_UINT64_T): Likewise.
18947
1aa4fe88
VS
189482010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18949
18950 Implement loading palette on ieee1275_fb.
18951
18952 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18953 (have_setcolors): Likewise.
18954 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18955 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18956 (grub_video_ieee1275_set_palette): Implement.
18957
25761e13
VS
189582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
189592010-09-11 Colin Watson <cjwatson@ubuntu.com>
18960
18961 * util/grub-install.in (grub_partition): New variable.
18962 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18963 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18964 Fixes a bug reported by Yves Blusseau.
18965
050abaea
VS
189662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 Fix emu on mipsel.
18969
18970 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18971 =grub_cpu_flush_cache on all mips and not only yeeloong.
18972 * configure.ac (COND_mips): New conditional.
18973 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18974 platforms.
18975 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18976 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18977 [GRUB_LINKER_HAVE_INIT]: New function.
18978 (grub_emu_post_init): Likewise.
18979 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18980 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18981 * include/grub/cache.h (_mips): Include mips/cache.h.
18982 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18983 LVM and RAID prototypes.
18984 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18985 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18986 function.
18987
5ed7d816
CW
189882010-09-10 Colin Watson <cjwatson@ubuntu.com>
18989
18990 * util/grub-install.in: Don't try to verify core.img until after
18991 running grub-mkimage to create it.
18992
90367e04
RM
189932010-09-10 Robert Millan <rmh@gnu.org>
18994
18995 * util/grub.d/10_hurd.in: Add misc readability checks.
18996 * util/grub.d/10_kfreebsd.in: Likewise.
18997 * util/grub.d/10_linux.in: Likewise.
18998
c452fa66
CW
189992010-09-10 Colin Watson <cjwatson@ubuntu.com>
19000
19001 * util/grub-install.in: ${imgext} won't be defined here until the
19002 install branch is merged. For the meantime, only verify core.img on
19003 i386-pc and sparc64-ieee1275 platforms.
19004
c38fe9f4
RM
190052010-09-10 Robert Millan <rmh@gnu.org>
19006
19007 Solaris support in grub_find_zpool_from_dir(). Thanks
19008 Seth Goldberg for referring to getextmntent() facility.
19009
19010 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19011 `sys/mkdev.h'.
19012 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19013 `<sys/mnttab.h>'.
19014 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19015 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19016 method for finding zpool name.
19017
905f7773
CW
190182010-09-10 Colin Watson <cjwatson@ubuntu.com>
19019
19020 grub-fstest needs the host and hostfs modules while other utilities
19021 actively require those modules to be absent, so grub-fstest needs
19022 its own initialisation and finalisation code.
19023
19024 * Makefile.am (grub_fstest.pp): New target.
19025 (grub_fstest_init.lst): Likewise.
19026 (grub_fstest_init.c): Likewise.
19027 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19028
fb90b546
RM
190292010-09-10 Robert Millan <rmh@gnu.org>
19030
19031 * configure.ac: Check for `struct statfs.f_fstypename' and
19032 `struct statfs.f_mntfromname'.
19033
19034 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19035 kFreeBSD-specific code.
19036
66d4bea5
RM
190372010-09-10 Robert Millan <rmh@gnu.org>
19038
19039 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19040 on ZFS. Now non-main filesystems are supported as / too.
19041
b6a690ee
CW
190422010-09-09 Colin Watson <cjwatson@ubuntu.com>
19043
19044 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19045 and grub-core/disk/host.c to ...
19046 (grub-fstest): ... here. Having the host disk implementation
19047 present confuses grub-probe and other utility programs.
19048
19049 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19050 when writing to a file, not when writing to stdout.
19051
8901b00c 190522010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19053
19054 * tests/partmap_test.in: New test for partitions.
19055 * Makefile.util.def: Rules for new test.
19056
7bf45fdd
RM
190572010-09-09 Robert Millan <rmh@gnu.org>
19058
19059 * util/grub-probe.c (probe): Fix a pair of unhandled error
19060 conditions.
19061
4dfbc574
RM
190622010-09-09 Robert Millan <rmh@gnu.org>
19063
19064 Basic Btrfs support (detection and UUID).
19065
19066 * grub-core/fs/btrfs.c: New file.
19067 * Makefile.util.def (library): Register btrfs.c.
19068 * grub-core/Makefile.core.def: Likewise.
19069
6b8e78ae
RM
190702010-09-08 Robert Millan <rmh@gnu.org>
19071
19072 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19073 with (optional) parameters to specify device and relative path.
19074 * util/grub-install.in: Use is_path_readable_by_grub() to
19075 verify readability of a few critical files.
19076 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19077 verify readability of grub.cfg.new.
19078
27f21a8b
VS
190792010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 Split minix.mod into minix.mod and minix2.mod.
19082
19083 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19084 * grub-core/Makefile.core.def (minix2): New module.
19085 * grub-core/fs/minix.c: Use definitions instead of runtime version
19086 checking.
19087 * grub-core/fs/minix2.c: New file.
19088
c0e53ea5
YB
190892010-09-08 Yves Blusseau <blusseau@zetam.org>
19090
19091 Add new --boot-directory option to replace --root-directory
19092
19093 * util/grub-install.in: Add new --boot-directory option
19094 * util/grub-reboot.in: Likewise.
19095 * util/grub-set-default.in: Likewise.
19096
b9fe6ea2
YB
190972010-09-08 Yves Blusseau <blusseau@zetam.org>
19098
19099 * util/grub-mkconfig.in: Use new variable.
19100
d87aedff
YB
191012010-09-08 Yves Blusseau <blusseau@zetam.org>
19102
19103 * configure.ac: Define some useful variables.
19104
e55e8495
VS
191052010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19108 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19109 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19110 Use terminfo and don't use cursor-on/cursor-off unless it's known
19111 to work.
19112 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19113 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19114
6fa6d675
CW
191152010-09-08 Colin Watson <cjwatson@ubuntu.com>
19116
19117 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19118 starts with "(,", fill the drive containing the loaded image in
19119 between those two characters, but expect that a full partition
19120 specification including partition map names will follow.
19121
92f2aef0
RM
191222010-09-08 Robert Millan <rmh@gnu.org>
19123
19124 * configure.ac: Remove `--enable-grub-fstest' option.
19125 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19126
19127 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19128 `grub-fstest' instead of `grub-probe' for readability verification.
19129 * util/grub-probe.c (probe): Remove readability verification kludge.
19130
99fd620d
RM
191312010-09-08 Robert Millan <rmh@gnu.org>
19132
19133 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19134 initializing `GRUB_FS'.
19135
058e30ac 191362010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19137
19138 Not command (!) support to GRUB script.
19139
19140 * tests/grub_script_not.in: New test.
19141 * Makefile.util.def: Rules for new test.
19142
19143 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19144 ! command as a special case.
19145 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19146
b61d05ed 191472010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19148
058e30ac 19149 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19150 grub_free.
b61d05ed 19151
4d69c786 191522010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19153
19154 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19155
aa3119c4 191562010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19157
19158 * docs/grub.texi (Shell-like scripting): Documentation for break,
19159 continue, shift and return commands.
19160
db0f7e3d
VS
191612010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 Rename CD-ROM to cd on BIOS.
19164
19165 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19166 "cd".
19167 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19168
88b87c93
VS
191692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19172 * util/grub-probe.c (main): Likewise.
19173 * util/i386/pc/grub-setup.c (main): Likewise.
19174 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19175 Reported and debugged by: alexxy
19176
294f324d
VS
191772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19180 diagnostic info.
19181
d7ee3441
JS
191822010-09-05 Jo Shields <directhex@apebox.org>
19183
19184 * util/grub.d/30_os-prober.in: Add missing classes.
19185
d7e06c1f
VS
191862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 * docs/grub.texi (Theme file format): Document new position format.
19189
fc157e53
VS
191902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19193 a table. Use @code instead of @verbatim.
19194
506e9a1c
CB
191952010-09-05 Colin D Bennett <colin@gibibit.com>
19196
19197 Gfxmenu documentation.
19198
19199 * docs/grub.texi (Theme file format): New chapter.
19200
f0aff67c
SJ
192012010-09-05 Szymon Janc <szymon@janc.net.pl>
19202
19203 * grub-core/Makefile.core.def (xzio): New module.
19204 * grub-core/io/xzio.c: New file.
19205 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19206 * grub-core/lib/xzembed/xz_config.h: Likewise.
19207 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19208 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19209 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19210 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19211 * grub-core/lib/xzembed/xz_private.h: Likewise.
19212 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19213 * include/grub/file.h (grub_file_filter_id): New compression filter
19214 GRUB_FILE_FILTER_XZIO.
19215
82a85062
VS
192162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19217
19218 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19219 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19220 size.
19221
3579415d
VS
192222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19223
19224 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19225 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19226
5124ae6d
VS
192272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 Uncompressed checksum support.
19230
19231 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19232 (check_list): New parameter uncompress.
19233 (grub_cmd_hashsum): Handle --uncompress.
19234
9aadb3d1
VS
192352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19236
19237 Reintroduce testload.
19238
19239 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19240 from here ...
19241 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19242 (GRUB_MOD_INIT): New function.
19243 (GRUB_MOD_FINI): Likewise.
19244 * grub-core/Makefile.core.def (testload): New module.
19245
a17792c3
SJ
192462010-09-05 Szymon Janc <szymon@janc.net.pl>
19247
19248 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19249 (uint8_t): New type.
19250 (uint16_t): Likewise.
19251 (uint32_t): Likewise.
19252 (uint64_t): Likewise.
19253
b81e40a3
SJ
192542010-09-05 Szymon Janc <szymon@janc.net.pl>
19255
19256 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19257
fc2ef117
VS
192582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19259
19260 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19261 Made static.
19262 (grub_gzfile_open): Removed. All users updated.
19263 (GRUB_MOD_INIT): New function.
19264 (GRUB_MOD_FINI): Likewise.
19265 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19266 (grub_file_filters_enabled): Likewise.
19267 (grub_file_open): Handle filters.
19268 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19269 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19270 * include/grub/file.h (grub_file_filter_id_t): New type.
19271 (grub_file_filter_t): Likewise.
19272 (grub_file_filters_all): New extern variable.
19273 (grub_file_filters_enabled): Likewise.
19274 (grub_file_filter_register): New inline function.
19275 (grub_file_filter_unregister): Likewise.
19276 (grub_file_filter_disable): Likewise.
19277 (grub_file_filter_disable_compression): Likewise.
19278 * include/grub/gzio.h: Removed.
19279
35ee15e0
BC
192802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19281
19282 Filename expansion support for wildcards in GRUB script.
19283
19284 * tests/grub_script_expansion.in: New test.
19285 * Makefile.util.def: Rule for new test.
19286
19287 * grub-core/commands/wildcard.c: New file, implements filename
19288 expansion support for GRUB script.
19289 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19290 * grub-core/script/argv.c: Cosmetic changes.
19291 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19292 Refactored to perform wildcard expansion on arguments.
19293 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19294 struct.
19295
19296 * tests/util/grub-shell.in: Fix quoting for read input.
19297
5f0c4aca
BC
192982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19299
19300 Support for updating environment variables with matched substrings
19301 of regexp.
19302
19303 * tests/grub_cmd_regexp.in: New test.
19304 * Makefile.util.def: Rule for new test.
19305
19306 * grub-core/commands/regexp.c: New option -s to update environment
19307 variables with regexp matches.
19308
3759a35f
SJ
193092010-09-04 Szymon Janc <szymon@janc.net.pl>
19310
19311 * include/grub/file.h (grub_file): New member not_easly_seekable.
19312 (grub_file_seekable): New inline function.
19313 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19314 easily seekable.
19315 (grub_gzio_open): Set not_easly_seekable.
19316 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19317 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19318
ed8c6dec
BC
193192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19320
19321 Support for options to appear multiple times on cmdline.
19322
19323 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19324 * grub-core/commands/extcmd.c: Support for repeatable option.
19325 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19326 repeatable option support.
19327
19328 Refactor menuentry into a regular command.
19329
19330 * grub-core/commands/menuentry.c: New file, menuentry command
19331 implementation.
19332 * grub-core/Makefile.core.def: Rule update for normal.mod.
19333 * grub-core/normal/main.c: Moved menuentry creation to
19334 grub-core/commands/menuentry.c.
19335 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19336 (grub_menu_execute_entry_real): Removed.
19337 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19338 function.
19339 (grub_script_execute_menuentry): Removed.
19340 * grub-core/script/parser.y (menuentry): Removed.
19341 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19342 * grub-core/script/yylex.l (menuentry): Removed.
19343 * include/grub/menu.h (grub_menu_init): New prototype.
19344 (grub_menu_fini): New prototype.
19345 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19346 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19347 (grub_script_execute_sourcecode): New prototype.
19348
dacd0cf0
BC
193492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19350
19351 "return" command for GRUB script functions.
19352
19353 * tests/grub_script_return.in: New test.
19354 * Makefile.util.def: Rules for new test.
19355
19356 * grub-core/script/execute.c (grub_script_return): New function.
19357 * grub-core/script/main.c: Register/unregister return commaond.
19358 * include/grub/script_sh.h (grub_script_return): New prototype.
19359
52e72f9d
BC
193602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19361
19362 "setparams" command to update positional parameters.
19363
19364 * tests/grub_script_setparams.in: New test.
19365 * Makefile.util.def: Rules for new test.
19366
19367 * grub-core/script/argv.c (grub_script_argv_make): New function.
19368 * grub-core/script/execute.c (replace_scope): New function.
19369 (grub_script_setparams): New function.
19370 * grub-core/script/lexer.c: Remove unused variables.
19371 * grub-core/script/main.c: Register/unregister setparams command.
19372 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19373 (grub_script_setparams): New prototype.
19374
25b60c91
BC
193752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19376
19377 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19378 grub_free order.
19379
37e7bf68
BC
193802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19381
19382 Support for passing block of commands as an argument to extcmds.
19383
19384 * Makefile.util.def: Rules for new test.
19385 * tests/grub_script_blockarg.in: New test.
19386 * grub-core/tests/test_blockarg.c: New file, block argument
19387 command used in the test.
19388
19389 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19390 (grub_register_extcmd_prio): New function prototype.
19391 (grub_extcmd_dispatcher): New function prototype.
19392 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19393 type.
19394 * include/grub/script_sh.h (struct grub_script): New members
19395 `children', `next_siblings' and `refcnt' for block arguments and
19396 reference counting.
19397 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19398 (grub_script_arg): New member `script' for block argument.
19399 (grub_script_argv): New member `script' for block argument.
19400 (grub_parser_param): New member `scripts' for block argument.
19401 (grub_script_mem_free): New extern function prototype.
19402 (grub_script_ref): New function prototype.
19403 (grub_script_unref): New function prototype.
19404
19405 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19406 extcmd form to support block arguments.
19407 * grub-core/script/argv.c: Block arguments support.
19408 * grub-core/script/execute.c: Likewise.
19409 * grub-core/script/lexer.c: Likewise.
19410 * grub-core/script/main.c: Likewise.
19411 * grub-core/script/script.c: Likewise.
19412 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19413 non-terminals.
19414
19415 * grub-core/commands/acpi.c: Update extcmd implementations with
19416 grub_extcmd_context_t.
19417 * grub-core/commands/cat.c: Likewise.
19418 * grub-core/commands/echo.c: Likewise.
19419 * grub-core/commands/extcmd.c: Likewise.
19420 * grub-core/commands/hashsum.c: Likewise.
19421 * grub-core/commands/hdparm.c: Likewise.
19422 * grub-core/commands/help.c: Likewise.
19423 * grub-core/commands/hexdump.c: Likewise.
19424 * grub-core/commands/i386/cpuid.c: Likewise.
19425 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19426 * grub-core/commands/i386/pc/halt.c: Likewise.
19427 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19428 * grub-core/commands/iorw.c: Likewise.
19429 * grub-core/commands/keystatus.c: Likewise.
19430 * grub-core/commands/loadenv.c: Likewise.
19431 * grub-core/commands/ls.c: Likewise.
19432 * grub-core/commands/lspci.c: Likewise.
19433 * grub-core/commands/memrw.c: Likewise.
19434 * grub-core/commands/probe.c: Likewise.
19435 * grub-core/commands/search_wrap.c: Likewise.
19436 * grub-core/commands/setpci.c: Likewise.
19437 * grub-core/commands/sleep.c: Likewise.
19438 * grub-core/disk/loopback.c: Likewise.
19439 * grub-core/hello/hello.c: Likewise.
19440 * grub-core/loader/i386/bsd.c: Likewise.
19441 * grub-core/loader/xnu.c: Likewise.
19442 * grub-core/term/gfxterm.c: Likewise.
19443 * grub-core/term/serial.c: Likewise.
19444 * grub-core/tests/lib/functional_test.c: Likewise.
19445
888d1500
BC
194462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19447
19448 Multi-line quoted strings support.
19449
19450 * grub-core/script/lexer.c (append_newline): Removed.
19451 (grub_script_lexer_yywrap): Refactored.
19452 (grub_script_lexer_init): Refactored.
19453 * grub-core/script/yylex.l (yywrap): New function.
19454 (grub_lexer_resplit): New function.
19455 (grub_lexer_unput): New function.
19456 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19457 and resplit.
19458 * tests/grub_script_echo1.in: Added few more testcases.
19459
dda060dd
VS
194602010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 * grub-core/kern/misc.c: Don't add abort alias in utils.
19463 Reported by: echoline.
19464
6556eba9
BC
194652010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19466
19467 Add missing files into "make dist" tarball for other platforms.
19468
19469 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19470 * conf/Makefile.common (dist_noinst_DATA): New variable.
19471 * conf/Makefile.extra-dist: Added missing make dist files.
19472 * grub-core/Makefile.core.def: Likewise.
19473
c8e7bf5f
VS
194742010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 Compress grub_prefix.
19477
19478 * grub-core/boot/i386/pc/lnxboot.S: Use
19479 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19480 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19481 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19482 GRUB_MACHINE_PREFIX_END. All users updated.
19483 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19484 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19485 + 0x40.
19486 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19487 * util/grub-mkimage.c (image_target_desc): Change data_end to
19488 prefix_end. All users updated.
19489
a7c00cdb
VS
194902010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19493 value.
19494 (grub_openbsd_boot): Likewise.
19495 (grub_netbsd_boot): Likewise.
19496 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19497 (grub_xnu_boot): Likewise.
19498
9f915872
VS
194992010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 * configure.ac: Clean LIBS variable after tests.
19502
efa1bee7
CW
195032010-09-02 Colin Watson <cjwatson@ubuntu.com>
19504
19505 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19506
61d720e5
VS
195072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19510 echo if libdevmapper will be used.
19511
ef8e0ec8
IT
195122010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19513
19514 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19515 constant for the same file.
19516
03e261d8
VS
195172010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19520
c2a4eba6
CW
195212010-09-02 Colin Watson <cjwatson@ubuntu.com>
19522
19523 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19524 grub-core/*.pp.
19525
9056cbf3
CW
195262010-09-02 Colin Watson <cjwatson@ubuntu.com>
19527
19528 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19529 required by the boot protocol.
19530
19531 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19532 ebp and edi members.
19533 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19534 state.ebp and state.edi.
19535 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19536 %ebp and %edi according to grub_relocator32_ebp and
19537 grub_relocator32_edi respectively.
19538 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19539 and state.edi.
19540
529cc99a
VS
195412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 Add i386-pc-pxe image target.
19544
19545 * util/grub-mkimage.c (image_target_desc): New enum value
19546 IMAGE_I386_PC_PXE.
19547 (image_targets): New target i386-pc-pxe.
19548 (generate_image): Handle i386-pc-pxe image.
19549
9a093920
VS
195502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 Fix grub_pxe_scan.
19553
19554 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19555 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19556 All users updated.
19557 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19558 (grub_pxe_pxenv): Correct type.
19559
f9cefc4e
CW
195602010-09-01 Colin Watson <cjwatson@ubuntu.com>
19561
19562 * NEWS: Document most of the important changes since 1.98.
19563
4066f57f
CW
195642010-09-01 Colin Watson <cjwatson@ubuntu.com>
19565
19566 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19567 generated manual page) a little.
19568
da2891f9
CW
195692010-09-01 Colin Watson <cjwatson@ubuntu.com>
19570
19571 * docs/grub.texi: Add myself as an author.
19572
ad717fae
VS
195732010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * Makefile.util.def (libgrub.a): Add missing sunpc.
19576 Reported by: Seth Goldberg.
19577
eefe8abd
VS
195782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 Interrupt wrapping and code simplifications.
19581
9494ef9a
VS
19582 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19583 x86_noieee1275 which are functionaly equivalent in this case.
19584 (grub-install): Make source on each platform explicit. Enable on
19585 all noemu.
19586 * gentpl.py (x86_efi_pc): Removed group.
19587 (x86_noefi): Likewise.
19588 (i386_noefi): Likewise.
19589 (x86_noieee1275): Likewise.
19590 (i386_noieee1275): Likewise.
19591 (i386_noefi_noieee1275): Likewise.
19592 (i386_pc_qemu_coreboot): Likewise.
19593 (i386_coreboot_multiboot): Likewise.
19594 (i386_pc_coreboot_multiboot_qemu): Likewise.
19595 (x86_noefi_mips): Likewise.
19596 (noieee1275): Likewise.
19597 (ieee1275_mips): Likewise.
19598 (noemu_noieee1275): Likewise.
19599 (cmos): New group.
19600 (usb): Likewise.
19601 (videoinkernel): Likewise.
19602 (videomodules): Likewise.
eefe8abd 19603 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19604 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19605 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19606 include/grub/loader.h, include/grub/msdos_partition.h,
19607 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19608 include/grub/machine/console.h, include/grub/machine/vga.h,
19609 include/grub/machine/vbe.h, include/grub/machine/init.h,
19610 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19611 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19612 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19613 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19614 * grub-core/Makefile.core.def (kernel): Explicit the source for
19615 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19616 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19617 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19618 Use videoinkernel tag.
19619 (usb): Enable on all usb.
19620 (usbserial_common): Likewise.
19621 (usbserial_pl2303): Likewise.
19622 (usbserial_ftdi): Likewise.
19623 (uhci): Enable on all x86.
19624 (ohci): Enable on all pci.
19625 (cmostest): Enable on all CMOS.
19626 (acpi): Include commands/acpi.c on all platforms.
19627 (halt): Add relevant lib/*/halt.c.
19628 (hdparm): Enable on all pci.
19629 (lspci): Likewise.
19630 (usbtest): Enable on all usb.
19631 (ata): Enable on all pci.
19632 (ata_pthru): Likewise.
19633 (usbms): Enable on all usb.
19634 (usb_keyboard): Likewise.
19635 (font): Use tag videomodules.
19636 (bufio): Likewise.
19637 (datetime): Use tag cmos. Enable on all noemu.
19638 (mmap): Use tags common and x86.
19639 (gfxterm): Use tag videomodules.
19640 (bitmap): Likewise.
19641 (bitmap_scale): Likewise.
19642 (video_fb): Likewise.
19643 (video): Likewise.
19644 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19645 adjust padding accordingly. All users updated.
19646 (grub_ohci_transaction): Fix bad format specification.
19647 (GRUB_MOD_INIT): Add asserts for struct size.
19648 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19649 (grub_alloc_td): Likewise.
19650 (grub_free_queue): Likewise.
19651 (grub_uhci_transfer): Likewise.
19652 (grub_uhci_transaction): Fix bad format specification.
19653 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19654 (grub_usb_bulk_readwrite): Likewise.
19655 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19656 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19657 Made static.
19658 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19659 Made static.
19660 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19661 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19662 Transformed into C.
19663 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19664 Moved from here ...
19665 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19666 ... here. Transformed into C. Made static.
19667 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19668 Moved from here ...
19669 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19670 ... here. Transformed into C. Made static.
19671 * grub-core/kern/i386/pc/startup.S
19672 (grub_biosdisk_check_int13_extensions): Moved from here ...
19673 * grub-core/disk/i386/pc/biosdisk.c
19674 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19675 Made static.
19676 * grub-core/kern/i386/pc/startup.S
19677 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19678 * grub-core/disk/i386/pc/biosdisk.c
19679 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19680 Transformed into C. Made static.
19681 * grub-core/kern/i386/pc/startup.S
19682 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19683 * grub-core/disk/i386/pc/biosdisk.c
19684 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19685 Transformed into C. Made static.
19686 * grub-core/kern/i386/pc/startup.S
19687 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19688 * grub-core/disk/i386/pc/biosdisk.c
19689 (grub_biosdisk_get_diskinfo_standard): ... here.
19690 Transformed into C. Made static.
19691 * grub-core/kern/i386/pc/startup.S
19692 (grub_biosdisk_get_num_floppies): Moved from here ...
19693 * grub-core/disk/i386/pc/biosdisk.c
19694 (grub_biosdisk_get_num_floppies): ... here.
19695 Transformed into C. Made static.
19696 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19697 New function.
19698 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19699 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19700 Transformed into C. Made static.
19701 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19702 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19703 Transformed into C. Made static.
19704 * grub-core/kern/i386/ieee1275/init.c: Removed.
19705 * grub-core/kern/i386/misc.S: Likewise.
19706 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19707 Splitted from here ...
19708 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19709 Transformed into C. Made static. All users updated.
19710 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19711 Transformed into C. Made static. All users updated.
19712 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19713 Moved from here...
19714 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19715 Transformed into C. Made static. All users updated.
19716 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19717 Moved from here...
19718 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19719 Transformed into C. Made static. All users updated.
19720 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19721 Removed (replaced by C version).
19722 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19723 Moved from here...
19724 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19725 Transformed into C. Made static.
19726 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19727 Moved from here...
19728 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19729 ... here. Transformed into C.
19730 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19731 Moved from here...
19732 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19733 ... here. Transformed into C.
19734 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19735 Moved from here...
19736 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19737 ... here. Transformed into C. Made static.
19738 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19739 Moved from here...
19740 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19741 ... here. Transformed into C.
21ed554b
VS
19742 * grub-core/kern/i386/pc/startup.S
19743 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19744 * grub-core/video/i386/pc/vbe.c
19745 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19746 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19747 Moved from here...
19748 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19749 ... here. Transformed into C.
19750 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19751 Moved from here...
19752 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19753 ... here. Transformed into C.
19754 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19755 Moved from here...
19756 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19757 ... here. Transformed into C.
19758 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19759 Moved from here...
19760 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19761 ... here. Transformed into C.
19762 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19763 Moved from here...
19764 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19765 ... here. Transformed into C. Made static.
19766 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19767 Moved from here...
19768 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19769 ... here. Transformed into C. Made static.
19770 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19771 Moved from here...
19772 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19773 ... here. Transformed into C. Made static.
19774 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19775 pxe_rm_entry as third argument.
19776 (grub_bios_interrupt): New function.
19777 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19778 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19779 of calling grub_stop.
19780 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19781 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19782 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19783 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19784 * grub-core/lib/i386/halt.c: Moved from here ...
19785 * grub-core/lib/i386/halt.c: ... here.
19786 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19787 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19788 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19789 grub_stop_floppy.
19790 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19791 * include/grub/i386/coreboot/init.h: Removed.
19792 * include/grub/i386/multiboot/init.h: Likewise.
19793 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19794 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19795 * include/grub/i386/pc/int.h: New file.
19796 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19797 (grub_pxe_scan): Removed.
19798 (grub_pxe_call): Update prototype.
19799 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19800 prototypes.
19801 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19802 * include/grub/i386/qemu/init.h: Removed.
19803 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19804 noreturn.
19805 (grub_halt): Likewise.
19806 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19807 (grub_reboot): Likewise.
19808 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19809 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19810 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19811
215dd471
RM
198122010-08-30 Robert Millan <rmh@gnu.org>
19813
19814 * NEWS: Document addition of ZFS support in `grub-install' and
19815 `grub-mkconfig'.
19816
ebd65b82
BC
198172010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19818
19819 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19820 dprintf output.
19821
11721d19
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
37837d4e
VS
198312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19832
19833 Remove leftover embedding of font objects.
19834
19835 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19836 * util/grub-install.in (font): Removed.
19837 * util/grub-mkimage.c (generate_image): Remove font support. All users
19838 updated.
19839
b4c1aae0
VS
198402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19843 Reported by: Ian Turner
b4c1aae0 19844
8920a08d
VS
198452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19846
19847 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19848 timeout to avoid indefinite boot stalling.
19849
f21db033
VS
198502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19853 (grub_env_write_color_highlight): Likewise.
19854
9a9de209
VS
198552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 * grub-core/normal/term.c (print_more): Return to normal and not
19858 to standard state after printing "---MORE---".
19859
3dca01d7
VS
198602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19863 Mask out the bit 0x80 since it has other meaning that specifiing color.
19864
0b986c40
VS
198652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19866
19867 New relocator. Allows for more kernel support and more straightforward
19868 loader writing.
19869
19870 * Makefile.am (BOOTTARGET): New variable.
19871 (QEMU32): Likewise.
19872 (linux.init.x86_64): New target.
19873 (linux.init.i386): Likewise.
19874 (multiboot.elf): Likewise.
19875 (kfreebsd.elf): Likewise.
19876 (kfreebsd.aout): Likewise.
19877 (pc-chainloader.elf): Likewise.
19878 (pc-chainloader.bin): Likewise.
19879 (ntldr.elf): Likewise.
19880 (ntldr.bin): Likewise.
19881 (multiboot2.elf): Likewise.
19882 (kfreebsd.init.x86_64): Likewise.
19883 (kfreebsd.init.i386): Likewise.
19884 (knetbsd.init.i386): Likewise.
19885 (kopenbsd.init.i386): Likewise.
19886 (knetbsd.init.x86_64): Likewise.
19887 (kopenbsd.init.x86_64): Likewise.
19888 (linux-initramfs.i386): Likewise.
19889 (linux-initramfs.x86_64): Likewise.
19890 (kfreebsd-mfsroot.i386.img): Likewise.
19891 (knetbsd.image.i386): Likewise.
19892 (kopenbsd.image.i386): Likewise.
19893 (kopenbsd.image.x86_64): Likewise.
19894 (knetbsd.miniroot-image.i386.img): Likewise.
19895 (kfreebsd-mfsroot.x86_64.img): Likewise.
19896 (knetbsd.image.x86_64): Likewise.
19897 (knetbsd.miniroot-image.x86_64.img): Likewise.
19898 (kfreebsd-mfsroot.i386.gz): Likewise.
19899 (bootcheck-kfreebsd-i386): Likewise.
19900 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19901 (bootcheck-kfreebsd-x86_64): Likewise.
19902 (knetbsd.miniroot-image.i386.gz): Likewise.
19903 (bootcheck-knetbsd-i386): Likewise.
19904 (bootcheck-kopenbsd-i386): Likewise.
19905 (bootcheck-kopenbsd-x86_64): Likewise.
19906 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19907 (bootcheck-knetbsd-x86_64): Likewise.
19908 (bootcheck-linux-i386): Likewise.
19909 (bootcheck-linux-x86_64): Likewise.
19910 (bootcheck-linux16-i386): Likewise.
19911 (bootcheck-linux16-x86_64): Likewise.
19912 (bootcheck-multiboot): Likewise.
19913 (bootcheck-multiboot2): Likewise.
19914 (bootcheck-kfreebsd-aout): Likewise.
19915 (bootcheck-pc-chainloader): Likewise.
19916 (bootcheck-ntldr): Likewise.
19917 (CLEANFILES): Add new targets.
19918 (BOOTCHECKS): New variable.
19919 (.PHONY): Add bootchecks.
19920 (SUCCESSFUL_BOOT_STRING): New variable.
19921 (BOOTCHECK_TIMEOUT): Likewise.
19922 (bootcheck): New target
19923 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19924 * configure.ac: Correct efiemu excuse.
19925 * docs/grub.texi (Supported kernels): New chapter.
19926 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19927 include/grub/mm_private.h. Simplify inclusion of
19928 include/grub/boot.h, include/grub/loader.h
19929 and include/grub/msdos_partition.h
19930 (KERNEL_HEADER_FILES) [i386_coreboot]:
19931 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19932 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19933 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19934 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19935 include/grub/machine/loader.h.
19936 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19937 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19938 extra_dist.
19939 (pci.mod): Enable on i386-multiboot.
19940 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19941 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19942 i386-qemu.
19943 (relocator.mod): Rewritten.
19944 (aout.mod): Enable on all x86.
19945 (bsd.mod): Likewise.
19946 (ntldr.mod): New module.
19947 (linux.mod): Use loader/i386/linux.c on all x86.
19948 (xnu.mod): Enable on all x86.
19949 (vga_text.mod): disable on EFI and QEMU.
19950 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19951 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19952 * grub-core/efiemu/loadcore.c: Likewise.
19953 * grub-core/efiemu/main.c: Likewise.
19954 (grub_efiemu_exit_boot_services): Removed.
19955 (grub_efiemu_finish_boot_services): Likewise.
19956 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19957 function.
19958 * grub-core/efiemu/i386/nocfgtables.c: New file.
19959 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19960 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19961 (grub_efi_finish_boot_services): Moved from here ...
19962 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19963 Fille finish memory map and related data.
19964 (finish_mmap_buf): New variable.
19965 (grub_efi_uintn_t finish_mmap_size): Likewise.
19966 (grub_efi_uintn_t finish_key): Likewise.
19967 (grub_efi_uintn_t finish_desc_size): Likewise.
19968 (grub_efi_uint32_t finish_desc_version): Likewise.
19969 (grub_efi_is_finished): Likewise.
19970 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19971 finished.
19972 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19973 (grub_elf64_phdr_iterate): Likewise.
19974 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19975 (grub_os_area_size): Likewise.
19976 (grub_machine_init): Don't reserve os area.
19977 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19978 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19979 * grub-core/kern/i386/loader.S: Removed.
19980 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19981 (grub_os_area_size): Likewise.
19982 (grub_machine_init): Don't reserve os area.
19983 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19984 Don't call grub_dl_unload_all.
19985 Don't include loader.S.
19986 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19987 Declare the memory after _end as available.
19988 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 19989 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 19990 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
19991 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19992 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19993 * include/grub/mm_private.h (grub_mm_header): ... here.
19994 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19995 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
19996 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19997 (grub_mm_region): ..here. Removed addr. Added pre_size.
19998 All users updated.
19999 * grub-core/kern/mm.c (base): Renamed to ...
20000 (grub_mm_base): ... this. Made global.
20001 (grub_real_malloc): Alloc from end of region.
20002 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20003 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20004 * grub-core/kern/powerpc/cache_flush.S: ... here.
20005 * grub-core/lib/efi/relocator.c: New file.
20006 * grub-core/lib/i386/relocator.c: Rewritten.
20007 * grub-core/lib/i386/relocator16.S: New file.
20008 * grub-core/lib/i386/relocator32.S: Likewise.
20009 * grub-core/lib/i386/relocator64.S: Likewise.
20010 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20011 * grub-core/lib/i386/relocator_common.S: New file.
20012 * grub-core/lib/ieee1275/relocator.c: Likewise.
20013 * grub-core/lib/mips/relocator.c: Rewritten.
20014 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20015 stylistic adjustments.
20016 * grub-core/lib/powerpc/relocator.c: New file.
20017 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20018 * grub-core/lib/relocator.c: Rewritten.
20019 * grub-core/lib/x86_64/relocator_asm.S: New file.
20020 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20021 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20022 (bsd_tag): New struct.
20023 (tags): New variable.
20024 (tags_last): Likewise.
20025 (netbsd_module): New struct.
20026 (netbsd_mods): New variable.
20027 (netbsd_mods_last): Likewise.
20028 (openbsd_opts): New parameter "serial".
20029 (OPENBSD_SERIAL_ARG): New definition.
20030 (netbsd_opts): New parameter "serial".
20031 (NETBSD_SERIAL_ARG): New definition.
20032 (grub_freebsd_add_meta): Reorganised into ...
20033 (grub_bsd_add_meta): ...this. All users updated.
20034 (grub_freebsd_add_mmap): Reorganised into ...
20035 (generate_e820_mmap): ...this...
20036 (grub_bsd_add_mmap): ...and this. All users updated.
20037 (grub_freebsd_list_modules): Use tags.
20038 (grub_netbsd_add_meta_module): New function.
20039 (grub_netbsd_list_modules): Likewise.
20040 (grub_freebsd_boot): Use relocator and finish EFI.
20041 (grub_openbsd_boot): Likewise.
20042 (grub_netbsd_setup_video): New function.
20043 (grub_netbsd_add_modules): Likewise.
20044 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20045 and finish EFI.
20046 (grub_bsd_unload): Unload tags.
20047 (grub_bsd_load_aout): Use relocator.
20048 (grub_bsd_elf32_size_hook): New function.
20049 (grub_bsd_elf32_hook): Use relocator.
20050 (grub_bsd_elf64_size_hook): New function.
20051 (grub_bsd_elf64_hook): Use relocator.
20052 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20053 (grub_bsd_load): Zero-out openbsd_ramdisk.
20054 (grub_bsd_load): Use relocator.
20055 (grub_cmd_openbsd): Support serial.
20056 (grub_cmd_netbsd): Support modules.
20057 (grub_cmd_freebsd_module): Use relocator.
20058 (grub_netbsd_module_load): New function.
20059 (grub_cmd_netbsd_module): Likewise.
20060 (grub_cmd_openbsd_ramdisk): Likewise.
20061 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20062 kopenbsd_ramdisk.
20063 (GRUB_MOD_FINI): Unregister new commands.
20064 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20065 (grub_freebsd_load_elfmodule_obj): Use relocator.
20066 (grub_freebsd_load_elfmodule): Likewise.
20067 (grub_freebsd_load_elf_meta): Likewise.
20068 (grub_netbsd_load_elf_meta): New function.
20069 (grub_openbsd_find_ramdisk): Likewise.
20070 * grub-core/loader/i386/bsd_helper.S: Removed.
20071 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20072 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20073 * grub-core/loader/i386/efi/linux.c: Likewise.
20074 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20075 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20076 (DEFAULT_VIDEO_MODE): Likewise.
20077 (real_mode_target): New variable.
20078 (prot_mode_target): Likewise.
20079 (initrd_mem_target): Likewise.
20080 (relocator): Likewise.
20081 (efi_mmap_buf): Likewise.
20082 (efi_mmap_size): Likewise.
20083 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20084 (free_pages): Use relocator.
20085 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20086 (grub_linux_setup_video): Return error.
20087 (grub_linux_trampoline_start): Removed.
20088 (grub_linux_trampoline_end): Likewise.
20089 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20090 andd video parameters depending on firmware.
20091 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20092 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20093 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20094 (grub_cmd_initrd): Use relocator.
20095 * grub-core/loader/i386/linux_trampoline.S: Removed.
20096 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20097 (elf_sec_entsize): Likewise.
20098 (elf_sec_shstrndx): Likewise.
20099 (elf_sections): Likewise.
20100 (grub_multiboot_load): Use relocator.
20101 (grub_multiboot_get_mbi_size): Account for sections.
20102 (grub_multiboot_make_mbi): Use relocator and support sections.
20103 (grub_multiboot_add_elfsyms): New function.
20104 (grub_multiboot_free_mbi): Free sections.
20105 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20106 (grub_linux_real_target): Likewise.
20107 (grub_linux_real_chunk): Likewise.
20108 (grub_linux16_prot_size): Likewise.
20109 (grub_linux16_boot): Use relocator.
20110 (grub_linux_unload): Unload relocator.
20111 (grub_cmd_linux): Use relocator.
20112 (grub_cmd_initrd): Likewise.
20113 * grub-core/loader/i386/pc/ntldr.c: New file.
20114 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20115 Don't try to guess CPU frequency.
20116 (grub_xnu_set_video): Stretch bitmap.
20117 (grub_xnu_boot): Use relocator.
20118 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20119 (grub_linux_unload): Free relocator.
20120 (grub_linux_load32): Use relocator.
20121 (grub_linux_load64): Likewise.
20122 (grub_cmd_initrd): Likewise.
20123 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20124 (grub_multiboot_unload): Unload relocator.
20125 (grub_cmd_multiboot): Use relocator.
20126 (grub_cmd_module): Likewise.
20127 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20128 Use relocator and support sections.
20129 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20130 (elf_sec_entsize): Likewise.
20131 (elf_sec_shstrndx): Likewise.
20132 (elf_sections): Likewise.
20133 (grub_multiboot_load): Use relocator.
20134 (grub_multiboot_get_mbi_size): Account for sections.
20135 (grub_multiboot_make_mbi): Use relocator and support sections.
20136 (grub_multiboot_add_elfsyms): New function.
20137 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20138 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20139 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20140 Prototype changed. All users updated.
20141 (grub_xnu_align_heap): Simplified.
20142 (grub_xnu_writetree_toheap): Likewise.
20143 (grub_xnu_unload): Unload relocator.
20144 (grub_cmd_xnu_kernel): Use relocator.
20145 (grub_cmd_xnu_kernel64): Likewise.
20146 (grub_xnu_register_memory): Simplified.
20147 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20148 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20149 EFI is finished.
20150 (grub_console_checkkey): Likewise.
20151 (grub_console_getkey): Likewise.
20152 (grub_console_getwh): Likewise.
20153 (grub_console_getxy): Likewise.
20154 (grub_console_gotoxy): Likewise.
20155 (grub_console_cls): Likewise.
20156 (grub_console_setcolorstate): Likewise.
20157 (grub_console_setcursor): Likewise.
20158 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20159 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20160 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20161 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20162 * grub-core/tests/boot/kernel-8086.S: Likewise.
20163 * grub-core/tests/boot/kernel-i386.S: Likewise.
20164 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20165 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20166 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20167 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20168 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20169 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20170 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20171 * grub-core/tests/boot/linux.cfg: Likewise.
20172 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20173 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20174 * grub-core/tests/boot/linux16.cfg: Likewise.
20175 * grub-core/tests/boot/multiboot.cfg: Likewise.
20176 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20177 * grub-core/tests/boot/ntldr.cfg: Likewise.
20178 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20179 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20180 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20181 New definition.
20182 * include/grub/dl.h (grub_dl_unload_all): Removed.
20183 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20184 (grub_efi_finish_boot_services): Change prototype.
20185 (grub_efi_is_finished): New variable.
20186 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20187 Changed prototype.
20188 (grub_efiemu_finish_boot_services): Removed.
20189 (grub_machine_efiemu_init_tables): New prototype.
20190 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20191 (grub_elf64_phdr_iterate): Likewise.
20192 * include/grub/i386/bsd.h: Include relocator.h.
20193 (freebsd_tag_header): New struct.
20194 (grub_openbsd_bios_mmap): Removed.
20195 (grub_unix_real_boot): Removed.
20196 (grub_freebsd_load_elfmodule32): Changed prototype.
20197 (grub_freebsd_load_elfmodule_obj64): Likewise.
20198 (grub_freebsd_load_elf_meta32): Likewise.
20199 (grub_freebsd_load_elf_meta64): Likewise.
20200 (grub_freebsd_add_meta): Removed.
20201 (grub_netbsd_load_elf_meta32): New prototype.
20202 (grub_netbsd_load_elf_meta64): Likewise.
20203 (grub_bsd_add_meta): Likewise.
20204 (grub_openbsd_ramdisk_descriptor): New struct.
20205 (grub_openbsd_find_ramdisk32): New prototype.
20206 (grub_openbsd_find_ramdisk64): Likewise.
20207 * include/grub/i386/coreboot/loader.h: Removed.
20208 * include/grub/i386/efi/loader.h: Likewise.
20209 * include/grub/i386/ieee1275/loader.h: Likewise.
20210 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20211 to grub_uint32_t.
20212 * include/grub/i386/loader.h: Removed.
20213 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20214 value.
20215 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20216 (grub_phys_addr_t): New type.
20217 (grub_vtop): New inline function.
20218 (grub_map_memory): Likewise.
20219 (grub_unmap_memory): Likewise.
20220 * include/grub/i386/multiboot/loader.h: Removed.
20221 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20222 (NETBSD_BTINFO_CONSOLE): New definition.
20223 (NETBSD_BTINFO_SYMTAB): Likewise.
20224 (NETBSD_BTINFO_MODULES): Likewise.
20225 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20226 (grub_netbsd_bootinfo): New struct.
20227 (grub_netbsd_btinfo_common): Use explicit bitsize.
20228 (grub_netbsd_btinfo_mmap_entry): Removed.
20229 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20230 (grub_netbsd_btinfo_bootdisk): New struct.
20231 (grub_netbsd_btinfo_symtab): Likewise.
20232 (grub_netbsd_btinfo_serial): Likewise.
20233 (grub_netbsd_btinfo_modules): Likewise.
20234 (grub_netbsd_btinfo_framebuf): Likewise.
20235 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20236 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20237 Likewise.
20238 (grub_openbsd_bootargs): Use explicit bitsize.
20239 (grub_openbsd_bootarg_console): New struct.
20240 (GRUB_OPENBSD_COM_MAJOR): New definition.
20241 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20242 * include/grub/i386/pc/efiemu.h: Removed.
20243 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20244 * include/grub/i386/qemu/loader.h: Removed.
20245 * include/grub/i386/relocator.h: Rewritten.
20246 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20247 * include/grub/mips/memory.h: New file.
20248 * include/grub/mips/multiboot.h: Rewritten.
20249 * include/grub/mips/relocator.h: Rewritten.
20250 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20251 (grub_vtop): New function.
20252 (grub_map_memory): Likewise.
20253 (grub_unmap_memory): Likewise.
20254 * include/grub/misc.h (ALIGN_DOWN): New definition.
20255 * include/grub/mm.h (grub_mm_check_real): New proto.
20256 (GRUB_MM_CHECK): New definition.
20257 * include/grub/mm_private.h: New file.
20258 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20259 (grub_multiboot_get_mbi_size): Removed.
20260 (grub_multiboot_make_mbi): Change prottype.
20261 (grub_multiboot_set_accepts_video): New proto.
20262 (grub_multiboot_add_elfsyms): Likewise.
20263 (grub_multiboot_payload_eip): New variable.
20264 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20265 New prototype.
20266 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20267 New definition.
20268 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20269 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20270 * include/grub/powerpc/ieee1275/loader.h: Removed.
20271 * include/grub/powerpc/memory.h: New file.
20272 * include/grub/powerpc/relocator.h: Likewise.
20273 * include/grub/relocator.h: Likewise.
20274 * include/grub/relocator_private.h: Likewise.
20275 * include/grub/sparc64/ieee1275/loader.h: Removed.
20276 * include/grub/x86_64/memory.h: New file.
20277 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20278 (grub_xnu_heap_malloc): Likewise.
20279 (grub_xnu_heap_real_start): Removed.
20280 (grub_xnu_heap_start): Likewise.
20281 (grub_xnu_relocator): New variable.
20282 (grub_xnu_heap_target_start): Likewise.
20283 * tests/util/grub-shell.in: Support non-pc.
20284 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20285
5303b85d
VS
202862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20287
20288 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20289 on malloc error.
20290 (grub_bidi_logical_to_visual): Check that malloc succeded.
20291 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20292 puts.
20293 (grub_xputs_normal): Likewise.
20294
d768d159
VS
202952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20298 extra_dist.
20299
203002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20303
5bf84df4
VS
203042010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20307
3626810e
VS
203082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20311 dprintf.
20312
a7363f53
BC
203132010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20314
20315 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20316
902f75f6
VS
203172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 * grub-core/normal/term.c (print_more): Fix a memory leak.
20320 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20321 (grub_xputs_normal): Likewise.
20322
3c707967
VS
203232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20326 the begining of the string
20327
2053cc07
VS
203282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 * grub-core/script/script.c (grub_script_parse): Free parsed on
20331 failure.
20332
46422ebf
VS
203332010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20336 on failure.
20337
9e0fa3f6
VS
203382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20341 return.
20342
3393cf16
VS
203432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20346 (scroll_up): Fix a memory leak.
20347
b17540cb
VS
203482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20351 errors.
20352
67140446
VS
203532010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 Handle USB pendrives exposed as floppies.
20356
20357 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20358 floppy.
20359 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20360 Check for partitions on all devices.
20361
e35e46fc
VS
203622010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20365 (readkey): Likewise.
20366
d24c6190
BC
203672010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20368
20369 Multiple variable names support to "export" command.
20370
20371 * normal/context.c (grub_cmd_export): "export" command supports
20372 multiple variable names.
20373
04ddcc6a
ST
203742010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20375
20376 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20377 --target=drive output to Mach device name.
20378
0c8b61d8
BC
203792010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20380
20381 New Automake based build system for GRUB.
20382
20383 * ABOUT-NLS: New file.
20384 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20385 in Makefile.util.def file.
20386 * Makefile.util.def: New file. Autogen build definitions file for
20387 GRUB host utils.
20388 * conf/Makefile.common: New file. Common variables for GRUB host
20389 utils and target modules.
20390 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20391 * docs/Makefile.am: New file. Automake file for docs.
20392 * gentpl.py: New file. Python script to generate Autogen
20393 template.
20394 * grub-core/Makefile.am: New file. GRUB target modules' rules
20395 that doesn't fit in Makefile.core.def file.
20396 * grub-core/Makefile.core.def: New file. Autogen build
20397 definitions file for GRUB target modules.
20398 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20399 specific setjmp.S file.
20400 * po/Makefile.am: New file.
20401
20402 * .bzrignore: New ignores.
20403 * INSTALL: New requirements, without Ruby.
20404 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20405 * autogen.sh: Updated to invoke autogen as necessary.
20406 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20407 and defines for Automake conditionals.
20408 * geninit.sh: Refactoring.
20409
20410 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20411 necessary.
20412 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20413 New prototype.
20414
20415 * include/grub/test.h: Fix functional test modules' naming.
20416 * grub-core/tests/example_functional_test.c: Fix test module name.
20417
20418 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20419 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20420 * util/grub-editenv.c: Likewise.
20421 * util/grub-fstest.c: Likewise.
20422 * util/grub-mkdevicemap.c: Likewise.
20423 * util/grub-mkfont.c: Likewise.
20424 * util/grub-mkimage.c: Likewise.
20425 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20426 * util/grub-probe.c: Likewise.
20427 * util/grub-script-check.c: Likewise.
20428 * util/i386/pc/grub-setup.c: Likewise.
20429 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20430
20431 * tests/util/grub-shell.in: Fix override directory path.
20432 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20433 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20434
20435 * util/lvm.c: Update #includes.
20436 * util/raid.c: Likewise.
20437 * util/resolve.c: Likewise.
20438 * grub-core/bus/emu/pci.c: Likewise.
20439 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20440 * grub-core/lib/posix_wrap/string.h: Likewise.
20441 * grub-core/kern/emu/main.c: Likewise.
20442
20443 * grub-core/gensymlist.sh: New file. Script for generating kernel
20444 symbols file.
20445 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20446
20447 * grub-core/gentrigtables.c: Fix unused variable warnings.
20448
20449 * Makefile.in: Removed.
20450 * conf/any-emu.rmk: Removed.
20451 * conf/common.rmk: Removed.
20452 * conf/i386-coreboot.rmk: Removed.
20453 * conf/i386-efi.rmk: Removed.
20454 * conf/i386-ieee1275.rmk: Removed.
20455 * conf/i386-multiboot.rmk: Removed.
20456 * conf/i386-pc.rmk: Removed.
20457 * conf/i386-qemu.rmk: Removed.
20458 * conf/i386.rmk: Removed.
20459 * conf/mips-yeeloong.rmk: Removed.
20460 * conf/mips.rmk: Removed.
20461 * conf/powerpc-ieee1275.rmk: Removed.
20462 * conf/sparc64-ieee1275.rmk: Removed.
20463 * conf/tests.rmk: Removed.
20464 * conf/x86-efi.rmk: Removed.
20465 * conf/x86_64-efi.rmk: Removed.
20466 * gendistlist.sh: Removed.
20467 * geninitheader.sh: Removed.
20468 * genkernsyms.sh.in: Removed.
20469 * genmk.rb: Removed.
20470 * gensymlist.sh.in: Removed.
20471 * mkinstalldirs: Removed.
20472 * boot: Moved ...
20473 * grub-core/boot: ... to here.
20474 * bus: Moved ...
20475 * grub-core/bus: ... to here.
20476 * commands: Moved ...
20477 * grub-core/commands: ... to here.
20478 * disk: Moved ...
20479 * grub-core/disk: ... to here.
20480 * efiemu: Moved ...
20481 * grub-core/efiemu: ... to here.
20482 * font: Moved ...
20483 * grub-core/font: ... to here.
20484 * fs: Moved ...
20485 * grub-core/fs: ... to here.
20486 * gencmdlist.sh: Moved ...
20487 * grub-core/gencmdlist.sh: ... to here.
20488 * genemuinit.sh: Moved ...
20489 * grub-core/genemuinit.sh: ... to here.
20490 * genemuinitheader.sh: Moved ...
20491 * grub-core/genemuinitheader.sh: ... to here.
20492 * genfslist.sh: Moved ...
20493 * grub-core/genfslist.sh: ... to here.
20494 * genhandlerlist.sh: Moved ...
20495 * grub-core/genhandlerlist.sh: ... to here.
20496 * genmoddep.awk: Moved ...
20497 * grub-core/genmoddep.awk: ... to here.
20498 * genmodsrc.sh: Moved ...
20499 * grub-core/genmodsrc.sh: ... to here.
20500 * genpartmaplist.sh: Moved ...
20501 * grub-core/genpartmaplist.sh: ... to here.
20502 * genparttoollist.sh: Moved ...
20503 * grub-core/genparttoollist.sh: ... to here.
20504 * genterminallist.sh: Moved ...
20505 * grub-core/genterminallist.sh: ... to here.
20506 * gentrigtables.c: Moved ...
20507 * grub-core/gentrigtables.c: ... to here.
20508 * genvideolist.sh: Moved ...
20509 * grub-core/genvideolist.sh: ... to here.
20510 * gettext: Moved ...
20511 * grub-core/gettext: ... to here.
20512 * gfxmenu: Moved ...
20513 * grub-core/gfxmenu: ... to here.
20514 * gnulib: Moved ...
20515 * grub-core/gnulib: ... to here.
20516 * hello: Moved ...
20517 * grub-core/hello: ... to here.
20518 * hook: Moved ...
20519 * grub-core/hook: ... to here.
20520 * io: Moved ...
20521 * grub-core/io: ... to here.
20522 * kern: Moved ...
20523 * grub-core/kern: ... to here.
20524 * lib: Moved ...
20525 * grub-core/lib: ... to here.
20526 * loader: Moved ...
20527 * grub-core/loader: ... to here.
20528 * mmap: Moved ...
20529 * grub-core/mmap: ... to here.
20530 * normal: Moved ...
20531 * grub-core/normal: ... to here.
20532 * partmap: Moved ...
20533 * grub-core/partmap: ... to here.
20534 * parttool: Moved ...
20535 * grub-core/parttool: ... to here.
20536 * script: Moved ...
20537 * grub-core/script: ... to here.
20538 * term: Moved ...
20539 * grub-core/term: ... to here
20540 * tests/example_functional_test.c: Moved ...
20541 * grub-core/tests/example_functional_test.c: ... to here.
20542 * tests/lib/functional_test.c: Moved ...
20543 * grub-core/tests/lib/functional_test.c: ... to here.
20544 * tests/lib/test.c: Moved ...
20545 * grub-core/tests/lib/test.c: ... to here.
20546 * video: Moved ...
20547 * grub-core/video: ... to here.
20548
645586e6
BC
205492010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20550
20551 Replace --enable-grub-emu-modules with grub-emu-lite.
20552
20553 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20554 cache.S.
20555
20556 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20557 * kern/emu/full.c: New file. For grub-emu specific initialization.
20558 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20559 * kern/emu/main.c: Call initialization function grub_emu_init.
20560
20561 * Makefile.in: Include grub-emu-lite in install.
20562 * commands/parttool.c: Use grub_no_autoload to differentiate
20563 between grub-emu and grub-emu-lite.
20564 * include/grub/misc.h: New variable grub_no_autoload.
20565
20566 * conf/any-emu.rmk: New rules for grub-emu-lite.
20567 * configure.ac: Remove --enable-grub-emu-modules.
20568 * genmk.rb: Cleanup unnecessary rules.
20569 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20570
20571 * normal/main.c: Don't load list files on grub-emu-lite.
20572 * util/misc.c (grub_arch_sync_caches): Removed.
20573
f86a4030
CW
205742010-08-23 Colin Watson <cjwatson@ubuntu.com>
20575
20576 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20577 grub-mkimage rather than grub-mkelfimage.
20578 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20579
06776944
VS
205802010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20581
20582 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20583 a key after CapsLock or NumLock. It's just a qemu bug.
20584
df262419
VS
205852010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20586
20587 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20588 needed by libusb wrapper.
20589
b40ea81b
ST
205902010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20591
20592 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20593
dee50575
VS
205942010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20595
20596 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20597 --nounzip is passed.
20598
fb1d7b79
VS
205992010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 USB hotunplugging and USB serial support.
20602
20603 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20604 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20605 (grub_uhci_transfer): Respect timeout and set *actual.
20606 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20607 non-standard length.
20608 (grub_usb_device_attach): Autoload modules.
20609 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20610 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20611 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20612 users updated.
20613 (grub_usb_add_hub): Fill nports and children.
20614 (attach_root_port): Receive hub instead of controller.
20615 All users updated. Fill hub->devices.
20616 (grub_usb_root_hub): Allocate hub->devices.
20617 (detach_device): New function.
20618 (poll_nonroot_hub): Fill children and detach devices.
20619 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20620 actual arguments. All users updated.
20621 (grub_usb_bulk_read_extended): New function.
20622 * bus/usb/serial/common.c: New file.
20623 * bus/usb/serial/ftdi.c: Likewise.
20624 * bus/usb/serial/pl2303.c: Likewise.
20625 * commands/terminal.c (handle_command): Support wildcard.
20626 * commands/usbtest.c: Output "Unknown" instead of empty string.
20627 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20628 (usbserial_common_mod_SOURCES): New variable.
20629 (usbserial_common_mod_CFLAGS): Likewise.
20630 (usbserial_common_mod_LDFLAGS): Likewise.
20631 (pkglib_MODULES): Add usbserial_pl2303.mod.
20632 (usbserial_pl2303_mod_SOURCES): New variable.
20633 (usbserial_pl2303_mod_CFLAGS): Likewise.
20634 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20635 (pkglib_MODULES): Add usbserial_ftdi.mod.
20636 (usbserial_ftdi_mod_SOURCES): New variable.
20637 (usbserial_ftdi_mod_CFLAGS): Likewise.
20638 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20639 (pkglib_MODULES): Add serial.mod.
20640 (serial_mod_SOURCES): New variable.
20641 (serial_mod_CFLAGS): Likewise.
20642 (serial_mod_LDFLAGS): Likewise.
20643 * conf/i386-pc.rmk: Likewise.
20644 * conf/mips-yeeloong.rmk: Likewise.
20645 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20646 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20647 * disk/usbms.c (first_available_slot): New variable.
20648 (grub_usbms_attach): Don't reuse free slots due to potential cache
20649 problems.
20650 * include/grub/serial.h: Moved to ..
20651 * include/grub/ns8250.h: ...this.
20652 * include/grub/serial.h: New file.
20653 * include/grub/term.h (grub_term_poll_usb): New variable.
20654 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20655 readkey. All users updated.
20656 (grub_terminfo_output_state): Pass term to put.
20657 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20658 (grub_usb_controller_dev): Add timeout and actual arguments to
20659 transfer. All users updated.
20660 (grub_usb_interface): New field detach_data.
20661 (grub_usb_device): New fields children and nports.
20662 (grub_usb_ep_type_t): New type.
20663 (grub_usb_get_ep_type): New function.
20664 (grub_usb_bulk_read_extended): Likewise.
20665 * include/grub/usbdesc.h (grub_usb_desc): New type.
20666 * include/grub/usbserial.h: New file.
20667 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20668 * kern/term.c (grub_term_poll_usb): New variable.
20669 (grub_getkey): Call grub_term_poll_usb if set.
20670 (grub_checkkey): Likewise.
20671 (grub_getkeystatus): Likewise.
20672 * term/serial.c: Moved controller-specific parts to ...
20673 * term/ns8250.c: ... here.
20674 * term/serial.c: Mostly rewritten.
20675 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20676 according to spec.
20677
21a313de
RM
206782010-08-20 Robert Millan <rmh@gnu.org>
20679
20680 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20681 a separate module and maybe other interesting combinations.
20682
20683 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20684 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20685 (kfreebsd_entry): Add generic filesystem module load routine.
20686 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20687
63c734a6
CW
206882010-08-20 Colin Watson <cjwatson@ubuntu.com>
20689
20690 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20691 "numcenter" (I misunderstood the purpose of this entry).
20692 * docs/grub.texi (sendkey): Likewise.
20693
c4d16542
CW
206942010-08-20 Colin Watson <cjwatson@ubuntu.com>
20695
20696 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20697 status flag options; simply omitting the option is equivalent and
20698 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20699 (keysym_table): Rename "num5numlock" to "numlock".
20700 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20701 can uniformly say that only the last of multiple `sendkey'
20702 invocations has any effect.
20703 * docs/grub.texi (sendkey): New section.
20704
93541d66
CW
207052010-08-19 Colin Watson <cjwatson@ubuntu.com>
20706
20707 * commands/i386/pc/sendkey.c (options): Fix three typos.
20708
b4ece5e1
VS
207092010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20710
20711 Implement sendkey support.
20712
20713 * commands/i386/pc/sendkey.c: New file.
20714 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20715 (sendkey_mod_SOURCES): New variable.
20716 (sendkey_mod_CFLAGS): Likewise.
20717 (sendkey_mod_LDFLAGS): Likewise.
20718
51f1f5af
CW
207192010-08-18 Colin Watson <cjwatson@ubuntu.com>
20720
20721 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20722 fix warnings from Autoconf.
20723
9da94e05
CW
207242010-08-18 Colin Watson <cjwatson@ubuntu.com>
20725
20726 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20727 to avoid false positives with some assemblers that output things
20728 like "someprefix_func" as part of their output.
20729
729a0f2e
RM
207302010-08-15 Robert Millan <rmh@gnu.org>
20731
20732 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20733 errors.
20734 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20735 grub_get_libzfs_handle() errors.
20736
f3710e08
RM
207372010-08-14 Robert Millan <rmh@gnu.org>
20738
20739 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20740 filesystem is not ZFS.
20741
7a3c13de
BC
207422010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20743
20744 Fix for misspelled color names defaulting to black/black (bug
20745 reported by Doug Nazar)
20746
20747 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20748 status to prototype.
20749 * normal/color.c (grub_parse_color_name_pair): Return failure
20750 status.
20751 (grub_env_write_color_normal): Ignore bad color names.
20752 (grub_env_write_color_highlight): Likewise.
20753 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20754
ab8ba50d
BC
207552010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20756
20757 "shift" command support to GRUB script.
20758
20759 * include/grub/script_sh.h (grub_script_shift): New prototype.
20760 * script/execute.c (grub_script_shift): New function.
20761 * script/main.c (grub_script_init): Register shift command.
20762 (grub_script_fini): Unregister shift command.
20763 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20764
20765 * tests/grub_script_shift.in: New testcase.
20766 * conf/tests.rmk: Rules for new testcase.
20767
4d61999e
BC
207682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20769
20770 "continue" command support to GRUB script.
20771
20772 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20773 (grub_script_break): Continue support.
20774 * script/main.c (grub_script_init): Register continue command.
20775 (grub_script_fini): Unregister continue command.
20776
20777 * tests/grub_script_continue.in: New testcase.
20778 * conf/tests.rmk: Rules for new testcase.
20779
4df51e00
BC
207802010-08-12 BVK Chaitanya <bvk@dbook>
20781
20782 "break" command support to GRUB script.
20783
20784 * conf/common.rmk: Rule updates to grub-script-check.
20785 * include/grub/misc.h (grub_min): New function.
20786 * include/grub/script_sh.h (grub_script_init): New prototype.
20787 (grub_script_fini): New prototype.
20788 (grub_script_break): New prototype.
20789 * script/main.c (grub_script_init): New function.
20790 (grub_script_fini): New function.
20791 * script/execute.c (grub_script_break): New function.
20792 * normal/main.c: Calls to grub_script_{init,fini}.
20793 * util/grub-script-check.c (grub_script_break): New function.
20794
20795 * tests/grub_script_break.in: New testcase.
20796 * conf/tests.rmk: Rules for new test case.
20797
f12c8420
BC
207982010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20799
20800 Function parameters support to GRUB script.
20801
20802 * script/yylex.l (VARIABLE): Regular expression update.
20803 * script/function.c (grub_script_function_call): Moved ...
20804 * script/execute.c (grub_script_function_call): ... to here.
20805 (grub_script_execute_arglist_to_argv): Removed.
20806 (grub_script_arglist_to_argv): New function.
20807 * script/argv.c: New file.
20808 (grub_script_argv_free): New function.
20809 (grub_script_argv_next): Likewise.
20810 (grub_script_argv_append): Likewise.
20811 (grub_script_argv_split_append): Likewise.
20812 * include/grub/script_sh.h (grub_script_argv): New struct.
20813 (grub_script_argv_free): New function.
20814 (grub_script_argv_next): Likewise.
20815 (grub_script_argv_append): Likewise.
20816 (grub_script_argv_split_append): Likewise.
20817
20818 * conf/common.rmk (normal.mod): New source script/argv.c.
20819
20820 * tests/grub_script_echo1.in: More tests.
20821 * tests/grub_script_vars1.in: Likewise.
20822 * tests/grub_script_functions.in: New test case.
20823 * conf/tests.rmk: Rules for new testcase.
20824
8022b748
BC
208252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20826
20827 Remove grub_script_cmdblock struct.
20828
20829 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20830 * script/parser.y: Likewise.
20831 * script/execute.c: Rename cmdblock suffix to cmdlist.
20832 * script/script.c: Likewise.
20833 * util/grub-script-check.c: Likewise.
20834
79a6ba61
YB
208352010-08-11 Yves Blusseau <blusseau@zetam.org>
20836
20837 * .bzrignore: add grub-macho2img
20838
d04b9414
VS
208392010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20842
f947ab49
VS
208432010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20844
20845 Remove the dump of sm712 initialisation sequence.
20846
20847 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20848 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20849 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20850 (GRUB_VGA_CR_*): Added many registers.
20851 (GRUB_VGA_SR_*): Likewise.
20852 (GRUB_VGA_GR_*): Likewise.
20853 (grub_vga_write_arx): New function.
20854 (grub_video_hw_config): New struct.
20855 (grub_vga_set_geometry): New function.
20856 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20857 GRUB_PCI_CLASS_SUBCLASS_VGA.
20858 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20859 * video/sm712.c (grub_sm712_write_reg): New function
20860 (grub_sm712_read_reg): Likewise.
20861 (grub_sm712_sr_write): Likewise.
20862 (grub_sm712_gr_write): Likewise.
20863 (grub_sm712_cr_write): Likewise.
20864 (grub_sm712_write_arx): Likewise.
20865 (grub_sm712_cr_shadow_write): Likewise.
20866 (grub_sm712_write_dda_lookup): Likewise.
20867 (grub_video_sm712_setup): Initialise the video rather then
20868 blindly replay the dump.
20869 (main) [TEST]: Add a routine to be able to compile as standalone for
20870 tests.
20871 * video/sm712_init.c (sm712_init): Removed.
20872 (sm712_sr_seq1): New array.
20873 (sm712_sr_seq2): Likewise.
20874
f0206638
VS
208752010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * include/grub/vga.h: Add missing grub/pci.h include.
20878
2764da3b
YB
208792010-08-10 Yves Blusseau <blusseau@zetam.org>
20880
20881 * util/grub-macho2img.c (main): fix typo
20882
cf0c775e
VS
208832010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20886 (grub_vga_gr_read): Likewise.
20887 (grub_vga_cr_write): Likewise.
20888 (grub_vga_cr_read): Likewise.
20889 (grub_vga_sr_write): Likewise.
20890 (grub_vga_sr_read): Likewise.
20891 (grub_vga_palette_read): Likewise.
20892 (grub_vga_palette_write): Likewise.
20893 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20894 (grub_sm712_sr_read): New function.
20895 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20896 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20897
07f360e9
RM
208982010-08-09 Robert Millan <rmh@gnu.org>
20899
20900 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20901 out unused variables on non-ZFS build.
20902
346c2072
RM
209032010-08-08 Robert Millan <rmh@gnu.org>
20904
20905 Fix path generation for sub-filesystems in ZFS.
20906
20907 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20908 missing slash.
20909
71175420
RM
209102010-08-08 Robert Millan <rmh@gnu.org>
20911
20912 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20913
0d8286f3
RM
209142010-08-08 Robert Millan <rmh@gnu.org>
20915
20916 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20917 exist, issue a proper error message (rely on `ls' for translated
20918 strings).
20919
55dd2924
RM
209202010-08-08 Robert Millan <rmh@gnu.org>
20921
20922 Fix grub-probe invocation.
20923
20924 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20925
d3dd9e80
RM
209262010-08-04 Robert Millan <rmh@gnu.org>
20927
20928 * configure.ac: Remove checks for getfsstat() and getmntany().
20929 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20930 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20931 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20932 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20933 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20934 function.
20935 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20936 via find_mount_point_from_dir() and getfsstat() / getmntany().
20937
0de22aa9
RM
209382010-08-04 Robert Millan <rmh@gnu.org>
20939
20940 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20941 (grub_find_zpool_from_mount_point): Merge into ...
20942 (grub_find_zpool_from_dir): ... this.
20943 * kern/emu/misc.c: Likewise.
20944
20945 * kern/emu/misc.c
20946 (grub_make_system_path_relative_to_its_root): Replace
20947 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20948 with grub_find_zpool_from_dir().
20949 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20950
62858144
RM
209512010-08-04 Robert Millan <rmh@gnu.org>
20952
20953 Support OpenSolaris in ZFS device resolution.
20954
20955 * configure.ac: Check for getmntany().
20956 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20957 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20958 support.
20959
9dd6fd50
RM
209602010-08-03 Robert Millan <rmh@gnu.org>
20961
20962 Fix grub-emu build.
20963
20964 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20965 * include/grub/emu/misc.h: ... here.
20966
20967 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20968 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20969
20970 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20971 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20972 (grub_get_libzfs_handle): Move to ...
20973 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20974 (grub_get_libzfs_handle): ... here.
20975
c9f7ff97
BC
209762010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20977
20978 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20979 as command name case.
20980
a870a783
CW
209812010-08-02 Colin Watson <cjwatson@ubuntu.com>
20982
20983 * disk/raid.c (insert_array): Select unique numbers for named arrays
20984 as well, for use as keys in the disk cache.
20985
c7db243b
RM
209862010-08-01 Robert Millan <rmh@gnu.org>
20987
20988 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20989 kFreeBSD device name, except on ZFS where the filesystem label is
20990 used.
20991 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20992 `/boot/zfs/zpool.cache'.
20993 Set mountfrom kernel variable using ${kfreebsd_device}.
20994
f7abdefb
RM
209952010-08-01 Robert Millan <rmh@gnu.org>
20996
20997 Make it even harder to use uninitialized `libzfs_handle' (and
20998 make the interface a bit simpler).
20999
21000 * include/grub/util/misc.h (grub_util_init_libzfs)
21001 (libzfs_handle): Remove.
21002 (grub_get_libzfs_handle): New prototype.
21003
21004 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21005 attribute.
21006 (grub_util_init_libzfs): Remove.
21007 (grub_get_libzfs_handle): New function.
21008
21009 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21010 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21011 accessing `libzfs_handle' directly.
21012
c882acc0
RM
210132010-08-01 Robert Millan <rmh@gnu.org>
21014
21015 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21016 (grub_find_zpool_from_mount_point): New function prototypes.
21017
21018 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21019 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21020
21021 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21022 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21023 `static' attribute.
21024
21025 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21026 finding zpool from mount point into ...
21027 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21028
21029 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21030 requested path is part of a ZFS pool, use
21031 grub_find_zpool_from_mount_point() to detect its filesystem name,
21032 and generate a path with `/fsname@path' syntax.
21033
8bfe31d8
CW
210342010-08-01 Colin Watson <cjwatson@ubuntu.com>
21035
21036 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21037 (void) rather than () so that this is a proper prototype.
21038
553df63d
VS
210392010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21040
21041 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21042
8687cf07
VS
210432010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21044
21045 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21046 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21047
ea9be8ea
CW
210482010-08-01 Colin Watson <cjwatson@ubuntu.com>
21049
21050 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21051
6eea041a
CW
210522010-08-01 Colin Watson <cjwatson@ubuntu.com>
21053
21054 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21055
2cfb45df
CW
210562010-08-01 Colin Watson <cjwatson@ubuntu.com>
21057
21058 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21059 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21060 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21061 disable gfxpayload.
21062 (Shell-like scripting): Add real content.
21063 (Serial terminal): Suggest `terminal_input serial; terminal_output
21064 serial' rather than putting the two commands on separate lines,
21065 since console input will be inoperative after the first command.
21066 (menuentry): Document --class, --users, and --hotkey options.
21067 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21068 Vladimir Serbinenko).
21069
7decd202
VS
210702010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
210712010-08-01 Colin Watson <cjwatson@ubuntu.com>
21072
21073 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21074
c882acc0
RM
210752010-08-01 Robert Millan <rmh@gnu.org>
21076
21077 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21078 (grub_find_zpool_from_mount_point): New function prototypes.
21079
21080 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21081 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21082
21083 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21084 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21085 `static' attribute.
21086
21087 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21088 finding zpool from mount point into ...
21089 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21090
21091 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21092 requested path is part of a ZFS pool, use
21093 grub_find_zpool_from_mount_point() to detect its filesystem name,
21094 and generate a path with `/fsname@path' syntax.
21095
deb0caa3
RM
210962010-08-01 Robert Millan <rmh@gnu.org>
21097
21098 Prevent accidental use of uninitialized libzfs_handle.
21099
21100 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21101 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21102 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21103
ce04ef47
CW
211042010-08-01 Colin Watson <cjwatson@ubuntu.com>
21105
21106 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21107 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21108
ebf53056
RM
211092010-08-01 Robert Millan <rmh@gnu.org>
21110
21111 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21112
3710bb6b
RM
211132010-07-31 Robert Millan <rmh@gnu.org>
21114
21115 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21116
8072efeb
RM
211172010-07-31 Robert Millan <rmh@gnu.org>
21118
21119 * kern/emu/misc.c: Add missing license header.
21120
3169f4c7
RM
211212010-07-31 Robert Millan <rmh@gnu.org>
21122
21123 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21124
21125 * include/grub/util/libnvpair.h: Include `<config.h>'.
21126 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21127 declaring libnvpair prototypes ourselves.
21128 * include/grub/util/libzfs.h: Include `<config.h>'.
21129 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21130 declaring libzfs prototypes ourselves.
21131
21132 (libzfs_handle): Moved to ...
21133 * include/grub/util/misc.h (libzfs_handle): ... here.
21134 Include `<grub/util/libzfs.h>'.
21135
c9a00aee
RM
211362010-07-30 Robert Millan <rmh@gnu.org>
21137
21138 * include/grub/emu/misc.h: Add missing license header.
21139
a184f9c8
RM
211402010-07-30 Robert Millan <rmh@gnu.org>
21141
21142 Enable `grub-probe -t device' resolution on ZFS.
21143
21144 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21145 * include/grub/util/libnvpair.h: New file.
21146 * include/grub/util/libzfs.h: New file.
21147
21148 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21149 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21150 `<grub/util/libnvpair.h>'.
21151 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21152
21153 (find_mount_point_from_dir): New static function.
21154 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21155 function.
21156 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21157 find_root_device_from_libzfs() before ressorting to find_root_device().
21158
21159 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21160 prototype.
21161 * util/misc.c: Include `<grub/util/libzfs.h>'.
21162 (grub_util_init_libzfs): New function.
21163 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21164 [HAVE_LIBZFS] (fini_libzfs): New static function.
21165 (grub_util_init_libzfs): New function.
21166 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21167
f7790cdd
RM
211682010-07-30 Robert Millan <rmh@gnu.org>
21169
21170 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21171 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21172 `warn_unused_result' attribute.
21173 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21174 (grub_xasprintf, grub_xvasprintf): Likewise.
21175 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21176
0806b63c
RM
211772010-07-29 Robert Millan <rmh@gnu.org>
21178
21179 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21180 (probe): Handle `PRINT_FS_LABEL'.
21181 (main): Handle `-t fs_label'.
21182
9f841f5c
RM
211832010-07-29 Robert Millan <rmh@gnu.org>
21184
21185 * configure.ac: Remove grub-mkisofs checks.
21186
46371121
VS
211872010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21190 Reported by: Lennart Sorensen.
21191
211922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21193
21194 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21195 prior to terminal_input/terminal_output separation. It's been over 1.5
21196 years and those versions weren't widely deployed.
21197
a9600892
CW
211982010-07-22 Colin Watson <cjwatson@ubuntu.com>
21199
21200 * disk/raid.c (insert_array): Don't count named arrays when looking
21201 for unused array numbers.
697e053c 21202 Reported and tested by: Michael Guntsche.
a9600892 21203
c03507df
CW
212042010-07-20 Colin Watson <cjwatson@ubuntu.com>
21205
21206 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21207 implementation of this so that grub-emu links again, with a note
21208 that this should support hotplugging in the future.
21209
b26f1c11
CW
212102010-07-20 Colin Watson <cjwatson@ubuntu.com>
21211
21212 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21213
efc9d7f1
CW
212142010-07-20 Colin Watson <cjwatson@ubuntu.com>
21215
21216 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21217 handle on failure.
21218 (grub_loopback_close): Remove empty function.
21219 (grub_loopback_dev): Remove close method.
21220
dd8ff5c9
CW
212212010-07-20 Colin Watson <cjwatson@ubuntu.com>
21222
21223 Disable EFI cursor when the EFI console becomes inactive.
21224
21225 * term/efi/console.c (grub_efi_console_init): New function.
21226 (grub_efi_console_fini): New function.
21227 (grub_console_term_output): Register init and fini methods.
21228
5e3bec67
VS
212292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21232 sh script.
21233
afaec079
VS
212342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * disk/loopback.c (grub_loopback): Replace filename with file.
21237 (delete_loopback): Handle new semantics.
21238 (grub_cmd_loopback): Likewise.
21239 (grub_loopback_iterate): Likewise.
21240 (grub_loopback_close): Likewise.
21241
a6a11f3c
VS
212422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21243
21244 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21245 with -p "".
21246 Reported by: Tito Keitel.
21247
64a638b0
VS
212482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21249
21250 * docs/grub.texi (Naming convention): Document new naming convention.
21251
ab8ba957
VS
212522010-07-20 Vadim Solomin <vadic052@gmail.com>
212532010-07-20 Colin Watson <cjwatson@ubuntu.com>
21254
21255 Generate device.map in something closer to the old ordering.
21256
21257 * util/deviceiter.c (struct device): New declaration.
21258 (compare_file_names): Rename to ...
21259 (compare_devices): ... this. Sort by kernel name in preference to
21260 the stable by-id name, but keep the latter as a fallback comparison.
21261 Update header comment.
21262 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21263 of `struct device' rather than of plain file names.
21264
a29d6a4b
TF
212652010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21266
21267 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21268 on i386.
21269
39d824e8
VS
212702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21273 hardcoding size.
21274 (setv1table): Likewise.
21275
f058276b
FZ
212762010-07-20 Colin Watson <cjwatson@ubuntu.com>
21277
21278 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21279 removing the homehost if present.
21280 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21281 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21282 removing the homehost if present.
21283 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21284 if possible.
21285 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21286
21287 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21288 parameter. Set its pointer target to 0.
21289 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21290 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21291 `data_offset' value from the superblock for 1.x metadata.
21292 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21293 data on the device.
21294 (insert_array): Record the start sector of data on the device.
21295 (grub_raid_register): Pass start_sector parameters to
21296 grub_raid_list->detect and insert_array.
21297 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21298 member.
21299 (struct grub_raid): Add start_sector parameter to `detect'.
21300
21301 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21302 __attribute__ ((packed)), leaving a comment.
21303 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21304 (grub_mdraid_detect_09): ... here and ...
21305 (grub_mdraid_detect_1x): ... here.
21306
213072010-07-20 Peter Henn <peter.henn@web.de>
21308
21309 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21310 chunk size and disk size, which are already given as sector counts
21311 as distinct from the 0.90 units. Fetch the correct device number
21312 from the role table instead of using the table index.
21313
213142010-07-20 Felix Zielcke <fzielcke@z-51.de>
21315
21316 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21317 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21318 (WriteMostly1): New macro.
21319 Set array->name to NULL for metadata format 0.90. Add support for
21320 metadata 1.x. Fix some comments.
21321 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21322 few comments.
21323 * util/getroot.c (grub_util_get_grub_dev): Add support for
21324 /dev/md/name style devices.
21325
4b761da9
CW
213262010-07-20 Colin Watson <cjwatson@ubuntu.com>
21327
21328 * .bzrignore: Ignore 20_linux_xen.
21329
5771289a
CW
213302010-07-17 Colin Watson <cjwatson@ubuntu.com>
21331
21332 * util/import_unicode.py: Remove unnecessary imports.
21333
5dab68df
AN
213342010-07-17 Aleš Nesrsta <starous@volny.cz>
21335
21336 Hotplugging and USB hub support.
21337
21338 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21339 (grub_ohci): Likewise.
21340 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21341 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21342 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21343 (GRUB_OHCI_CTRL_EDS): Likewise.
21344 (GRUB_OHCI_BULK_EDS): Likewise.
21345 (GRUB_OHCI_TDS): Likewise.
21346 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21347 (grub_ohci_ed_phys2virt): New function.
21348 (grub_ohci_virt_to_phys): Likewise.
21349 (grub_ohci_td_phys2virt): Likewise.
21350 (grub_ohci_td_virt2phys): Likewise.
21351 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21352 attachment.
21353 (grub_ohci_find_ed): New function.
21354 (grub_ohci_alloc_td): Likewise.
21355 (grub_ohci_free_td): Likewise.
21356 (grub_ohci_free_tds): Likewise.
21357 (grub_ohci_transfer): Use previously allocated memory.
21358 (grub_ohci_portstatus): Reset status changed bit.
21359 (grub_ohci_detect_dev): Supply status changed.
21360 (grub_ohci_fini_hw): Free memory.
21361 (grub_ohci_restore_hw): Reallocate memory.
21362 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21363 Reset status change.
21364 (grub_uhci_detect_dev): Supply status_change.
21365 * bus/usb/usb.c (attach_hooks): New var.
21366 (grub_usb_device_attach): New function.
21367 (grub_usb_register_attach_hook_class): Likewise.
21368 (grub_usb_unregister_attach_hook_class): Likewise.
21369 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21370 (grub_usb_add_hub): Reset connection changed bit.
21371 (attach_root_port): New function.
21372 (grub_usb_root_hub): Likewise.
21373 (poll_nonroot_hub): Likewise.
21374 (grub_usb_poll_devices): Likewise.
21375 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21376 * disk/usbms.c (grub_usbms_open): Use device hooks.
21377 (grub_usbms_iterate) :Poll devices.
21378 (grub_usbms_finddevs): Split into ...
21379 (grub_usbms_attach): ... this ...
21380 (grub_usbms_attach): ... and this.
21381 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21382 in detect_dev.
21383 (grub_usb_interface): New fields attached and detach_hook.
21384 (grub_usb_attach_hook_class): New type.
21385 (grub_usb_attach_desc): New struct.
21386 (grub_usb_register_attach_hook_class): New function.
21387 (grub_usb_unregister_attach_hook_class): Likewise.
21388 (grub_usb_poll_devices): Likewise.
21389 (grub_usb_device_attach): Likewise.
21390 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21391 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21392
3222efaf
VS
213932010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21394
21395 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21396 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21397 delta determination style. Works with most NetBSD partitions too.
21398
139b714a
VS
213992010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21402 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21403
986aad56
VS
214042010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21405
21406 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21407
99be513c
AB
214082010-07-14 Anton Blanchard <anton@samba.org>
21409
21410 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21411 ET_DYN files.
21412
18075f62
GS
214132010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21414
21415 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21416
8d9a5b15
GS
214172010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21418
21419 * kern/partition.c (grub_partition_check_containment): New function to
21420 check that a partition is physically contained in a parent. Since
21421 offsets are relative (and non-negative), this reduces to checking that
21422 the partition ends before its parent.
21423 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21424 (grub_partition_iterate): Likewise.
21425 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21426 comments.
21427 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21428 partitions that start before their parent, and add debug printfs.
21429
19563c25
CW
214302010-07-13 Colin Watson <cjwatson@ubuntu.com>
21431
21432 * Makefile.in (.SUFFIX): Spell correctly, as ...
21433 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21434 bare module name without `.mod', e.g. `test') tried to invoke a
21435 Modula-2 compiler.
21436
1a1f1e67
CW
214372010-07-13 Colin Watson <cjwatson@ubuntu.com>
21438
21439 * README: Point to the Info manual.
21440
811b0dca
JS
214412010-07-13 Jiro SEKIBA <jir@unicus.jp>
21442
21443 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21444 2nd superblock position from partition size.
21445
e4f4eafc
CW
214462010-07-10 Colin Watson <cjwatson@ubuntu.com>
21447
21448 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21449 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21450 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21451 outputs.
21452
4274c30f
VS
214532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 Restructure SCSI .id handling.
21456 Reported and tested by: Aleš Nesrsta.
21457
21458 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21459 (grub_atapi_dev): Changed .name to "ata". New field .id.
21460 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21461 (grub_usbms_dev): New field .id.
21462 * disk/scsi.c (grub_scsi_iterate): Generate name.
21463 (grub_scsi_open): Parse name.
21464 * include/grub/scsi.h (grub_make_scsi_id): New function.
21465 (grub_scsi_dev): Change iterate and open to number instead of naming
21466 busses. All users updated.
21467 (grub_scsi): Remove name. Add .bus.
21468
5bc24388
VS
214692010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * commands/help.c (grub_cmd_help): Fix a typo.
21472
249975ba
VS
214732010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21474
21475 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21476 Reported and tested by: Colin Watson.
21477
3eaac1a1
VS
214782010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21479
21480 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21481 in this context.
21482
becce1b1
VS
214832010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21484
21485 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21486
f7bf0918
CW
214872010-07-07 Colin Watson <cjwatson@ubuntu.com>
21488
21489 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21490 indentation.
21491
0b0f9620
CW
214922010-07-06 Colin Watson <cjwatson@ubuntu.com>
21493
21494 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21495 and disk/raid6_recover.c.
21496 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21497 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21498
1e545469
CW
214992010-07-06 Colin Watson <cjwatson@ubuntu.com>
21500
21501 * term/gfxterm.c (repaint_schedulded): Rename to ...
21502 (repaint_scheduled): ... this. Update all callers.
21503 (repaint_was_schedulded): Rename to ...
21504 (repaint_was_scheduled): ... this. Update all callers.
21505
5357687a
CW
215062010-07-06 Colin Watson <cjwatson@ubuntu.com>
21507
21508 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21509 which we expect to be handled by upper layers.
21510
29d7e783
BC
215112010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21512
21513 * bus/usb/usbhub.c: #include time.h header.
21514
37582066
CW
215152010-07-06 Colin Watson <cjwatson@ubuntu.com>
21516
21517 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21518 entry_name also for entries without stat blocks (e.g. ".."); fixes
21519 corruption of the first entry in a directory.
21520
c8c06953
CW
215212010-07-06 Colin Watson <cjwatson@ubuntu.com>
21522
21523 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21524 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21525 doesn't work otherwise.
21526
e75056f1
CW
215272010-07-05 Colin Watson <cjwatson@ubuntu.com>
21528
21529 * docs/grub.texi (Features): Update list of supported file systems.
21530 (GNU/Linux): Update for GRUB 2.
21531 (Serial terminal): Remove mention of --disable-serial, which was a
21532 GRUB Legacy configure option. Update instructions to use
21533 `terminal_input' and `terminal_output' rather than `terminal'.
21534 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21535 configuration' and `Installing GRUB using grub-install'.
21536 (Menu entry editor): Update for GRUB 2.
21537 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21538 Document new -a, -u, and -v options.
21539 (initrd): New section.
21540 (initrd16): New section.
21541 (linux): New section.
21542 (linux16): New section.
21543 (search): The `var' argument to `--set' is optional.
21544 (GRUB only offers a rescue shell): Go into a little more detail on
21545 drive ordering.
21546
5cf69151
CW
215472010-07-05 Colin Watson <cjwatson@ubuntu.com>
21548
21549 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21550
e3f90044
CW
215512010-07-05 Colin Watson <cjwatson@ubuntu.com>
21552
21553 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21554 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21555
38d8f4f3
CW
215562010-07-05 Colin Watson <cjwatson@ubuntu.com>
21557
21558 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21559 install_prefix, in line with install_dos_part and install_bsd_part.
21560 Add new prefix variable, which is copied to install_prefix after
21561 comparing core.img in memory with the one read from disk in the
21562 no-embedding case, and use that rather than overwriting
21563 install_prefix immediately when installing to a partition.
21564 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21565 Bicakci.
21566
57ebd41e
GS
215672010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21568
21569 * configure.ac: Avoid == in test command, it's not portable.
21570 * util/grub.d/30_os-prober.in: Likewise.
21571
cb7f64b2
CW
215722010-07-04 Colin Watson <cjwatson@ubuntu.com>
21573
21574 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21575
6b654bb0
GS
215762010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21577
21578 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21579 multiple (top-level) partmaps.
21580
72a2026d
VS
215812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21584 Reported by: Tino Keitel.
72a2026d 21585
df3eb88f
VS
215862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 Bidi and diacritics support.
21589
21590 * Makefile.in (widthspec.bin): New target.
21591 (widthspec.h): Likewise.
21592 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21593 * autogen.sh: Generate unidata.c.
21594 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21595 * commands/ls.c (grub_ls_list_devices): Likewise.
21596 (grub_ls_list_files): Likewise.
21597 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21598 (grub_mini_cmd_lsmod): Likewise.
21599 * commands/read.c: Likewise.
21600 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21601 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21602 * lib/arg.c (grub_arg_show_help): Likewise.
21603 * lib/crypto.c (grub_password_get): Likewise.
21604 * normal/auth.c (grub_username_get): Likewise.
21605 * normal/misc.c (grub_normal_print_device_info): Likewise.
21606 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21607 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21608 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21609 (normal/charset.c_DEPENDENCIES): New variable.
21610 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21611 (pkglib_MODULES): Remove charset.mod.
21612 (charset_mod_SOURCES): Removed.
21613 (charset_mod_CFLAGS): Likewise.
21614 (charset_mod_LDFLAGS): Likewise.
21615 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21616 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21617 and term/tparm.c.
21618 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21619 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21620 (kernel_img_HEADERS): Add terminfo.h.
21621 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21622 Fill ->font. Reverse ascii bitmaps.
21623 (grub_font_get_xheight): New function.
21624 * font/font.c (grub_font_get_string_width): Moved from here ...
21625 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21626 * font/font.c (grub_font_draw_string): Moved from here ...
21627 * gfxmenu/font.c (grub_font_draw_string): ... here.
21628 * font/font.c (grub_font_dup_glyph): New function.
21629 (grub_font_blit_glyph): Likewise.
21630 (grub_font_blit_glyph_mirror): Likewise.
21631 (blit_comb): Likewise.
21632 (grub_font_construct_dry_run): Likewise.
21633 (grub_font_get_constructed_device_width): Likewise.
21634 (grub_font_construct_glyph): Likewise.
21635 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21636 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21637 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21638 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21639 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21640 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21641 (grub_font_get_xheight): New proto.
21642 (grub_font_get_constructed_device_width): Likewise.
21643 (grub_font_construct_glyph): Likewise.
21644 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21645 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21646 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21647 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21648 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21649 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21650 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21651 (grub_console_getcharwidth): Likewise.
21652 * include/grub/misc.h (grub_xputs): New proto.
21653 (grub_puts): Inlined.
21654 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21655 (grub_normal_get_line_counter): Removed.
21656 (grub_install_newline_hook): Likewise.
21657 (grub_normal_get_char_counter): New proto.
21658 (grub_normal_reset_more): Likewise.
21659 (grub_xputs_normal): Likewise.
21660 * include/grub/powerpc/ieee1275/console.h: Removed.
21661 * include/grub/sparc64/ieee1275/console.h: Likewise.
21662 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21663 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21664 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21665 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21666 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21667 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21668 (grub_term_input): Pass reference to self. All users updated.
21669 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21670 Pass reference to self. New fields normal_color, highlight_color and
21671 data. All users updated.
21672 (grub_putchar): Removed.
21673 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21674 (grub_unicode_estimate_width): New function.
21675 (grub_term_getcharwidth): Add defaults.
21676 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21677 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21678 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21679 (grub_cls): Remove EXPORT_FUNC.
21680 (grub_setcolorstate): Inline.
21681 (grub_newline_hook): Removed.
21682 * include/grub/terminfo.h: Rewritten. All users updated.
21683 * include/grub/unicode.h: New file.
21684 * include/grub/video.h (grub_video_signed_rect): New type.
21685 * kern/emu/console.c (grub_console_highlight_color): Removed.
21686 (grub_console_normal_color): Likewise.
21687 (grub_console_standard_color): Made static.
21688 (grub_ncurses_putchar): Remove mapping.
21689 (grub_ncurses_getcharwidth): Removed.
21690 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21691 (grub_ncurses_setcolor): Removed.
21692 (grub_ncurses_getcolor): Likewise.
21693 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21694 (grub_console_putchar): ... this.
21695 (grub_console_putchar): Handle argument difference.
21696 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21697 console_init_early and console_init_lately.
21698 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21699 * kern/misc.c (grub_puts): Removed.
21700 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21701 (grub_vsnprintf_real): Remove str = NULL support.
21702 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21703 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21704 * kern/term.c (grub_putcode): Renamed to ...
21705 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21706 (grub_putchar): Removed.
21707 (grub_xputs_dumb): New function.
21708 (grub_xputs): New variable.
21709 * lib/charset.c: Move from here ...
21710 * normal/charset.c: ... to here.
21711 (grub_ucs4_to_utf8): New function.
21712 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21713 (join_types): New variable.
21714 (unpack_join): New function.
21715 (bidi_types): New variable.
21716 (unpack_bidi): New function.
21717 (get_bidi_type): Likewise.
21718 (get_join_type): Likewise.
21719 (is_mirrored): Likewise.
21720 (grub_unicode_get_comb_type): Likewise.
21721 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21722 (is_type_after): Likewise.
21723 (grub_unicode_aglomerate_comb): Likewise.
21724 (bidi_line_wrap): Likewise.
21725 (grub_bidi_line_logical_to_visual): Likewise.
21726 (grub_bidi_logical_to_visual): Likewise.
21727 (grub_unicode_mirror_code): Likewise.
21728 (grub_unicode_shape_code): Likewise.
21729 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21730 Don't use grub_putchar.
21731 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21732 (grub_normal_reader_init): Likewise.
21733 (grub_xputs_saved): New variable.
21734 (GRUB_MOD_INIT): Set grub_xputs.
21735 (GRUB_MOD_FINI): Restore grub_xputs.
21736 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21737 (menu_init): Avoid printing gfxmenu error.
21738 (show_menu): Use grub_normal_get_char_counter.
21739 * normal/menu_entry.c (update_screen): Fix out-of-array.
21740 (complete): Avoid NULL dereferencing.
21741 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21742 * normal/menu_text.c (print_spaces): Removed.
21743 (grub_print_ucs4): Likewise.
21744 (grub_print_message_indented): Use grub_print_ucs4.
21745 (print_message): Use grub_putcode.
21746 (print_entry): Hanlde diacritics.
21747 * normal/term.c (term_state): New type.
21748 (grub_more_lines): Removed.
21749 (term_states): New variable.
21750 (grub_normal_line_counter): Renamed to ..
21751 (grub_normal_char_counter): ...this. All users updated.
21752 (grub_normal_get_line_counter): Renamed to ...
21753 (grub_normal_get_char_counter): ... this.
21754 (grub_normal_reset_more): New function.
21755 (process_newline): Removed.
21756 (print_more): New function.
21757 (grub_install_newline_hook): Removed.
21758 (map_code): New function.
21759 (grub_puts_terminal): Use grub_print_ucs4.
21760 (putglyph): New function.
21761 (putcode_real): Likewise.
21762 (grub_putcode): Use putcode_real.
21763 (get_maxwidth): New function.
21764 (get_startwidth): Likewise.
21765 (print_ucs4_terminal): Likewise.
21766 (find_term_state): Likewise.
21767 (put_glyphs_terminal): Likewise.
21768 (print_backlog): Likewise.
21769 (print_ucs4_real): Likewise.
21770 (grub_print_ucs4): Likewise.
21771 (grub_xputs_normal): Likewise.
21772 * term/efi/console.c (grub_console_putchar): Output diacritics.
21773 (grub_console_getcharwidth): Removed.
21774 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21775 * term/gfxterm.c (clear_char): Free chars.
21776 (scroll_up): Avoid leaking memory.
21777 (grub_gfxterm_putchar): Support diacritics.
21778 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21779 * term/i386/pc/console.c (grub_console_term_output): Declare as
21780 GRUB_TERM_CODE_TYPE_VGA.
21781 * term/i386/pc/vga.c (grub_vga_term): Declare as
21782 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21783 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21784 GRUB_TERM_CODE_TYPE_VGA.
21785 * term/i386/vga_common.c (map_char): Removed.
21786 (grub_console_putchar): Likewise.
21787 (grub_console_getcharwidth): Likewise.
21788 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21789 (colors): Reordered to match terminfo.
21790 (grub_ofconsole_normal_color): Removed.
21791 (grub_ofconsole_writeesc): Likewise.
21792 (grub_ofconsole_highlight_color): Likewise.
21793 (grub_ofconsole_getcharwidth): Likewise.
21794 (grub_ofconsole_setcolorstate): Likewise.
21795 (grub_ofconsole_setcolor): Likewise.
21796 (grub_ofconsole_getcolor): Likewise.
21797 (grub_ofconsole_readkey): Renamed to ...
21798 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21799 key.
21800 (grub_ofconsole_checkkey): Removed.
21801 (grub_ofconsole_getkey): Likewise.
21802 (grub_ofconsole_getxy): Likewise.
21803 (grub_ofconsole_gotoxy): Likewise.
21804 (grub_ofconsole_cls): Likewise.
21805 (grub_ofconsole_refresh): Likewise.
21806 (grub_ofconsole_terminfo_input): New struct.
21807 (grub_ofconsole_terminfo_output): Likewise.
21808 (grub_ofconsole_term_input): Use terminfo.
21809 (grub_ofconsole_term_output): Likewise.
21810 (grub_console_init): Split into ...
21811 (grub_console_init_early): ...this and ...
21812 (grub_console_init_lately): ...this. Use terminfo.
21813 (grub_ofconsole_putchar): Renamed to ...
21814 (put): ... this. Remove mapping.
21815 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21816 * term/serial.c: Simplify using terminfo.
21817 (xpos): Removed.
21818 (ypos): Likewise.
21819 (keep_track): Likewise.
21820 (registered): Likewise.
21821 (input_buf): Likewise.
21822 (npending): Likewise.
21823 (serial_translate_key_sequence): Likewise.
21824 (fill_input_buf): Likewise.
21825 (grub_serial_checkkey): Likewise.
21826 (grub_serial_getkey): Likewise.
21827 (grub_serial_getxy): Likewise.
21828 (grub_serial_gotoxy): Likewise.
21829 (grub_serial_putchar): Likewise.
21830 (grub_serial_cls): Likewise.
21831 (grub_serial_setcolorstate): Likewise.
21832 (grub_serial_setcursor): Likewise.
21833 (serial_hw_init): Use serial_hw_fetch.
21834 (grub_serial_terminfo_input): New variable.
21835 (grub_serial_terminfo_output): Likewise.
21836 (grub_serial_term_input): Use terminfo.
21837 (grub_serial_term_output): Likewise.
21838 * term/terminfo.c (putstr): Use put.
21839 (grub_terminfo_all_free): New function
21840 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21841 (grub_terminfo_output_register): New function.
21842 (grub_terminfo_output_unregister): Likewise.
21843 (grub_terminfo_getxy): Likewise.
21844 (grub_terminfo_readkey): Likewise.
21845 (grub_terminfo_checkkey): Likewise.
21846 (grub_terminfo_getkey): Likewise.
21847 (grub_terminfo_input_init): Likewise.
21848 (print_terminfo): Likewise.
21849 (grub_cmd_terminfo): Handle encoding.
21850 (grub_terminfo_gotoxy): Track position.
21851 (grub_terminfo_cls): Likewise.
21852 (grub_terminfo_putchar): Likewise.
21853 (grub_terminfo_setcolorstate): Handle colors
21854 (grub_terminfo_cursor_on): This ...
21855 (grub_terminfo_cursor_off): ... and this merged into ...
21856 (grub_terminfo_setcursor): ... this.
21857 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21858 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21859 * unicode/BidiMirroring.txt: Likewise.
21860 * unicode/UnicodeData.txt: Likewise.
21861 * unicode/COPYING: Likewise.
21862 * util/grub-editenv.c (grub_putchar): Removed.
21863 (grub_xputs_real): New function.
21864 (grub_xputs): New variable.
21865 * util/grub-fstest.c (grub_putchar): Removed.
21866 (grub_xputs_real): New function.
21867 (grub_xputs): New variable.
21868 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21869 (grub_xputs_real): New function.
21870 (grub_xputs): New variable.
21871 * util/grub-probe.c (grub_putchar): Removed.
21872 (grub_xputs_real): New function.
21873 (grub_xputs): New variable.
21874 * util/grub-script-check.c (grub_putchar): Removed.
21875 (grub_xputs_real): New function.
21876 (grub_xputs): New variable.
21877 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21878 (grub_xputs_real): New function.
21879 (grub_xputs): New variable.
21880 * util/import_unicode.py: New file.
21881 * util/grub-mkfont.c (ft_errmsgs): New array.
21882 (grub_glyph_info): Make bitmap a pointer.
21883 (file_formats): New type WIDTH_SPEC.
21884 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21885 (options): Add width-spec.
21886 (help): Likewise.
21887 (add_char): Renamed to ...
21888 (add_glyph): ... this.
21889 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21890 (glyph_replace): New type.
21891 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21892 (add_char): New function.
21893 (add_subst): Likewise.
21894 (process_cursive): Likewise.
21895 (add_font): Handle GSUB.
21896 (write_font_width_spec): New function.
21897 (main): Sort glyphs.
21898 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21899 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21900 * kern/term.c (grub_cls): Moved from here...
21901 * normal/term.c (grub_cls): ... here.
21902
50f0bcda
CW
219032010-07-02 Colin Watson <cjwatson@ubuntu.com>
21904
21905 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21906 suitable for using within the format argument of printf when
21907 converting grub_size_t.
21908 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21909 "x" to convert grub_size_t arguments.
21910
40372103
VS
219112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21912
21913 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21914 too long captions.
21915 (list_get_minimal_size): Take selection box into account.
21916
942a10c7
VS
219172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21918
21919 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21920 NULL font.
21921
2bdb2892
CW
219222010-07-02 Colin Watson <cjwatson@ubuntu.com>
21923
21924 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21925 devices when iterating over /dev/disk/by-id; they will be handled
21926 later if appropriate, which they aren't always (e.g. LVM).
21927
e03ed6c1
CW
219282010-07-02 Colin Watson <cjwatson@ubuntu.com>
21929
21930 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21931 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21932 fails.
21933 (grub_halt): Likewise.
21934 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21935 reset-all fails.
21936 (grub_halt): Don't return, even if all of shut-down, power-off, and
21937 poweroff fail.
21938
47695765
CW
219392010-07-02 Colin Watson <cjwatson@ubuntu.com>
21940
21941 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21942 arguments, not three.
21943
507736c8
CW
219442010-07-02 Colin Watson <cjwatson@ubuntu.com>
21945
21946 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21947 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21948 LVM-on-RAID is handled correctly.
21949
e3c8cd37
CW
219502010-07-02 Colin Watson <cjwatson@ubuntu.com>
21951
21952 * docs/grub.texi (Changes from GRUB Legacy): New section.
21953 (Future): Fix typo.
21954
8d4a2fec
CW
219552010-07-02 Colin Watson <cjwatson@ubuntu.com>
21956
21957 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21958 grub.d/README accidentally ends up executable for one reason or
21959 another. Ignore it.
21960
1c4827be
VS
219612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21964 (gpt_partition_map_iterate): Support non-512B sectors.
21965
d9a0c941
VS
219662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21967
21968 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21969 Tested by: Seth Goldberg.
21970
48f27e87
VS
219712010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21972
21973 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21974 Properly align mbi.
21975 Reported by: Seth Goldberg.
21976
b0c4f956
VS
219772010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21978
21979 * util/grub-mkrescue.in: Avoid module duplication.
21980
105a2e8c
SF
219812010-07-01 Sean Finney <seanius@seanius.net>
21982
21983 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21984
5944958c
SF
219852010-07-01 Sean Finney <seanius@seanius.net>
21986
21987 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21988
219892010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 * disk/lvm.c (grub_lvm_checkvalue): New function.
21992 (grub_lvm_check_flag): Likewise.
21993
b79889ba
RM
219942010-07-01 Robert Millan <rmh@gnu.org>
21995
21996 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21997 Support 'p' as partition separator on kernel of FreeBSD (used
21998 with GPT labels).
21999 (grub_util_biosdisk_get_grub_dev): Likewise.
22000
ec1d04f1
VS
220012010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22002
22003 Yeeloong firmware port.
22004
22005 * boot/mips/yeeloong/fwstart.S: New file.
22006 * bus/cs5536.c (gpiodump): New const.
22007 (set_io_space): New function.
22008 (set_iod): Likewise.
22009 (set_p2d): Likewise.
22010 (grub_cs5536_init_geode): Likewise.
22011 * commands/mips/yeeloong/lsspd.c: New file.
22012 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22013 (serial_mod_SOURCES): New variable.
22014 (serial_mod_CFLAGS): Likewise.
22015 (serial_mod_LDFLAGS): Likewise.
22016 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22017 term/terminfo.c and term/tparm.c.
22018 (pkglib_IMAGES): Add fwstart.img.
22019 (fwstart_img_SOURCES): New variable.
22020 (fwstart_img_CFLAGS): Likewise.
22021 (fwstart_img_ASFLAGS): Likewise.
22022 (fwstart_img_LDFLAGS): Likewise.
22023 (fwstart_img_FORMAT): Likewise.
22024 (pkglib_MODULES): Add lsspd.mod.
22025 (lsspd_mod_SOURCES): New variable.
22026 (lsspd_mod_CFLAGS): Likewise.
22027 (lsspd_mod_LDFLAGS): Likewise.
22028 (pkglib_MODULES): Add halt.mod.
22029 (halt_mod_SOURCES): New variable.
22030 (halt_mod_CFLAGS): Likewise.
22031 (halt_mod_LDFLAGS): Likewise.
22032 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22033 (serial_mod_SOURCES): Removed.
22034 (serial_mod_CFLAGS): Likewise.
22035 (serial_mod_LDFLAGS): Likewise.
22036 * disk/ata.c (check_device): New function.
22037 (grub_ata_device_initialize): Use check_device.
22038 (grub_ata_iterate): Recheck devices.
22039 (grub_ata_open): Likewise.
22040 (grub_atapi_iterate): Likewise.
22041 (grub_atapi_open): Likewise.
22042 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22043 (GRUB_ATA_CH1_PORT1): Likewise.
22044 (GRUB_ATA_CH0_PORT2): Likewise.
22045 (GRUB_ATA_CH1_PORT2): Likewise.
22046 * include/grub/mips/loongson.h: New file.
22047 * include/grub/mips/yeeloong/ec.h: Likewise.
22048 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22049 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22050 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22051 * include/grub/misc.h (grub_halt): Declare as noreturn.
22052 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22053 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22054 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22055 (UART_ENABLE_DTRRTS): Likewise.
22056 (UART_ENABLE_MODEM): Removed.
22057 (UART_ENABLE_OUT2): New const.
22058 * include/grub/term.h (grub_term_register_input_active): New function.
22059 (grub_term_register_output_active): Likewise.
22060 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22061 argument.
22062 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22063 (init_pci): New function.
22064 (grub_machine_init): Execute platform init when firmware. Init serial.
22065 (grub_halt): Implement.
22066 (grub_exit): Likewise.
22067 (grub_reboot): Likewise.
22068 * term/serial.c (serial_hw_init): Update macros.
22069 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22070 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22071 (image_targets): New target mipsel-yeeloong-flash.
22072 (generate_image): Support IMAGE_YEELOONG_FLASH.
22073 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22074 (grub_video_sm712_setup): Init card.
22075 (grub_video_sm712_set_palette): Removed.
22076 * video/sm712_init.c: New file.
22077
ff4a70d2
CW
220782010-06-30 Colin Watson <cjwatson@ubuntu.com>
22079
22080 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22081 PATH when running help2man and then run it on the unadorned
22082 executable names, rather than passing $(builddir)/* paths to
22083 help2man. This avoids the build directory ending up in generated
22084 manual pages.
22085
1246efeb
CW
220862010-06-29 Colin Watson <cjwatson@ubuntu.com>
22087
22088 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22089 to avoid accidents when debugging with 'sh -x'.
22090 * util/grub-mkrescue.in: Likewise.
22091 * util/grub.d/00_header.in: Likewise.
22092 * util/grub.d/10_hurd.in: Likewise.
22093 * util/grub.d/10_kfreebsd.in: Likewise.
22094 * util/grub.d/10_linux.in: Likewise.
22095 * util/grub.d/10_netbsd.in: Likewise.
22096 * util/grub.d/10_windows.in: Likewise.
22097 * util/grub.d/20_linux_xen.in: Likewise.
22098 * util/grub.d/30_os-prober.in: Likewise.
22099 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22100
1ba9b889
CW
221012010-06-29 Colin Watson <cjwatson@ubuntu.com>
22102
22103 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22104 last character in the buffer.
22105 Reported by: Vladimir Serbinenko.
22106
dccaf99d
RM
221072010-06-29 Robert Millan <rmh@gnu.org>
22108
22109 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22110 (Command-line and menu entry commands): Document `badram' command.
22111
d500ed12
RM
221122010-06-28 Robert Millan <rmh@gnu.org>
22113
22114 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22115 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22116 command using ${GRUB_BADRAM} as parameter.
22117
20bc84a6
CW
221182010-06-28 Colin Watson <cjwatson@ubuntu.com>
22119
22120 * docs/grub.texi (Device map): New section.
22121 (Themes): New section (stub).
22122 * Makefile.in (docs/grub.info): The info documentation now builds
22123 without errors. Make sure it stays that way.
22124
4045dee1
VS
221252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 Use normal parser for menu entries.
22128 Reported by: Thomas Frauendorfer
22129
22130 * include/grub/parser.h (grub_parser_execute): Don't export.
22131 * normal/menu.c (grub_menu_execute_entry_real): New function.
22132 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22133
bca58c7b
CW
221342010-06-28 Colin Watson <cjwatson@ubuntu.com>
22135
22136 * docs/grub.texi (Embedded configuration): New section (replacing
22137 old "Preset Menu" stub).
22138 (Images): New section.
22139 (configfile): Note that any menu entries defined in `file' are shown
22140 immediately.
22141
dec53e63
JT
221422010-06-28 Josh Triplett <josh@joshtriplett.org>
22143
22144 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22145
c06e40f7
CW
221462010-06-28 Colin Watson <cjwatson@ubuntu.com>
22147
22148 * util/grub-install.in: Add --debug-image= option.
22149
cb88052b
CW
221502010-06-28 Colin Watson <cjwatson@ubuntu.com>
22151
22152 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22153 possible on Linux.
22154
22155 * util/deviceiter.c (check_device): Rename to ...
22156 (check_device_readable_unique): ... this. Update all callers.
22157 Maintain and check a list of which devices (by canonicalized name)
22158 have already been seen.
22159 (clear_seen_devices): New function.
22160 (compare_file_names) [__linux__]: New function.
22161 (grub_util_iterate_devices): Clear the list of seen devices on exit
22162 and (just in case) on entry.
22163 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22164 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22165 seen-devices list, superseded by general code in check_device.
22166
bbe34652
CW
221672010-06-28 Colin Watson <cjwatson@ubuntu.com>
22168
22169 * commands/cat.c (options): New variable.
22170 (grub_cmd_cat): Parse options. If the --dos option is given, print
22171 DOS-style "\r\n" line endings as simple newlines (Debian bug
22172 #586358).
22173 (GRUB_MOD_INIT): Use extcmd.
22174 (GRUB_MOD_FINI): Likewise.
22175 * docs/grub.texi (cat): Document --dos.
22176
412e09f3
VS
221772010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22178
22179 XEN with Linux grub-mkconfig support.
22180
22181 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22182 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22183 GRUB_CMDLINE_XEN_DEFAULT.
22184 * util/grub.d/20_linux_xen.in: New file.
22185
53f3ef38 221862010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22187
22188 Initialise VGA video on qemu ourselves.
22189
22190 * boot/i386/qemu/boot.S: Don't call 0xc000.
22191 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22192 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22193 (kernel_img_HEADERS): Add pci.h.
22194 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22195 * configure.ac: Force unifont on qemu and yeeloong.
22196 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22197 (grub_vga_palette_write): Use correct register.
22198 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22199 Call grub_qemu_init_cirrus.
22200 * kern/i386/qemu/init.c: New file.
22201 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22202
22203 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22204
c75be4fb
PR
222052010-06-26 Pavel Roskin <proski@gnu.org>
22206
22207 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22208 13.
22209
d8034603
CW
222102010-06-26 Colin Watson <cjwatson@ubuntu.com>
22211
22212 * docs/grub.texi (Simple configuration): Explain that
22213 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22214 set to `true' to disable their respective recovery entries, not
22215 merely set.
22216
3fa06487
CW
222172010-06-26 Colin Watson <cjwatson@ubuntu.com>
22218
22219 Make the `source' command slightly faster.
22220
22221 * normal/main.c (grub_normal_execute): Don't re-read list files when
22222 nested.
22223
e9b29642
CW
222242010-06-23 Colin Watson <cjwatson@ubuntu.com>
22225
22226 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22227 field position and mask size to red fields from mode_info, not
22228 green.
22229 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22230 Remove redundant tag->common.framebuffer_type assignment.
22231 Reported by: Seth Goldberg.
22232
e726542f
CW
222332010-06-23 Colin Watson <cjwatson@ubuntu.com>
22234
22235 Sync up other versions of the Linux loader with Robert Millan's
22236 change of 2010-01-09, "Make loader output a bit more user-friendly".
22237
22238 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22239 grub_dprintf().
22240 (grub_cmd_linux): Likewise.
22241 (grub_cmd_initrd): Likewise.
22242 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22243 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22244
d6e98a17
CW
222452010-06-21 Colin Watson <cjwatson@ubuntu.com>
22246
22247 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22248 larger than MEMORY_MAP_SIZE.
22249
14d3f08e
BC
222502010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22251
22252 Fix parallel build.
22253
22254 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22255 dependency.
22256 * script/parser.y: #include grub_script.tab.h header.
22257
4f9613a3
VS
222582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22259
22260 Support >3GiB and <16MiB RAM in i386-qemu.
22261
22262 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22263 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22264 (grub_lower_mem): Removed.
22265 (grub_upper_mem): Likewise.
22266 (mem_size): Made static.
22267 (above_4g): New variable.
22268 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22269 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22270 support.
22271
05e51879
VS
222722010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22273
22274 Cirrus 5446 and Bochs video cards support.
22275
22276 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22277 video_bochs.mod
22278 (video_cirrus_mod_SOURCES): New variable.
22279 (video_cirrus_mod_CFLAGS): Likewise.
22280 (video_cirrus_mod_LDFLAGS): Likewise.
22281 (video_bochs_mod_SOURCES): Likewise.
22282 (video_bochs_mod_CFLAGS): Likewise.
22283 (video_bochs_mod_LDFLAGS): Likewise.
22284 * include/grub/vga.h: New file.
22285 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22286 (grub_video_fb_set_page_t): New type.
22287 (grub_video_fb_setup): New prototype.
22288 (grub_video_fb_swap_buffers): Likewise.
22289 (grub_video_fb_get_info_and_fini): Likewise.
22290 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22291 (CRTC_DATA_PORT): Likewise.
22292 (CRTC_CURSOR): Likewise.
22293 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22294 (CRTC_CURSOR_ADDR_LOW): Likewise.
22295 (CRTC_CURSOR_DISABLE): Likewise.
22296 (update_cursor): Use grub_vga_cr_write.
22297 (grub_vga_text_setcursor): Likewise.
22298 * video/bochs.c: New file.
22299 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22300 (palette): Likewise.
22301 (palette_size): Likewise.
22302 (framebuffer): New variable.
22303 (grub_video_fb_init): Use 'framebuffer'.
22304 (grub_video_fb_fini): Likewise.
22305 (grub_video_fb_get_info): Likewise.
22306 (grub_video_fb_get_palette): Likewise.
22307 (grub_video_fb_set_palette): Likewise.
22308 (grub_video_fb_set_viewport): Likewise.
22309 (grub_video_fb_get_viewport): Likewise.
22310 (grub_video_fb_map_color): Likewise.
22311 (grub_video_fb_map_rgb): Likewise.
22312 (grub_video_fb_map_rgba): Likewise.
22313 (grub_video_fb_unmap_color): Likewise.
22314 (grub_video_fb_unmap_color_int): Likewise.
22315 (grub_video_fb_fill_rect): Likewise.
22316 (grub_video_fb_blit_bitmap): Likewise.
22317 (grub_video_fb_blit_render_target): Likewise.
22318 (grub_video_fb_scroll): Likewise.
22319 (grub_video_fb_create_render_target): Likewise.
22320 (grub_video_fb_doublebuf_blit_init): Likewise.
22321 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22322 (doublebuf_pageflipping_update_screen): New function.
22323 (doublebuf_pageflipping_init): Likewise.
22324 (grub_video_fb_setup): Likewise.
22325 (grub_video_fb_swap_buffers): Likewise.
22326 (grub_video_fb_get_info_and_fini): Likewise.
22327 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22328 All users updated.
22329 (doublebuf_pageflipping_commit): Restructured into ...
22330 (doublebuf_pageflipping_set_page): ... this.
22331 (doublebuf_pageflipping_update_screen): Removed.
22332 (doublebuf_pageflipping_init): Likewise.
22333 (double_buffering_init): Likewise.
22334 (grub_video_vbe_setup): Use grub_video_fb_setup.
22335 (grub_video_vbe_swap_buffers): Removed.
22336 (grub_video_vbe_set_active_render_target): Likewise.
22337 (grub_video_vbe_get_active_render_target): Likewise.
22338 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22339 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22340 grub_video_fb_set_active_render_target and
22341 grub_video_fb_get_active_render_target.
22342 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22343 (SEQUENCER_DATA_PORT): Likewise.
22344 (MAP_MASK_REGISTER): Likewise.
22345 (CRTC_ADDR_PORT): Likewise.
22346 (CRTC_DATA_PORT): Likewise.
22347 (START_ADDR_HIGH_REGISTER): Likewise.
22348 (START_ADDR_LOW_REGISTER): Likewise.
22349 (GRAPHICS_ADDR_PORT): Likewise.
22350 (GRAPHICS_DATA_PORT): Likewise.
22351 (READ_MAP_REGISTER): Likewise.
22352 (INPUT_STATUS1_REGISTER): Likewise.
22353 (INPUT_STATUS1_VERTR_BIT): Likewise.
22354 (get_map_mask): Use grub_vga_sr_read.
22355 (set_map_mask): Use grub_vga_sr_write.
22356 (set_read_map): Use grub_vga_gr_write.
22357 (set_start_address): Use grub_vga_cr_write.
22358 * video/sm712.c (framebuffer): Remove leftover fields.
22359
4321c64a
CW
223602010-06-20 Colin Watson <cjwatson@ubuntu.com>
22361
22362 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22363 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22364 instead. Replace the gfxterm backend check with a check that
22365 ${GRUB_PREFIX}/video.lst is non-empty.
22366 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22367 again.
22368 (load_video): New generated function. Call it before loading
22369 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22370 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22371 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22372 * docs/grub.texi (Simple configuration): Document
22373 GRUB_VIDEO_BACKEND.
22374
223752010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 Use video functions in linux and xnu loaders.
22378
22379 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22380 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22381 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22382 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22383 loader/i386/pc/linux.c.
22384 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22385 (find_line_len): Removed.
22386 (find_framebuf): Likewise.
22387 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22388 * loader/i386/efi/xnu.c: Removed.
22389 * loader/i386/pc/xnu.c: Moved from here...
22390 * loader/i386/xnu.c: ...here.
22391
22392 Enable priorities in video drivers.
22393
22394 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22395 (grub_video_adapter): New field prio.
22396 (grub_video_register): Respect prio when inserting.
22397 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22398 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22399 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22400 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22401 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22402 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22403 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22404
22405 Fix SDL driver ID.
22406
22407 * include/grub/video.h (grub_video_driver_id_t): New value
22408 GRUB_VIDEO_DRIVER_SDL.
22409 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22410
7d24e434
CW
224112010-06-17 Colin Watson <cjwatson@ubuntu.com>
22412
22413 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22414 argument to printf.
22415 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22416
c88a83f6
CW
224172010-06-17 Colin Watson <cjwatson@ubuntu.com>
22418
22419 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22420 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22421
094dfb69
CW
224222010-06-17 Colin Watson <cjwatson@ubuntu.com>
22423
22424 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22425 directly, and recommend grub-install instead.
22426 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22427
2164da6b
CW
224282010-06-17 Colin Watson <cjwatson@ubuntu.com>
22429
22430 Fix i386-pc prefix handling with nested partitions (Debian bug
22431 #585068). Note that the case where the core image is booted using
22432 multiboot and relocated from its original location still requires
22433 more work.
22434
22435 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22436 with "(,", fill the boot drive in between those two characters, but
22437 expect that a full partition specification including partition map
22438 names will follow.
22439 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22440 specified, write a prefix without the drive name but including a
22441 full partition specification.
22442
044e2e60
CW
224432010-06-16 Colin Watson <cjwatson@ubuntu.com>
22444
22445 * util/grub-mkconfig.in: Ignore non-option arguments, for
22446 compatibility with older versions (before 2010-06-12) which did the
22447 same. In particular, this makes it easier to ship an update-grub
22448 wrapper which is compatible with that used with GRUB Legacy (Debian
22449 bug #586056).
22450
5591324f
GS
224512010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22452
22453 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22454 for manual page generation.
22455
662e24d5
GS
224562010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22457
22458 * po/POTFILES: Remove leftover commands/handler.c.
22459
8d70754e
CW
224602010-06-14 Colin Watson <cjwatson@ubuntu.com>
22461
22462 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22463 left this script non-functional.
22464
41160e2e
CW
224652010-06-14 Colin Watson <cjwatson@ubuntu.com>
22466
22467 * docs/man/grub-emu.h2m: New file.
22468
b5309cc1
CW
224692010-06-13 Colin Watson <cjwatson@ubuntu.com>
22470
22471 * docs/grub.texi (Commands): Document reduced command set in rescue
22472 mode.
22473 (cpuid): New section.
22474
fcb2d090
GS
224752010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22476
22477 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22478 new partition naming style.
22479 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22480
96e5c556
BC
224812010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22482
22483 Add "-o grub.iso" like cmdline options support.
22484
22485 * util/grub-install.in: Improve cmdline option parsing.
22486 * util/grub-mkconfig.in: Likewise.
22487 * util/grub-mkrescue.in: Likewise.
22488 * util/grub-reboot.in: Likewise.
22489 * util/grub-set-default.in: Likewise.
22490 * util/i386/efi/grub-install.in: Likewise.
22491 * util/ieee1275/grub-install.in: Likewise.
22492 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22493
c16be99b
CW
224942010-06-12 Colin Watson <cjwatson@ubuntu.com>
22495
22496 * .bzrignore: Ignore 41_custom.
22497
ce08a9fb
TS
224982010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22499
22500 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22501
7beac90c
CW
225022010-06-12 Colin Watson <cjwatson@ubuntu.com>
22503
22504 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22505 prototype declarations.
22506
22507 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22508 generating fs, partmap, and video lists.
22509 * include/grub/fs.h (grub_fs_register): Omit prototype if
22510 GRUB_LST_GENERATOR is defined.
22511 * include/grub/partition.h (grub_partition_map_register): Likewise.
22512 * include/grub/video.h (grub_video_register): Likewise.
22513
1c8f0f8d
JM
225142010-06-12 Javier Martín <lordhabbit@gmail.com>
22515
22516 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22517
a6085973
TS
225182010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22519
22520 * util/grub-mkrescue.in: Support --xorriso argument.
22521
25c56d29
VS
225222010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22523
22524 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22525 Suggested by: Thomas Schmitt.
22526
e03e4b24
VS
225272010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22528
22529 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22530 Suggested by: Thomas Schmitt.
22531
57711df6
VS
225322010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22533
22534 custom.cfg support.
22535
22536 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22537 * util/grub.d/41_custom.in: New file.
22538
ee62c427
CW
225392010-06-12 Colin Watson <cjwatson@ubuntu.com>
22540
22541 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22542 been merged back into normal.
22543
283af07a
CW
225442010-06-11 Colin Watson <cjwatson@ubuntu.com>
22545
22546 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22547 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22548
56a0d956
CW
225492010-06-11 Colin Watson <cjwatson@ubuntu.com>
22550
22551 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22552 when generating manual pages.
22553 * docs/man/grub-bin2h.h2m: New file.
22554 * docs/man/grub-editenv.h2m: New file.
22555 * docs/man/grub-fstest.h2m: New file.
22556 * docs/man/grub-install.h2m: New file.
22557 * docs/man/grub-macho2img.h2m: New file.
22558 * docs/man/grub-mkconfig.h2m: New file.
22559 * docs/man/grub-mkdevicemap.h2m: New file.
22560 * docs/man/grub-mkfont.h2m: New file.
22561 * docs/man/grub-mkimage.h2m: New file.
22562 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22563 * docs/man/grub-mkrelpath.h2m: New file.
22564 * docs/man/grub-mkrescue.h2m: New file.
22565 * docs/man/grub-ofpathname.h2m: New file.
22566 * docs/man/grub-pe2elf.h2m: New file.
22567 * docs/man/grub-probe.h2m: New file.
22568 * docs/man/grub-reboot.h2m: New file.
22569 * docs/man/grub-script-check.h2m: New file.
22570 * docs/man/grub-set-default.h2m: New file.
22571 * docs/man/grub-setup.h2m: New file.
22572
3a37e322
VS
225732010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22574
22575 Use FOR_* macros instead of *_iterate whenever possible.
22576
22577 * commands/handler.c: Removed.
22578 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22579 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22580 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22581 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22582 (grub_probe_SOURCES): Remove kern/parser.c.
22583 (util/grub-script-check.c_DEPENDENCIES): Removed.
22584 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22585 and grub_script_check_init.c.
22586 (grub_script_check_init.lst): Removed.
22587 (grub_script_check_init.h): Likewise.
22588 (grub_script_check_init.c): Likewise.
22589 (pkglib_MODULES): Remove handler.mod and sh.mod.
22590 (handler_mod_SOURCES): Removed.
22591 (handler_mod_CFLAGS): Likewise.
22592 (handler_mod_LDFLAGS): Likewise.
22593 (normal_mod_SOURCES): Remove normal/handler.c.
22594 Add script/main.c, script/script.c, script/execute.c,
22595 script/function.c, script/lexer.c, grub_script.tab.c
22596 and grub_script.yy.c.
22597 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22598 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22599 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22600 (grub_setup_SOURCES): Remove kern/parser.c.
22601 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22602 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22603 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22604 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22605 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22606 (grub_setup_SOURCES): Remove kern/parser.c.
22607 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22608 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22609 * include/grub/command.h (grub_command_iterate): Removed.
22610 (FOR_COMMANDS): New macro.
22611 * include/grub/dl.h (grub_dl): New member next.
22612 (grub_dl_iterate): Removed.
22613 (grub_dl_head): New variable declaration.
22614 (FOR_DL_MODULES): New macro.
22615 * include/grub/fs.h: Include list.h.
22616 (grub_fs): Make next first element.
22617 (grub_fs_list): New variable declaration.
22618 (grub_fs_register): Make inline.
22619 (grub_fs_unregister): Likewise.
22620 (grub_fs_iterate): Removed.
22621 (FOR_FILESYSTEMS): New macro.
22622 * include/grub/handler.h: Removed.
22623 * include/grub/list.h (grub_list_hook_t): Removed.
22624 (grub_list_test_t): Likewise.
22625 (grub_list_pop): Likewise.
22626 (grub_list_iterate): Likewise.
22627 (grub_list_insert): Likewise.
22628 (FOR_LIST_ELEMENTS): New macro.
22629 * include/grub/parser.h (grub_parser_class): Removed.
22630 (grub_parser_register): Likewise.
22631 (grub_parser_unregister): Likewise.
22632 (grub_parser_get_current): Likewise.
22633 (grub_parser_set_current): Likewise.
22634 (grub_register_rescue_parser): Likewise.
22635 (grub_rescue_parse_line): New function.
22636 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22637 * include/grub/script_sh.h (grub_script_function_list): New variable
22638 declaration.
22639 (FOR_SCRIPT_FUNCTIONS): New macro.
22640 (grub_script_function_iterate): Removed.
22641 (grub_normal_parse_line): New prototype.
22642 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22643 (FOR_DISABLED_TERM_INPUTS): Likewise.
22644 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22645 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22646 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22647 element.
22648 (grub_video_register): Inline.
22649 (grub_video_unregister): Likewise.
22650 (grub_video_adapter_list): New variable declaration.
22651 (grub_video_iterate): Removed.
22652 (FOR_VIDEO_ADAPTERS): New macro.
22653 * kern/dl.c (grub_dl_list): Removed. All users updated.
22654 (grub_dl_iterate): Removed.
22655 * kern/fs.c (grub_fs_list): Make global.
22656 (grub_fs_register): Removed.
22657 (grub_fs_unregister): Likewise.
22658 (grub_fs_iterate): Likewise.
22659 * kern/handler.c: Removed.
22660 * kern/list.c (grub_list_pop): Removed.
22661 (grub_list_iterate): Likewise.
22662 (grub_list_insert): Likewise.
22663 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22664 (grub_prio_list_insert): Don't use grub_list_insert.
22665 * kern/main.c (grub_register_rescue_parser): Don't call
22666 grub_register_rescue_parser.
22667 * kern/parser.c (grub_parser_class): Removed.
22668 (grub_parser_execute): Use grub_rescue_parse_line.
22669 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22670 (grub_rescue_parser): Removed.
22671 (grub_register_rescue_parser): Likewise.
22672 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22673 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22674 (grub_auth_check_authentication): Likewise.
22675 * normal/completion.c (iterate_command): Removed.
22676 (grub_normal_do_completion): Use FOR_COMMANDS.
22677 * normal/handler.c: Removed.
22678 * normal/main.c (read_config_file): Remove parser changing.
22679 (grub_normal_execute): Don't call read_handler_list.
22680 (grub_normal_read_line_real): Statically allocate prompt.
22681 (grub_cmdline_run): Use grub_normal_parse_line.
22682 (GRUB_MOD_FINI): Don't call free_handler_list.
22683 * normal/menu_entry.c (run): Likewise.
22684 * script/function.c (grub_script_function_list): Make global.
22685 (grub_script_function_iterate): Removed.
22686 * script/main.c (grub_normal_parse_line): Make global.
22687 (grub_sh_parser): Removed.
22688 (GRUB_MOD_INIT): Likewise.
22689 (GRUB_MOD_FINI): Likewise.
22690 * tests/lib/functional_test.c (grub_functional_test): Use
22691 FOR_LIST_ELEMENTS.
22692 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22693 (grub_test_run): Use FOR_LIST_ELEMENTS.
22694 * tests/lib/unit_test.c (main): Likewise.
22695 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22696 grub_list_pop.
22697 * util/grub-fstest.c (grub_term_input_class): Removed.
22698 (grub_term_output_class): Likewise.
22699 * util/grub-probe.c: Likewise.
22700 * util/i386/pc/grub-setup.c: Likewise.
22701 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22702 * util/grub-script-check.c (main): Don't call grub_init_all and
22703 grub_fini_all.
22704 * video/video.c (grub_video_adapter_list): Make global.
22705 (grub_video_register): Removed.
22706 (grub_video_unregister): Likewise.
22707 (grub_video_iterate): Likewise.
22708
6289c3a7
VS
227092010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22710
22711 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22712 reported by Henrique Ferreiro.
22713
91460247
RM
227142010-06-09 Robert Millan <rmh@gnu.org>
22715
22716 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22717 ones, when both are available.
22718
0ea7c4f9
GS
227192010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22720
22721 Make --version uniform and avoid hard-coded program name.
22722
22723 * util/grub-mkimage.c (main): Use `program_name' instead of
22724 hard-coded string.
22725 * util/i386/pc/grub-setup.c (main): Likewise.
22726 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22727 * util/grub-install.in: Save the basename of $0 in $self, and use the
22728 latter in informational messages. Use the same format for --version
22729 as the binary programs.
22730 * util/grub-mkconfig.in: Likewise.
22731 * util/grub-mkrescue.in: Likewise.
22732 * util/grub-reboot.in: Likewise.
22733 * util/grub-set-default.in: Likewise.
22734 * util/i386/efi/grub-install.in: Likewise.
22735 * util/ieee1275/grub-install.in: Likewise.
22736 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22737
e8a6f3b6
GS
227382010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22739
22740 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22741 embedding area. Use <= instead of == when checking for non-emptiness.
22742
f4d095d7
GS
227432010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22744
22745 * configure.ac: Add `.' to the directories searched for unifont.
22746
50e532ca
CW
227472010-06-08 Colin Watson <cjwatson@ubuntu.com>
22748
22749 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22750 grub_script.yy.h.
22751
d39f3dec
CW
227522010-06-08 Colin Watson <cjwatson@ubuntu.com>
22753
22754 * docs/grub.texi (History): Expand to cover GRUB 2.
22755 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22756 commands, not `terminal'.
22757 (serial): Likewise.
22758 (terminal_input): New section.
22759 (terminal_output): New section.
22760 (uppermem): New section (stub).
22761 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22762
6ef0ddb4
CW
227632010-06-08 Colin Watson <cjwatson@ubuntu.com>
22764
22765 * docs/grub.texi (Security): Menu entries are unrestricted by
22766 default, not restricted to superusers as I had previously thought.
22767 Reword to account for this.
22768
e0f4c438
CW
227692010-06-07 Colin Watson <cjwatson@ubuntu.com>
22770
22771 * kern/emu/misc.c (device_mapper_null_log): New function.
22772 (grub_device_mapper_supported): New function.
22773 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22774 prototype.
22775 * kern/emu/hostdisk.c (find_partition_start): Check whether
22776 device-mapper is supported before trying to use it.
22777 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22778
da908200
CW
227792010-06-07 Colin Watson <cjwatson@ubuntu.com>
22780
22781 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22782 (File name syntax): Likewise.
22783 (help): --all is no longer supported in GRUB 2. Be more precise
22784 about pattern matching.
22785
fb55c3ac
CW
227862010-06-07 Colin Watson <cjwatson@ubuntu.com>
22787
22788 * normal/completion.c (grub_normal_do_completion): When completing
22789 arguments to "set" and the current word contains an equals sign,
22790 skip to after the equals sign before starting completion.
22791
258c2573
CW
227922010-06-07 Colin Watson <cjwatson@ubuntu.com>
22793
22794 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22795
ee75515e
CW
227962010-06-07 Colin Watson <cjwatson@ubuntu.com>
22797
22798 * docs/grub.texi (Network): New section.
22799 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22800 `(nd)' as in GRUB Legacy.
22801 (pxe_unload): New section.
22802
a6a700aa
CW
228032010-06-07 Colin Watson <cjwatson@ubuntu.com>
22804
22805 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22806 in the rescue shell, so recommend using `set' instead. Thanks,
22807 Jordan Uggla.
22808
4003dd38
CW
228092010-06-07 Colin Watson <cjwatson@ubuntu.com>
22810
22811 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22812 (password): New section.
22813 (password_pbkdf2): New section.
22814 (search): New section.
22815 (Security): New section.
22816 (Troubleshooting): New section, currently very incomplete.
22817 (Invoking grub-mkpasswd-pbkdf2): New section.
22818 (Internals): New section, currently very incomplete.
22819
e1cbcc40
CW
228202010-06-07 Colin Watson <cjwatson@ubuntu.com>
22821
22822 * util/grub.d/00_header.in: Add some more quoting (of
22823 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22824 work again.
22825 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22826
db8fa1ad
CW
228272010-06-07 Colin Watson <cjwatson@ubuntu.com>
22828
22829 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22830 to `count', fixing variable shadowing that broke the -c option.
22831
228322010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22833
22834 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22835 in case they contain spaces.
22836
f28a9212
CW
228372010-06-04 Colin Watson <cjwatson@ubuntu.com>
22838
22839 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22840 "part_" to partmap module names, in line with grub-install.
22841 Reported by: Jindřich Makovička (Debian bug #584426).
22842
9cdfe32f
CW
228432010-06-04 Colin Watson <cjwatson@ubuntu.com>
22844
22845 * util/grub-mkimage.c: Make target-related error messages slightly
22846 more helpful; -O talks about "format". Explicitly point to the use
22847 of -O if no target is specified.
22848 Reported by: Didier Raboud (Debian bug #584415).
22849
795b593a
CW
228502010-06-03 Colin Watson <cjwatson@ubuntu.com>
22851
22852 * INSTALL: Document several build requirements for optional features
22853 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22854
9d9b5833
GS
228552010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22856
22857 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22858 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22859 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22860
0819fec8
CW
228612010-06-02 Colin Watson <cjwatson@ubuntu.com>
22862
22863 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22864 Thanks to Jordan Uggla for spotting this.
22865
49396b4f
VS
228662010-06-02 Aleš Nesrsta <starous@volny.cz>
22867
22868 Finally make USB usable.
22869
22870 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22871 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22872 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22873 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22874 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22875 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22876 (GRUB_OHCI_FSMPS): Likewise.
22877 (GRUB_OHCI_PERIODIC_START): Likewise.
22878 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22879 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22880 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22881 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22882 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22883 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22884 (grub_ohci_transaction): Likewise.
22885 (grub_ohci_transfer): Improve condition detection algorithms.
22886 Handle toggle property. Program the transactions correctly.
22887 Improve error handling. Various important fixups.
22888 (grub_ohci_portstatus): Put register writes in right order.
22889 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22890 (grub_uhci_transfer): Don't show "failed" message on success.
22891 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22892 array.
22893 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22894 determine its size.
22895 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22896 before initialization is completed. Use IN direction for empty
22897 transfers. Use last_trans and compute toggle.
22898 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22899 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22900 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22901 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22902 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22903 (grub_usb_device): Increase toggle to 256.
22904 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22905 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22906 GRUB_USBMS_SUBCLASS_SFF8070.
22907 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22908 (grub_scsi_inquiry): New member page and alloc_length.
22909 (grub_scsi_request_sense): New structure.
22910 (grub_scsi_request_sense_data): Likewise.
22911 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22912 control.
22913 * disk/scsi.c (grub_scsi_request_sense): New function.
22914 (grub_scsi_test_unit_ready): Likewise.
22915 (grub_scsi_inquiry): Fill new fields.
22916 (grub_scsi_read_capacity): Likewise.
22917 (grub_scsi_read10): Add request sense at the end.
22918 (grub_scsi_read12): Likewise.
22919 (grub_scsi_write10): Likewise.
22920 (grub_scsi_write12): Likewise.
22921 (grub_scsi_open): Add Test Unit Ready.
22922 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22923 Support additional subclasses. Con't clear halt yet. Activate the
22924 proper config. Calculate LUNs correctly.
22925 (grub_usbms_transfer): Various important fixups.
22926
229272010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22928
22929 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22930 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22931 (grub_ohci_fini_hw): New function.
22932 (grub_ohci_restore_hw): Likewise.
22933 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22934 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22935 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22936
229372010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22938
22939 Dedicated DMA allocations.
22940
22941 * bus/pci.c (grub_memalign_dma32): New function
22942 (grub_dma_free): Likewise.
22943 (grub_dma_get_virt): Likewise.
22944 (grub_dma_get_phys): Likewise.
22945 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22946 (grub_ohci_pci_iter): Use dma32_alloc.
22947 (grub_ohci_transfer): Likewise.
22948 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22949 (grub_usb_bulk_readwrite): Likewise.
22950 * include/grub/pci.h: Add declarations.
22951
229522010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22953
22954 CS5536 support.
22955
22956 * bus/cs5536.c: New file.
22957 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22958 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22959 (cs5536_mod_SOURCES): New variable.
22960 (cs5536_mod_CFLAGS): Likewise.
22961 (cs5536_mod_LDFLAGS): Likewise.
22962 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22963 machine/pci.h.
22964 (kernel_img_SOURCES): Add bus/cs5536.c.
22965 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22966 usb_keyboard.mod.
22967 (usb_mod_SOURCES): New variable.
22968 (usb_mod_CFLAGS): New variable.
22969 (usb_mod_LDFLAGS): New variable.
22970 (usbtest_mod_SOURCES): New variable.
22971 (usbtest_mod_CFLAGS): New variable.
22972 (usbtest_mod_LDFLAGS): New variable.
22973 (ohci_mod_SOURCES): New variable.
22974 (ohci_mod_CFLAGS): New variable.
22975 (ohci_mod_LDFLAGS): New variable.
22976 (usbms_mod_SOURCES): New variable.
22977 (usbms_mod_CFLAGS): New variable.
22978 (usbms_mod_LDFLAGS): New variable.
22979 (usb_keyboard_mod_SOURCES): New variable.
22980 (usb_keyboard_mod_CFLAGS): New variable.
22981 (usb_keyboard_mod_LDFLAGS): New variable.
22982 * include/grub/smbus.h: New file.
22983 * include/grub/cs5536.h: New file.
22984
0b35b2a9
CW
229852010-06-02 Colin Watson <cjwatson@ubuntu.com>
22986
22987 * util/grub.d/00_header.in: Add safety check to make sure that
22988 ${locale_dir} exists before trying to probe it.
22989
ca0afd5b
CW
229902010-06-02 Colin Watson <cjwatson@ubuntu.com>
22991
22992 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22993 per the GNU Coding Standards; this is now too obscure to be worth
22994 documenting.
22995 (QNX): Likewise.
22996 (chainloader): Remove cross-reference to `SCO UnixWare'.
22997
1c41aa78
CW
229982010-06-02 Colin Watson <cjwatson@ubuntu.com>
22999
23000 * docs/grub.texi (Chain-loading): New section.
23001 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23002 adjusted for GRUB 2.
23003 (SCO UnixWare): Likewise.
23004 (QNX): Likewise.
23005 (chainloader): Add reference to `Block list syntax'.
23006 (drivemap): New section.
23007 (parttool): New section.
23008
bb8ea0f5
CW
230092010-06-02 Colin Watson <cjwatson@ubuntu.com>
23010
23011 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23012 the grub shell'.
23013 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23014 (Installing GRUB using grub-install): Remove reference to the grub
23015 shell; mention `grub-mkimage' and `grub-setup' instead.
23016 (Invoking grub-install): Likewise.
23017 (Interface): Add reference to `Menu entry editor'.
23018 (serial): Remove `--device' option.
23019
288dd6ed
CW
230202010-06-02 Colin Watson <cjwatson@ubuntu.com>
23021
23022 * docs/grub.texi (Configuration): New section, documenting
23023 configuration file generation using grub-mkconfig. I've left a slot
23024 for documenting the full shell scripting format but have not yet
23025 started on writing that up.
23026 (Invoking grub-mkconfig): New section.
23027
34c9f0e9
CW
230282010-06-02 Colin Watson <cjwatson@ubuntu.com>
23029
23030 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23031 (GNU GRUB manual): Likewise.
23032 (General commands): Update description of `terminfo' for GRUB 2.
23033
9121567e
CW
230342010-06-02 Colin Watson <cjwatson@ubuntu.com>
23035
23036 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23037 (GRUB_MOD_INIT): Fix capitalisation.
23038 * docs/grub.texi (Command-line and menu entry commands): Document
23039 gettext and gptsync commands.
23040
ab631611
CW
230412010-06-02 Colin Watson <cjwatson@ubuntu.com>
23042
23043 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23044 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23045
bde4a9ac
CW
230462010-06-01 Colin Watson <cjwatson@ubuntu.com>
23047
23048 Add btrfs probing support, currently only in the single-device case.
23049
23050 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23051 function.
23052 (grub_guess_root_device): Call find_root_device_from_mountinfo
23053 before looking in /dev.
23054
b1d17e10
VS
230552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23056
23057 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23058 GRUB_DISK_SIZE_UNKNOWN.
23059 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23060
dfbfe004
JS
230612010-05-31 Jiro SEKIBA <jir@unicus.jp>
23062
23063 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23064 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23065 corrupted or not synced properly.
23066
c2ffc8e9
VS
230672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23068
23069 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23070 Reported by: Seth Goldberg.
23071
56293166
VS
230722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23073
23074 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23075 addition of dest.
23076 Reported by: Seth Goldberg.
23077
7620e7de
VS
230782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23079
23080 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23081 Reported by: Seth Goldberg.
23082
c837af3f
VS
230832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23084
23085 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23086 64-bit address as signed on MIPS.
23087
c7c75cf4
CW
230882010-05-28 Colin Watson <cjwatson@ubuntu.com>
23089
23090 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23091 to the empty string.
23092
fa4b8490
BC
230932010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23094
23095 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23096
23097 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23098 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23099 * kern/misc.c (__enable_execute_stack): Disable on
23100 GRUB_MACHINE_EMU.
23101
a33075b9
CW
231022010-05-28 Colin Watson <cjwatson@ubuntu.com>
23103
23104 Make grub-probe work with symbolic links under /dev/mapper as well
23105 as with real block devices. The Linux world seems to be (at best)
23106 in transition here, and GRUB shouldn't get caught in the middle.
23107
23108 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23109 /dev/mapper.
23110
d8708134
CW
231112010-05-27 Colin Watson <cjwatson@ubuntu.com>
23112
23113 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23114 input files (in which case exit zero).
23115
db2102a0
CW
231162010-05-27 Colin Watson <cjwatson@ubuntu.com>
23117
23118 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23119 return NULL for various reasons even if it has a maximum-length
23120 buffer: for example, there might be a symlink loop, or the path
23121 might exceed PATH_MAX. If this happens, return NULL.
23122
5fdba519
RM
231232010-05-27 Robert Millan <rmh@gnu.org>
23124
23125 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23126 partmap module to handle cross-partmap setups.
23127 Reported by Orestes Mas. Gràcies!
23128
d1d368e4
CW
231292010-05-27 Colin Watson <cjwatson@ubuntu.com>
23130
23131 * util/grub-mkrescue.in: Initialise override_dir rather than
23132 assuming that it's unset or empty in the environment.
23133
95ac3c73
GS
231342010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23135
23136 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23137 variable index into p_index to suppress a warning with -Wshadow.
23138
7d8c0213
BC
231392010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23140
23141 * INSTALL: Added flex >= 2.5.35 requirement.
23142
db4d5813
VS
231432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23146
f24f4300
VS
231472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23148
23149 cmostest support.
23150
23151 * commands/i386/cmostest.c: New file.
23152 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23153 (cmostest_mod_SOURCES): New variable.
23154 (cmostest_mod_CFLAGS): Likewise.
23155 (cmostest_mod_LDFLAGS): Likewise.
23156 * conf/i386-pc.rmk: Likewise.
23157 * docs/grub.texi (Vendor power-on keys): New section.
23158 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23159 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23160 and GRUB_BUTTON_CMOS_ADDRESS.
23161 * util/grub.d/00_header.in: Handle powering-on by separate button.
23162
ad603f61
VS
231632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23164
23165 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23166 Removed drawing_scrollbar argument. All users updated
23167 Fixes #29792.
23168 Reported by Jo Shields
23169
3ecb080a
VS
231702010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23171
23172 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23173 buffer since gfxterm handles double repaint.
23174
5f2316c1
VS
231752010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23176
23177 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23178 * term/gfxterm.c (real_scroll): Likewise.
23179
9a25f885
VS
231802010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23181
23182 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23183 before calling BIOS.
23184
39fbb79a
VS
231852010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23186
23187 * include/grub/i18n.h: Always enable grub_gettext.
23188
228cfa97
VS
231892010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23190
23191 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23192 partition naming style.
23193
21717c8f
CW
231942010-05-21 Colin Watson <cjwatson@ubuntu.com>
23195
23196 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23197 not the first option.
23198
c0f48e65
CW
231992010-05-20 Colin Watson <cjwatson@ubuntu.com>
23200
23201 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23202
96779aec
CW
232032010-05-20 Colin Watson <cjwatson@ubuntu.com>
23204
23205 * util/misc.c: Move inclusion of <limits.h> to ...
23206 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23207
fa9d256e
GS
232082010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23209
23210 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23211 Fix merge error in NetBSD code.
23212 (find_partition_start) [__NetBSD__]: Likewise.
23213
123b7a85
BC
232142010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23215
23216 Fix grub-mkrescue usage unit testing.
23217
23218 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23219
74276c0d
CF
232202010-05-18 Christian Franke <franke@computer.org>
23221
23222 * util/grub.d/10_windows.in: Use path names instead of
23223 drive letters to prevent warning from Cygwin 1.7.
23224 Add drivemap command to menuentry if needed.
23225
c4f7b523
ST
232262010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23227
23228 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23229 gnumach and gnumach.gz.
23230
95b97950
VS
232312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 * include/grub/i18n.h (gettext): Inline instead of using #define.
23234 (grub_gettext): Likewise.
23235 (_): Likewise.
23236
01b8d2d7
VS
232372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23240 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23241 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23242 (main): Add a slash after pkglibdirroot.
23243
654e1d1e
VS
232442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23245
23246 * util/grub-install.in: Add missing "in" keyword.
23247
26966aeb
VS
232482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23249
23250 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23251 Reported by: Seth Goldberg.
23252
75006747
VS
232532010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23254
23255 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23256
74cbf5bd
CW
232572010-05-18 Colin Watson <cjwatson@ubuntu.com>
23258
23259 * configure.ac: Check for Linux device-mapper support.
23260
23261 * util/hostdisk.c (device_is_mapped): New function.
23262 (find_partition_start): New function, partly broken out from
23263 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23264 device-mapper support added.
23265 (linux_find_partition): Use find_partition_start.
23266 (convert_system_partition_to_system_disk): Add `st' argument.
23267 Support Linux /dev/mapper/* devices if device-mapper support is
23268 available; only DM-RAID devices are understood at present.
23269 (find_system_device): Add `st' argument. Pass it to
23270 convert_system_partition_to_system_disk.
23271 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23272 find_system_device and convert_system_partition_to_system_disk. Use
23273 find_partition_start.
23274
23275 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23276 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23277 * util/deviceiter.c [__linux__]: Define MINOR.
23278 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23279 * util/mkdevicemap.c (grub_putchar): New function.
23280 (grub_getkey): New function.
23281 (grub_refresh): New function.
23282 (main): Set debug=all if -v -v is used.
23283
355b51e9
CW
232842010-05-18 Colin Watson <cjwatson@ubuntu.com>
23285
23286 Fix build with non-GNU libcs.
23287
23288 * util/misc.c (canonicalize_file_name): Move to ...
23289 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23290 grub_make_system_path_relative_to_its_root.
23291
7fb5c25f
CW
232922010-05-18 Colin Watson <cjwatson@ubuntu.com>
23293
23294 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23295 we handle finding grub-mkimage. Default to finding grub-mkimage in
23296 ${bindir} with program_transform_name applied, and provide a
23297 --grub-mkimage option to override this.
23298
1d3293d6
VS
232992010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 Remove grub-mkisofs.
23302
23303 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23304 (grub_mkisofs_SOURCES): Removed.
23305 (grub_mkisofs_CFLAGS): Removed.
23306 * util/mkisofs/defaults.h: Removed.
23307 * util/mkisofs/eltorito.c: Likewise.
23308 * util/mkisofs/exclude.h: Likewise.
23309 * util/mkisofs/hash.c: Likewise.
23310 * util/mkisofs/include/: Likewise.
23311 * util/mkisofs/include/fctldefs.h: Likewise.
23312 * util/mkisofs/include/mconfig.h: Likewise.
23313 * util/mkisofs/include/prototyp.h: Likewise.
23314 * util/mkisofs/include/statdefs.h: Likewise.
23315 * util/mkisofs/iso9660.h: Likewise.
23316 * util/mkisofs/joliet.c: Likewise.
23317 * util/mkisofs/match.c: Likewise.
23318 * util/mkisofs/match.h: Likewise.
23319 * util/mkisofs/mkisofs.c: Likewise.
23320 * util/mkisofs/mkisofs.h: Likewise.
23321 * util/mkisofs/msdos_partition.h: Likewise.
23322 * util/mkisofs/multi.c: Likewise.
23323 * util/mkisofs/name.c: Likewise.
23324 * util/mkisofs/rock.c: Likewise.
23325 * util/mkisofs/tree.c: Likewise.
23326 * util/mkisofs/write.c: Likewise.
23327
5dde9afe
VS
233282010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23329
23330 Unify grub-mkimage accross platforms.
23331
23332 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23333 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23334 (grub_mkelfimage_SOURCES): Removed.
23335 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23336 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23337 (bin_UTILITIES): Add grub-mkimage.
23338 (grub_mkimage_SOURCES): New variable.
23339 (kernel_img_HEADERS): Remove machine/kernel.h.
23340 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23341 (pkglib_PROGRAMS): Add kernel.img.
23342 (kernel_img_HEADERS): Add machine/kernel.h.
23343 (kernel_img_FORMAT): Removed.
23344 (bin_UTILITIES): Remove grub-mkimage.
23345 (grub_mkimage_SOURCES): Removed.
23346 (grub_mkimage_CFLAGS): Likewise.
23347 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23348 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23349 (pkglib_PROGRAMS): Add kernel.img.
23350 (bin_UTILITIES): Remove grub-mkimage.
23351 (grub_mkimage_SOURCES): Removed.
23352 (grub_mkimage_CFLAGS): Likewise.
23353 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23354 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23355 (pkglib_PROGRAMS): Add kernel.img.
23356 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23357 (pkglib_PROGRAMS): Add kernel.img.
23358 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23359 (grub_mkimage_SOURCES): Removed.
23360 (grub_mkimage_CFLAGS): Likewise.
23361 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23362 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23363 (pkglib_PROGRAMS): Add kernel.img.
23364 (bin_UTILITIES): Remove grub-mkimage.
23365 (grub_mkimage_SOURCES): Removed.
23366 (grub_mkimage_CFLAGS): Likewise.
23367 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23368 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23369 (grub_mkimage_SOURCES): Removed.
23370 (grub_mkimage_CFLAGS): Likewise.
23371 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23372 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23373 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23374 (grub_pe32_optional_header): ... this.
23375 (grub_pe64_optional_header): ... and this. All users updated.
23376 (GRUB_PE32_PE32_MAGIC): Split into ..
23377 (GRUB_PE32_PE32_MAGIC): .. this.
23378 (GRUB_PE32_PE64_MAGIC): .. and this.
23379 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23380 * include/grub/elf.h (PT_GNU_STACK): New definition.
23381 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23382 * include/grub/i386/efi/kernel.h: Likewise.
23383 * include/grub/i386/kernel.h: Likewise.
23384 * include/grub/i386/pc/kernel.h: Likewise.
23385 * include/grub/i386/qemu/boot.h: Likewise.
23386 * include/grub/mips/kernel.h: Likewise.
23387 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23388 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23389 * include/grub/powerpc/kernel.h: Likewise.
23390 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23391 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23392 * include/grub/sparc64/kernel.h: Likewise.
23393 * include/grub/x86_64/efi/kernel.h: Likewise.
23394 * include/grub/x86_64/kernel.h: Likewise.
23395 * include/grub/offsets.h: New file.
23396 * include/grub/kernel.h (grub_module_info): Split into ...
23397 (grub_module_info32): ... this.
23398 (grub_module_info64): ... and this.
23399 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23400 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23401 (grub_boot_blocklist): Moved from here ...
23402 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23403 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23404 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23405 * include/grub/types.h (grub_target_to_host16): Removed.
23406 (grub_target_to_host32): Likewise.
23407 (grub_target_to_host64): Likewise.
23408 (grub_host_to_target16): Likewise.
23409 (grub_host_to_target32): Likewise.
23410 (grub_host_to_target64): Likewise.
23411 (grub_host_to_target_addr): Likewise.
23412
23413 Support grub-mkrescue for efi, coreboot and qemu.
23414
23415 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23416 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23417 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23418 * util/grub-mkrawimage.c: Moved from here ...
23419 * util/grub-mkimage.c: ... here. All users updated.
23420 (ALIGN_ADDR): Use image_target.
23421 (TARGET_NO_FIELD): New const.
23422 (image_target_desc): New type.
23423 (image_targets): New array.
23424 (grub_target_to_host64): Use image_target.
23425 (grub_target_to_host32): Likewise.
23426 (grub_target_to_host16): Likewise.
23427 (grub_host_to_target64): Likewise.
23428 (grub_host_to_target32): Likewise.
23429 (grub_host_to_target16): Likewise.
23430 (grub_host_to_target_addr): Likewise.
23431 (generate_image): Handle multiimage.
23432 (main): Require -O parameter. All users updated.
23433 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23434 util/efi/grub-mkimage.c
23435 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23436 New option --rom-directory.
23437 Use xorriso.
23438 * util/i386/efi/grub-mkimage.c: Removed.
23439 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23440 (grub_target_to_host32): Likewise.
23441 (grub_target_to_host64): Likewise.
23442 (grub_host_to_target16): Likewise.
23443 (grub_host_to_target32): Likewise.
23444 (grub_host_to_target64): Likewise.
23445 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23446 (grub_target_to_host32): Likewise.
23447 (grub_target_to_host64): Likewise.
23448 (grub_host_to_target16): Likewise.
23449 (grub_host_to_target32): Likewise.
23450 (grub_host_to_target64): Likewise.
23451
f4fc97d0
BC
234522010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23453
23454 Source tree is reorganized for emu build.
23455
23456 * include/grub/util/console.h: Move from here...
23457 * include/grub/emu/console.h: ...to here.
23458 * include/grub/util/getroot.h: Move from here...
23459 * include/grub/emu/getroot.h: ...to here.
23460 * include/grub/util/hostdisk.h: Move from here...
23461 * include/grub/emu/hostdisk.h: ...to here.
23462 * util/console.c: Move from here...
23463 * kern/emu/console.c: ...to here.
23464 * util/getroot.c: Move from here...
23465 * kern/emu/getroot.c: ...to here.
23466 * util/grub-emu.c: Move from here...
23467 * kern/emu/main.c: ...to here.
23468 * util/hostdisk.c: Move from here...
23469 * kern/emu/hostdisk.c: ...to here.
23470 * util/hostfs.c: Move from here...
23471 * kern/emu/hostfs.c: ...to here.
23472 * util/mm.c: Move from here...
23473 * kern/emu/mm.c: ...to here.
23474 * util/pci.c: Move from here...
23475 * bus/emu/pci.c: ...to here.
23476 * util/sdl.c: Move from here...
23477 * video/emu/sdl.c: ...to here.
23478 * util/time.c: Move from here...
23479 * kern/emu/time.c: ...to here.
23480 * util/usb.c: Move from here...
23481 * bus/usb/emu/usb.c: ...to here.
23482
23483 * include/grub/emu/misc.h: New header for grub-emu functions.
23484 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23485
23486 * conf/any-emu.rmk: Rule updates for above renames.
23487 * conf/common.rmk: Likewise.
23488 * conf/i386-pc.rmk: Likewise.
23489 * conf/i386-qemu.rmk: Likewise.
23490 * conf/mips.rmk: Likewise.
23491 * conf/sparc64-ieee1275.rmk: Likewise.
23492 * conf/x86-efi.rmk: Likewise.
23493
23494 * disk/lvm.h: #include updates for above renames.
23495 * util/grub-mkrelpath.c: Likewise.
23496 * util/grub-probe.c: Likewise.
23497 * util/i386/pc/grub-setup.c: Likewise.
23498 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23499 * kern/emu/console.c: Likewise.
23500 * kern/emu/getroot.c: Likewise.
23501 * kern/emu/hostdisk.c: Likewise.
23502 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23503
23504 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23505 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23506 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23507 * util/misc.c: Remove grub-emu functions.
23508
cced9145
VS
235092010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23510
23511 Fix gfxmenu crash.
23512 Reported by: Thorsten Grützmacher.
23513
23514 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23515 timeout hook.
23516 (circprog_set_property): Register and unregister timeout hook.
23517 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23518 (label_destroy): Free template. and unregister hook.
23519 (label_set_state): New function.
23520 (label_set_property): Handle templates and hooks.
23521 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23522 timeout hook.
23523 (progress_bar_set_property): Register and unregister timeout hook.
23524 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23525 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23526 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23527 (update_timeout_visit): Removed.
23528 (update_timeouts): New function.
23529 (redraw_timeouts): Likewise.
23530 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23531 (grub_gfxmenu_clear_timeout): Likewise.
23532 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23533 (grub_gfxmenu_timeout_notify): Likewise.
23534 (grub_gfxmenu_timeout_notifications): New external variable.
23535 (grub_gfxmenu_timeout_register): New function.
23536 (grub_gfxmenu_timeout_unregister): Likewise.
23537
c6e5caab
VS
235382010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23539
23540 Transform (broken) vga terminal into (working) vga video driver.
23541
23542 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23543 video/i386/pc/vga.c.
23544 * include/grub/video.h (grub_video_driver_id):
23545 Add GRUB_VIDEO_DRIVER_VGA.
23546 * term/i386/pc/vga.c: Renamed to ...
23547 * video/i386/pc/vga.c: ...this
23548 (DEBUG_VGA): Removed.
23549 (CHAR_WIDTH): Likewise.
23550 (CHAR_HEIGHT): Likewise.
23551 (TEXT_WIDTH): Likewise.
23552 (TEXT_HEIGHT): Likewise.
23553 (DEFAULT_FG_COLOR): Likewise.
23554 (DEFAULT_BG_COLOR): Likewise.
23555 (colored_char): Likewise.
23556 (xpos): Likewise.
23557 (ypos): Likewise.
23558 (cursor_state): Likewise.
23559 (fg_color): Likewise.
23560 (bg_color): Likewise.
23561 (text_buf): Likewise.
23562 (page): Likewise.
23563 (font): Likewise.
23564 (framebuffer): New variable.
23565 (set_read_map): Disabled.
23566 (setup): New variable.
23567 (is_target): Likewise.
23568 (grub_vga_mod_init): Likewise.
23569 (grub_vga_mod_fini): Likewise.
23570 (check_vga_mem): Likewise.
23571 (write_char): Likewise.
23572 (write_cursor): Likewise.
23573 (scroll_up): Likewise.
23574 (grub_vga_putchar): Likewise.
23575 (grub_vga_getcharwidth): Likewise.
23576 (grub_vga_getwh): Likewise.
23577 (grub_vga_getxy): Likewise.
23578 (grub_vga_gotoxy): Likewise.
23579 (grub_vga_cls): Likewise.
23580 (grub_vga_setcolorstate): Likewise.
23581 (grub_vga_setcursor): Likewise.
23582 (grub_video_vga_init): New function.
23583 (grub_video_vga_setup): Likewise.
23584 (grub_video_vga_fini): Likewise.
23585 (update_target): Likewise.
23586 (grub_video_vga_blit_bitmap): Likewise.
23587 (grub_video_vga_blit_render_target): Likewise.
23588 (grub_video_vga_set_active_render_target): Likewise.
23589 (grub_video_vga_get_active_render_target): Likewise.
23590 (grub_video_vga_swap_buffers): Likewise.
23591 (grub_video_vga_set_palette): Likewise.
23592 (grub_video_vga_get_info_and_fini): Likewise.
23593 (grub_vga_term): Removed.
23594 (grub_video_vga_adapter): New variable.
23595 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23596 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23597
2bf61a98
VS
235982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23599
23600 * video/readers/jpeg.c: Indented.
23601
09ddcd11
VS
236022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23603
23604 Various jpeg cleanups.
23605
23606 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23607 (grub_jpeg_decode_quan_table): Use sizeof.
23608 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23609
e5507505
PH
236102010-05-05 Peter Hurley <No e-mail available> (tiny change)
23611
23612 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23613 tables. Ignore non-last ac bit.
23614 (grub_jpeg_decode_quan_table): Likewise.
23615
7e720a9b
VS
236162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23617
23618 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23619 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23620 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23621 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23622 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23623 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23624
a7fc080b
VS
236252010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23628 error.
23629
2bf6012d
VS
236302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23631
23632 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23633
265d68cd
VS
236342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23635
23636 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23637 condition.
23638
236392010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
23640
23641 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23642 part.
23643
265d68cd 236442010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
23645
23646 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23647 pointers.
23648
265d68cd 236492010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
23650
23651 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23652
d1b61374
CF
236532010-05-01 Christian Franke <franke@computer.org>
23654
23655 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23656 Remove broken Cygwin path conversion.
23657 * util/misc.c: [__CYGWIN__] Add include and define.
23658 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23659 for Cygwin 1.7.
23660 (make_system_path_relative_to_its_root): Simplify loop, replace early
23661 return by break.
23662 [__CYGWIN__] Add conversion to win32 path.
23663 Include "/" case in trailing slash removal.
23664
3558c6e9
VS
236652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23666
23667 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23668 Reported by: Seth Goldberg
23669
f5f3ff93
VS
236702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23671
23672 * commands/help.c (grub_cmd_help): Fix a typo.
23673 Reported by: Seth Goldberg
23674
d8b5cd40
VS
236752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23676
23677 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23678 name and add N_.
23679 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23680 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23681 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23682 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23683 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23684 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23685 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23686 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23687 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23688 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23689 * normal/context.c (GRUB_MOD_INIT): Likewise.
23690 * normal/main.c (GRUB_MOD_INIT): Likewise.
23691 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23692 * term/serial.c (GRUB_MOD_INIT): Likewise.
23693 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23694
88c14915
VS
236952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23696
23697 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23698 extra == 0.
23699
165134bc
VS
237002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23701
23702 * commands/iorw.c: New file.
23703 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23704 (iorw_mod_SOURCES): New variable.
23705 (iorw_mod_CFLAGS): Likewise.
23706 (iorw_mod_LDFLAGS): Likewise.
23707
c5ac9b32
VS
237082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23709
23710 Hotkey support
23711
23712 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23713 * normal/main.c (hotkey_aliases): New variable.
23714 (grub_normal_add_menu_entry): Parse "--hotkey".
23715 * normal/menu_text.c (run_menu): Handle hotkeys.
23716
ce60689c
VS
237172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23718
23719 * kern/i386/coreboot/init.c (grub_machine_init): Call
23720 grub_machine_mmap_init on qemu.
23721
0359d006
VS
237222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23723
23724 * boot/i386/qemu/boot.S: Add a missing .code16.
23725
7819a456
VS
237262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23727
23728 Use LBIO on coreboot.
23729
23730 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23731 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23732 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23733 New declaration.
23734 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23735 grub_machine_mmap_init on coreboot.
23736 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23737 GRUB_LINUXBIOS_MEMBER_LINK.
23738 (grub_machine_mmap_iterate): Fix declaration.
23739 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23740
7210dca9
VS
237412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23742
23743 Split coreboot and multiboot ports.
23744
23745 * conf/i386-multiboot.rmk: New file.
23746 * configure.ac: Add multiboot port.
23747 * include/grub/i386/multiboot/boot.h: New file.
23748 * include/grub/i386/multiboot/console.h: Likewise.
23749 * include/grub/i386/multiboot/init.h: Likewise.
23750 * include/grub/i386/multiboot/kernel.h: Likewise.
23751 * include/grub/i386/multiboot/loader.h: Likewise.
23752 * include/grub/i386/multiboot/memory.h: Likewise.
23753 * include/grub/i386/multiboot/serial.h: Likewise.
23754 * include/grub/i386/multiboot/time.h: Likewise.
23755 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23756 * loader/multiboot.c: Likewise.
23757 * loader/multiboot_mbi2.c: Likewise.
23758 * util/grub-mkrescue.in: Generate multiboot rescue.
23759
6f8aaf68
VS
237602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23761
3080f7a7
VS
23762 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23763
237642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23767
23768 * commands/terminal.c (abstract_terminal): New struct.
23769 (handle_command): New function. Based on grub_cmd_terminal_input.
23770 (grub_cmd_terminal_input): Use handle_command.
23771 (grub_cmd_terminal_output): Use handle_command.
23772
a8ebb841
BC
237732010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23774
23775 Fix comment handling.
23776
23777 * tests/grub_script_comments.in: New testcase.
23778 * conf/tests.rmk: Rules for new testcase.
23779 * script/yylex.l: Updated flex rules.
23780
bb06ba08
ST
237812010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23782
23783 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23784 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23785 if argc is 1.
bb06ba08 23786
cc9d2425
VS
237872010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23790 autogen issues.
23791
460d8402
CF
237922010-04-26 Christian Franke <franke@computer.org>
23793
23794 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23795 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23796 (grub_get_prefix): Remove function.
23797 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23798 make_system_path_relative_to_its_root ().
23799 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23800
553c01f9
CF
238012010-04-24 Christian Franke <franke@computer.org>
23802
23803 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23804 (kernel_img_LDFLAGS): Remove -static-libgcc.
23805
2aec1692
CF
238062010-04-24 Christian Franke <franke@computer.org>
23807
23808 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23809 and CHECK_END_SYMBOL if grub-emu is built.
23810 Unset TARGET_OBJ2ELF if grub-emu is built
23811 without module support.
23812
f67dc308
JS
238132010-04-24 Jiro SEKIBA <jir@unicus.jp>
23814
23815 Nilfs2 support.
23816
23817 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23818 (grub_fstest_SOURCES): Likewise.
23819 (pkglib_MODULES): Add nilfs2.mod.
23820 (nilfs2_mod_SOURCES): New variable.
23821 (nilfs2_mod_CFLAGS): Likewise.
23822 (nilfs2_mod_LDFLAGS): Likewise.
23823 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23824 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23825 * fs/nilfs2.c: New file.
23826
4ba8d354
VS
238272010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23828
23829 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23830 is not supported.
23831
0d2c20c6
GS
238322010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23833
23834 Add grub-mkconfig support for NetBSD.
23835
23836 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23837 * util/grub-mkconfig.in: export new NetBSD specific variables.
23838 * po/POTFILES-shell: added 10_netbsd.in.
23839 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23840
bc4a2d83
BC
238412010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23842
23843 Fix emu build with grub-emu-pci and grub-emu-modules.
23844
23845 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23846 functions.
23847 * include/grub/libpciaccess.h: New file.
23848 * conf/any-emu.rmk: Update kernel headers for emu build.
23849
f48c87aa
VS
238502010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23851
23852 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23853
18959385
VS
238542010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23855
23856 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23857
0037de3f
VS
238582010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23859
23860 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23861 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23862 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23863 util/ieee1275/ofpath.c.
23864 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23865 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23866 * include/grub/sparc64/ieee1275/boot.h
23867 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23868 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23869 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23870 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23871 const char *.
23872 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23873 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23874 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23875 install.
23876
38e55e90
GS
238772010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23878
23879 * util/grub-mkconfig.in: Corrected two == equality tests.
23880 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23881 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23882 expect a number appended to it.
23883 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23884 expects a number appended to it.
23885
a9e6ff28
VS
238862010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23887
23888 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23889
0b830b8f
VS
238902010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23891
23892 * util/hostdisk.c (make_device_name): Change to new partition naming.
23893
0973daeb
VS
238942010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23895
23896 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23897
460d8402 238982010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23899
23900 * Makefile.in: Add missing localedir setting.
23901
0b456309
CW
239022010-04-14 Colin Watson <cjwatson@ubuntu.com>
23903
23904 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23905 mistake in r2156. Noticed by Anthony Fok.
23906
23907 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23908 @localedir@.
23909 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23910
08f46d62
BC
239112010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23912
23913 Fix a spurious, uninitialized variable warning.
23914
23915 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23916 Initialize variable, shdr.
23917 (grub_freebsd_load_elfmodule): Likewise.
23918 (grub_freebsd_load_elf_meta): Likewise.
23919
8c4a72d4
BC
239202010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23921
23922 Fix for escaped dollar in double quoted strings.
23923
23924 * script/yylex.l: Updated flex rules.
23925 * conf/tests.rmk: Rule for new testcase.
23926 * tests/grub_script_dollar.in: New testcase.
23927
ce44826e
CPE
239282010-04-13 Carles Pina i Estany <carles@pina.cat>
239292010-04-13 Colin Watson <cjwatson@ubuntu.com>
23930
23931 Enclose all translated strings in grub.cfg in single quotes, and
23932 escape them appropriately (Ubuntu bug #552921).
23933
23934 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23935 * util/grub.d/10_hurd.in: Use it.
23936 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23937 * util/grub.d/10_linux.in (linux_entry): Likewise.
23938
4b0cd8f8
VS
239392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23940
23941 Fix cygwin compilation.
23942
23943 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23944 * include/grub/misc.h (__register_frame_info)
23945 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23946 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23947 * kern/misc.c (__register_frame_info)
23948 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23949 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23950
01fcf061
VS
239512010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23952
23953 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23954
5d04b11e
VS
239552010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23956
23957 Unify libgcc processing.
23958
23959 * Makefile.in (kernel_img_LDFLAGS): New variable.
23960 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23961 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23962 overwriting.
23963 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23964 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23965 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23966 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23967 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23968 overwriting. Remove -lgcc and -static-libgcc
23969 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23970 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23971 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23972 (kernel_img_LDFLAGS): Append instead of overwriting.
23973 Remove -lgcc and -static-libgcc
23974 * conf/sparc64-ieee1275.rmk: Likewise.
23975 * include/grub/powerpc/libgcc.h: Move to ...
23976 * include/grub/libgcc.h: .. this.
23977 * include/grub/libgcc.h: Don't export most of the function on x86.
23978 (__bswapsi2): New export.
23979 (__bswapdi2): Likewise.
23980 * include/grub/mips/libgcc.h: Removed.
23981 * include/grub/sparc64/libgcc.h: Likewise.
23982
b7f3ac29
VS
239832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23984
23985 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23986 disk_info_msg (conflicts with gettexting into languages with cases).
23987
2c7031b1
GS
239882010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23989
23990 Add grub-probe support for NetBSD.
23991
23992 * util/getroot.c (find_root_device): Convert block device to
23993 character device on NetBSD.
23994 * util/probe.c (probe): Require character device on NetBSD.
23995 * util/hostdisk.c: NetBSD specific headers.
23996 (configure_device_driver): new function to tune device driver
23997 parameters (currently only for NetBSD floppy driver).
23998 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23999 via disklabel ioctl).
24000 (open_device): call configure_device_driver on NetBSD.
24001 (convert_system_partition_to_system_disk): NetBSD specific code.
24002 (device_is_wholedisk): Likewise.
24003 (grub_util_biosdisk_get_grub_dev): Likewise.
24004 (make_device_name): Fixed a typo in bsd_part_str.
24005 * configure.ac: check for opendisk() and getrawpartition() on
24006 NetBSD and set LIBUTIL.
24007 * Makefile.in: add LIBUTIL to LIBS.
24008
f516290c
BC
240092010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24010
24011 Documentation fix.
24012
24013 * util/grub-script-check.c: Better help message.
24014
d8dcc0df
BC
240152010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24016
24017 Fix FreeBSD build.
24018
24019 * configure.ac: Flex version check.
24020 * conf/common.rmk: Add -Wno-error to sh.mod.
24021 * script/yylex.l: Remove all #pragma.
24022
6734334a
VS
240232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24024
24025 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24026 prototype.
24027 Reported by: Seth Goldberg.
24028
daea6abd
VS
240292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24030
24031 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24032 Rename "module" to "module2".
24033 Reported by: Seth Goldberg.
24034
f2fd9d2b
VS
240352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24036
24037 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24038 EXPORT_FUNC.
24039 Reported by: Seth Goldberg.
24040
be124579
VS
240412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24042
24043 * lib/posix_wrap/locale.h: Add missing file.
24044 Reported by: Seth Goldberg.
24045
ef5da797
VS
240462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24047
24048 grub-emu module load support.
24049
24050 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24051 NO_DYNAMIC_MODULES switched to this.
24052 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24053 (CFLAGS): Likewise.
24054 * conf/any-emu.rmk: Generate symlist.
24055 (kernel_img_HEADERS): Add util/datetime.h.
24056 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24057 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24058 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24059 kern/$(target_cpu)/cache.S.
24060 * configure.ac (grub-emu-modules): New option.
24061 * genmk.rb: Handle multiple source lists.
24062 * include/grub/sdl.h: New file.
24063 * include/grub/libusb.h: Likewise.
24064 * util/grub-emu.c (main): Hanle (host) root.
24065 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24066 GRUB_ERR_UNKNOWN_DEVICE.
24067 * util/misc.c: Move mm functions to ...
24068 * util/mm.c: ... here. All users updated.
24069
47822096
VS
240702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24071
24072 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24073 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24074 missing files.
24075 (maintainer-clean): Remove libgcrypt-grub.
24076
5d7e7445
VS
240772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24078
24079 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24080
25f4e252
EC
240812010-04-09 EFI Coder <eficoder@hotmail.com>
24082
24083 * normal/menu_text.c (print_message): Clean up the message and show
24084 the Fn information when on EFI
24085 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24086
027de555
VS
240872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24088
24089 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24090 All users updated.
24091 * normal/crypto.c (read_crypto_list): Likewise.
24092 * normal/dyncmd.c (read_command_list): Likewise.
24093 * normal/term.c (read_terminal_list): Likewise.
24094 * normal/main.c (read_lists): Use explicit prefix.
24095 (read_lists_hook): Use read_lists.
24096 (grub_normal_execute): Likewise.
24097
47779711
VS
240982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24099
24100 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24101 Reported by: Thomas Schmitt.
24102 Add -no-emul-boot to grub-mkisofs parameters.
24103
1118c32e
VS
241042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24105
24106 * font/font.c: Indented.
24107
7d652447
BC
241082010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24109
24110 Elif support to GRUB script (by Deepak Vankadaru).
24111
24112 * tests/grub_script_if.in: New testcase.
24113 * conf/tests.rmk: Rule for new testcase.
24114 * script/parser.y: Grammar rules for elif.
24115
34bb22df
BC
241162010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24117
24118 While and until loops support to GRUB script.
24119
24120 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24121 (grub_script_create_cmdwhile): New function prototype.
24122 (grub_script_execute_cmdwhile): New function prototype.
24123 * script/execute.c (grub_script_execute_cmdwhile): New function.
24124 * script/parser.y (command): New commands.
24125 (whilecmd): New grammar rule.
24126 (untilcmd): New grammar rule.
24127 * script/script.c (grub_script_create_cmdwhile): New function.
24128 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24129 function.
24130
24131 * tests/grub_script_while1.in: New testcase.
24132 * conf/tests.rmk: Rule for new testcase.
24133
e215d8e0
VS
241342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24137 as *.jpg.
24138
d7c43ba1
MV
241392010-04-09 Mario Vazquez <mariovazq@gmail.com>
24140
24141 GRUB_BACKGROUND support.
24142
24143 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24144 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24145
d64795c0
VS
241462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24147
24148 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24149 Idea by: Mario Vazquez
d64795c0
VS
24150
24151 * util/grub.d/00_header.in: Load pf2 and image modules.
24152
f267f83a
VS
241532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24154
24155 grub-mkconfig multiple terminal support.
24156
24157 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24158 * util/grub.d/00_header.in: Likewise.
24159
b7841ceb
VS
241602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24163 we use cd $(srcdir).
24164
df60998c
CW
241652010-04-08 Colin Watson <cjwatson@ubuntu.com>
24166
24167 * util/grub.d/10_linux.in: Only use the first word of
24168 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24169 spaces in GRUB_DISTRIBUTOR.
24170 * util/grub.d/10_kfreebsd.in: Likewise.
24171 * util/grub.d/10_hurd.in: Likewise.
24172
fa09c82e
BC
241732010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24174
14e18ae3 24175 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24176
24177 * tests/util/grub-shell.in: Remove -serial stdio option.
24178
daf892b3
BC
241792010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24180
24181 POSIX header file wrappers.
24182
24183 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24184 equivalents.
24185 * lib/posix_wrap/ctype.h: Likewise.
24186 * lib/posix_wrap/errno.h: Likewise.
24187 * lib/posix_wrap/langinfo.h: Likewise.
24188 * lib/posix_wrap/limits.h: Likewise.
24189 * lib/posix_wrap/localcharset.h: Likewise.
24190 * lib/posix_wrap/stdint.h: Likewise.
24191 * lib/posix_wrap/stdio.h: Likewise.
24192 * lib/posix_wrap/stdlib.h: Likewise.
24193 * lib/posix_wrap/string.h: Likewise.
24194 * lib/posix_wrap/sys/types.h: Likewise.
24195 * lib/posix_wrap/unistd.h: Likewise.
24196 * lib/posix_wrap/wchar.h: Likewise.
24197 * lib/posix_wrap/wctype.h: Likewise.
24198 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24199 (grub_script.yy.h): Likewise.
24200 * script/yylex.l: Remove POSIX emulation #defines.
24201 * Makefile.in (POSIX_CFLAGS): New variable.
24202 (GNULIB_UTIL_CFLAGS): Likewise.
24203
24204 Regexp support.
24205
24206 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24207 (regexp_mod_SOURCES): New variable.
24208 (regexp_mod_CFLAGS): Likewise.
24209 (regexp_mod_LDFLAGS): Likewise.
24210 * commands/regexp.c: New file.
24211 * gnulib/regcomp.c: New file. Imported from gnulib.
24212 * gnulib/regex.c: Likewise.
24213 * gnulib/regex_internal.c: Likewise.
24214 * gnulib/regex_internal.h: Likewise.
24215 * gnulib/regexec.c: Likewise.
24216 * gnulib/regex.h: Likewise.
24217
974ac4f7
VS
242182010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24219
24220 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24221 unsupported video mode types.
24222
2622c3ff
VS
242232010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24224
24225 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24226
064cb524
VS
242272010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24228
24229 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24230 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24231
a8c3b552
VS
242322010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24233
24234 Remove unused grub_vga_get_font.
24235
24236 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24237 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24238
187bbe3d
GS
242392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24240
24241 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24242 * include/grub/misc.h: Likewise.
24243
b9396631
GS
242442010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24245
24246 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24247 for which failure is fatal.
24248
50479feb
GS
242492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24250
24251 * util/grub-install.in: Use mkdir -p to create grub directory.
24252 * util/i386/efi/grub-install.in: Likewise.
24253 * util/ieee1275/grub-install.in: Likewise.
24254
b1654fdf
GS
242552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24256
24257 * Makefile.in (LEX): new variable.
24258
bd5a6415
GS
242592010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24260
24261 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24262 `=' and added double quotes on operands of this equality test.
24263
3db3a82b
VS
242642010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24265
24266 * Makefile.in (uninstall): Remove a leftover debug echo.
24267 Reported by: Grégoire Sutre
24268
38023412
VS
242692010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24270
24271 MIPS multiboot2 support.
24272
24273 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24274 (multiboot2_mod_SOURCES): New variable.
24275 (multiboot2_mod_CFLAGS): Likewise.
24276 (multiboot2_mod_LDFLAGS): Likewise.
24277 (multiboot2_mod_ASFLAGS): Likewise.
24278 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24279 definition.
24280 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24281 (MULTIBOOT_MBI_REGISTER): Likewise.
24282 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24283 (MULTIBOOT_ELF32_MACHINE): Likewise.
24284 (MULTIBOOT_ELF64_MACHINE): Likewise.
24285 * include/grub/mips/multiboot.h: New file.
24286 * include/grub/video.h (grub_video_driver_id): New type
24287 GRUB_VIDEO_DRIVER_SM712.
24288 (grub_video_get_info_and_fini): Export.
24289 (grub_video_get_palette): Likewise.
24290 (grub_video_get_driver_id): Likewise.
24291 * include/multiboot2.h: Resynced with spec.
24292 * loader/i386/multiboot.c: Moved from here ...
24293 * loader/multiboot.c: ... here. All users updated.
24294 (grub_multiboot_boot): Use platform-specific macros.
24295 * loader/i386/multiboot_elfxx.c: Moved from here ...
24296 * loader/multiboot_elfxx.c: ... here. All users updated.
24297 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24298 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24299 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24300
47674667
VS
243012010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24302
24303 Import gnulib argp module.
24304
24305 * gnulib/argp-ba.c: New file.
24306 * gnulib/argp-eexst.c: Likewise.
24307 * gnulib/argp-fmtstream.c: Likewise.
24308 * gnulib/argp-fmtstream.h: Likewise.
24309 * gnulib/argp-fs-xinl.c: Likewise.
24310 * gnulib/argp-help.c: Likewise.
24311 * gnulib/argp-namefrob.h: Likewise.
24312 * gnulib/argp-parse.c: Likewise.
24313 * gnulib/argp-pin.c: Likewise.
24314 * gnulib/argp-pv.c: Likewise.
24315 * gnulib/argp-pvh.c: Likewise.
24316 * gnulib/argp-version-etc.c: Likewise.
24317 * gnulib/argp-version-etc.h: Likewise.
24318 * gnulib/argp-xinl.c: Likewise.
24319 * gnulib/argp.h: Likewise.
24320
495442ed
VS
243212010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24322
24323 * kern/device.c (grub_device_iterate): Clear errors after failed
24324 opening device.
24325
f9fd65df
VS
243262010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24327
24328 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24329 returned by firmware.
24330
af09641e
VS
243312010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24334 compilation on coreboot and qemu
24335
016883a5
VS
243362010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24337
24338 * include/multiboot2.h: Resync with spec.
24339
f97e1f7d
VS
243402010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24341
24342 Multiboot2 tag support
24343
24344 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24345 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24346 Remove loader/multiboot_loader.c.
24347 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24348 (grub_multiboot2_real_boot): Likewise.
24349 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24350 (grub_get_multiboot_mmap_count): New proto.
24351 (grub_fill_multiboot_mmap): Likewise.
24352 (grub_multiboot_set_video_mode): Likewise.
24353 (grub_multiboot_set_console): Likewise.
24354 (grub_multiboot_load): Likewise.
24355 (grub_multiboot_load_elf): Likewise.
24356 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24357 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24358 * include/multiboot.h: Resynced with specification.
24359 * include/multiboot2.h: Resynced with specification.
24360 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24361 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24362 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24363 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24364 users updated.
24365 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24366 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24367 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24368 Removed.
24369 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24370 Moved from here...
24371 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24372 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24373 Moved from here...
24374 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24375 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24376 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24377 All users updated.
24378 * loader/i386/multiboot_mbi2.c: New file.
24379
3506b90b
VS
243802010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24381
24382 Resync with gnulib.
24383
24384 * Makefile.in (GNULIB_CFLAGS): New variable.
24385 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24386 (grub_script_check_CFLAGS): New variable.
24387 * gnulib/alloca.h: Resync with gnulib.
24388 * gnulib/error.c: Likewise.
24389 * gnulib/error.h: Likewise.
24390 * gnulib/fnmatch.c: Likewise.
24391 * gnulib/fnmatch_loop.c: Likewise.
24392 * gnulib/getdelim.c: Likewise.
24393 * gnulib/getline.c: Likewise.
24394 * gnulib/getopt.c: Likewise.
24395 * gnulib/getopt1.c: Likewise.
24396 * gnulib/getopt_int.h: Likewise.
24397 * gnulib/gettext.h: Likewise.
24398 * gnulib/progname.c: Likewise.
24399 * gnulib/progname.h: Likewise.
24400
394a3120
GS
244012010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24402
24403 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24404 which is the case with --disabled-nls.
24405
24406 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24407 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24408 * util/misc.c: Likewise.
24409 * util/mkisofs/mkisofs.c: Likewise.
24410 * util/mkisofs/mkisofs.h: Likewise.
24411
969d1c78
VS
244122010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24413
24414 Simplify Apple CC support.
24415
24416 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24417 Add 0 byte at the end not to have a symbol with empty target.
24418 * mmap/i386/pc/mmap_helper.S: Likewise.
24419 * genmk.rb: Ignore errors 2030 and 2050.
24420 * kern/i386/pc/startup.S: Use LOCAL when possible.
24421
8d2977bb
BC
244222010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24423
24424 Testcase and the fix for final semicolon on cmdline.
24425
24426 * tests/grub_script_final_semicolon.in: New testcase.
24427 * conf/tests.rmk: Rules for the new testcase.
24428 * script/parser.y: Grammar fix.
24429
a7bd6915
BC
244302010-03-26 BVK Chaitanya <bvk@localhost>
24431
24432 Blank lines testcase for GRUB script.
24433
24434 * tests/grub_script_blanklines.in: New testcase.
24435 * conf/tests.rmk: Rules for the new testcase.
24436
e4ff6628
VS
244372010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24438
24439 Don't use __FILE__.
24440
24441 * genmk.rb: Add -DGRUB_FILE to all C targets.
24442 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24443 * include/grub/list.h: Likewise.
24444 * include/grub/misc.h: Likewise.
24445 * include/grub/mm.h: Likewise.
24446 * include/grub/test.h: Likewise.
24447 * kern/mm.c: Likewise.
24448 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24449
6a5cf6b6
VS
244502010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24451
24452 Sunpc partitions support.
24453
24454 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24455 (grub_fstest_SOURCES): Likewise.
24456 (pkglib_MODULES): Add part_sunpc.mod.
24457 (part_sunpc_mod_SOURCES): New variable.
24458 (part_sunpc_mod_CFLAGS): Likewise.
24459 (part_sunpc_mod_LDFLAGS): Likewise.
24460 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24461 * partmap/sunpc.c: New file.
24462
746d9045
BC
244632010-03-26 BVK Chaitanya <bvk@localhost>
24464
24465 For loop support to GRUB script.
24466
24467 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24468 (grub_script_create_cmdfor): New function prototype.
24469 (grub_script_execute_cmdfor): New function prototype.
24470 * script/execute.c (grub_script_execute_cmdfor): New function.
24471 * script/parser.y (command): New for command.
24472 (forcmd): New grammar rule.
24473 * script/script.c (grub_script_create_cmdfor): New function.
24474 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24475 function.
24476 * tests/grub_script_for1.in: New testcase.
24477 * conf/tests.rmk: Rules for new testcase.
24478
18486b18
VS
244792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24480
24481 Nested partitions
24482
24483 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24484 'partition' is NULL, grub_partition_get_start already does that.
24485 * commands/loadenv.c (check_blocklists): Likewise.
24486 (write_blocklists): Likewise.
24487 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24488 (grub_fstest_SOURCES): Likewise.
24489 (pkglib_MODULES): Add part_bsd.mod.
24490 (part_bsd_mod_SOURCES): New variable.
24491 (part_bsd_mod_CFLAGS): Likewise.
24492 (part_bsd_mod_LDFLAGS): Likewise.
24493 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24494 (grub_emu_SOURCES): Likewise.
24495 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24496 * include/grub/bsdlabel.h: New file.
24497 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24498 'get_name'.
24499 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24500 (grub_partition_map_list): New variable.
24501 (grub_partition_map_register): Inline.
24502 (grub_partition_map_unregister): Likewise.
24503 (FOR_PARTITION_MAPS): New macro.
24504 (grub_partition_map_iterate): Removed.
24505 (grub_partition_get_start): Handle nested partitions.
24506 * include/grub/msdos_partition.h: Remove bsd-related entries.
24507 (grub_pc_partition): Remove.
24508 * kern/disk.c (grub_disk_close): Free partition data.
24509 (grub_disk_adjust_range): Handle nested partitions.
24510 * kern/partition.c (grub_partition_map_probe): New function.
24511 (grub_partition_probe): Parse name to number, handle subpartitions.
24512 (get_partmap): New function.
24513 (grub_partition_iterate): Handle subpartitions.
24514 (grub_partition_get_name): Likewise.
24515 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24516 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24517 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24518 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24519 Set 'number'.
24520 (acorn_partition_map_probe): Remove.
24521 (acorn_partition_map_get_name): Likewise.
24522 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24523 Set 'number'.
24524 Set 'index' to 0 since there can be only one partition entry per sector.
24525 (amiga_partition_map_probe): Remove.
24526 (amiga_partition_map_get_name): Likewise.
24527 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24528 Set 'number'.
24529 Set 'offset' and 'index' to real positions of partitions.
24530 (apple_partition_map_probe): Remove.
24531 (apple_partition_map_get_name): Likewise.
24532 * partmap/bsdlabel.c: New file.
24533 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24534 Set 'number'.
24535 Allocate 'data' so it can be correctly freed.
24536 Set 'index' to offset inside sector.
24537 (gpt_partition_map_probe): Remove.
24538 (gpt_partition_map_get_name): Likewise.
24539 * partmap/msdos.c (grub_partition_parse): Remove.
24540 (pc_partition_map_iterate): Don't force raw access.
24541 Set 'number'.
24542 Make 'ext_offset' a local variable.
24543 (pc_partition_map_probe): Remove.
24544 (pc_partition_map_get_name): Remove.
24545 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24546 Set 'number'.
24547 (sun_partition_map_probe): Remove.
24548 (sun_partition_map_get_name): Likewise.
24549 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24550 (grub_pcpart_type): Likewise.
24551 * util/hostdisk.c (open_device): Handle new numbering scheme.
24552 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24553 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24554 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24555 * util/grub-install.in: Insert all subpartition modules.
24556 * util/ieee1275/grub-install.in: Likewise.
24557
a3940f88
AG
245582010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24559
24560 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24561 grammar.
24562
21b99926 245632010-03-24 Colin Watson <cjwatson@ubuntu.com>
24564
24565 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24566
bed1d352
CW
245672010-03-21 Colin Watson <cjwatson@ubuntu.com>
24568
24569 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24570 match where 'make install' puts them.
24571 * util/i386/efi/grub-install.in: Likewise.
24572
c9f58427
CW
245732010-03-19 Colin Watson <cjwatson@ubuntu.com>
24574
24575 * .bzrignore: Add gentrigtables, grub-script-check,
24576 grub_script_check_init.c, grub_script_check_init.h, and
24577 trigtables.c.
24578
f84afb27
VS
245792010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24580
24581 * kern/parser.c: Indented.
24582
ed0e3d30
VS
245832010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24584
24585 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24586
0ea81d98
VS
245872010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24588
24589 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24590 alpha_mask_size == 0 case.
24591
0cdc2a09
BC
245922010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24593
24594 GRUB shell lexer and parser improvements.
24595
24596 * conf/any-emu.rmk: Build rule updates.
24597 * conf/common.rmk: Likewise.
24598 * conf/i386-coreboot.rmk: Likewise.
24599 * conf/i386-efi.rmk: Likewise.
24600 * conf/i386-ieee1275.rmk: Likewise.
24601 * conf/i386-pc.rmk: Likewise.
24602 * conf/powerpc-ieee1275.rmk: Likewise.
24603 * conf/x86_64-efi.rmk: Likewise.
24604
24605 * configure.ac: Configure check for flex.
24606
24607 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24608 types.
24609 (grub_lexer_param): Struct member updates.
24610 (grub_parser_param): Likewise.
24611 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24612 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24613 (grub_script_lexer_init): Prototype update.
24614 (grub_script_lexer_record_start): Likewise.
24615 (grub_script_lexer_record_stop): Likewise.
24616 (grub_script_lexer_yywrap): New function prototype.
24617 (grub_script_lexer_fini): Likewise.
24618 (grub_script_execute_argument_to_string): Removed by...
24619 (grub_script_execute_argument_to_argv): ...better version.
24620
24621 * script/execute.c (ROUND_UPTO): New macro.
24622 (grub_script_execute_cmdline): Out of memory fixes.
24623 (grub_script_execute_menuentry): Likewise.
24624 (grub_script_execute_argument_to_string): Removed. Update all
24625 users by...
24626 (grub_script_execute_argument_to_argv): ...better version.
24627 * script/function.c (grub_script_function_create): Use
24628 grub_script_execute_argument_to_argv instead of
24629 grub_script_execute_argument_to_string.
24630
24631 * script/lexer.c (check_varstate): Removed.
24632 (check_textstate): Removed.
24633 (grub_script_lexer_record_start): Likewise.
24634 (grub_script_lexer_record_stop): Likewise.
24635 (recordchar): Replaced with...
24636 (grub_script_lexer_record): ...new function.
24637 (nextchar): Removed.
24638 (grub_script_lexer_init): Rewritten.
24639 (grub_script_yylex): Rewritten.
24640 (append_newline): New function.
24641 (grub_script_lexer_yywrap): New function.
24642 (grub_script_lexer_fini): New function.
24643 (grub_script_yyerror): Sets error flag.
24644
24645 * script/yylex.l: New file.
24646 (grub_lexer_yyfree): Wrapper for flex yyffre.
24647 (grub_lexer_yyalloc): Likewise.
24648 (grub_lexer_yyrealloc): Likewise.
24649 * script/parser.y: Refactored.
24650
24651 * script/script.c (grub_script_arg_add): Out of memory fixes.
24652 (grub_script_add_arglist): Likewise.
24653 (grub_script_create_cmdline): Likewise.
24654 (grub_script_create_cmdmenu): Likewise.
24655 (grub_script_add_cmd): Likewise.
24656 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24657 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24658 unnecessary code.
24659
24660 * tests/grub_script_echo1.in: New testcase.
24661 * tests/grub_script_vars1.in: New testcase.
24662 * tests/grub_script_echo_keywords.in: New testcase.
24663
1d63a066
VS
246642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24665
24666 Remove some redundancy in build system.
24667
24668 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24669 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24670 (TARGET_LDFLAGS): Add -nostdlib.
24671 (TARGET_IMG_LDFLAGS): Likewise.
24672 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24673 anything since mmap isn't available.
24674 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24675 Add util/time.c.
24676 (pkglib_MODULES): Remove reboot.mod.
24677 (reboot_mod_SOURCES): Removed.
24678 (reboot_mod_CFLAGS): Likewise.
24679 (reboot_mod_LDFLAGS): Likewise.
24680 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24681 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24682 (DEFSYMFILES): Add kernel_syms.lst.
24683 (kernel_img_HEADERS): Add common headers.
24684 (symlist.c): New target.
24685 (kernel_syms.lst): Likewise.
24686 (pkglib_MODULES): Add memdisk.mod.
24687 (memdisk_mod_SOURCES): New variable.
24688 (memdisk_mod_CFLAGS): Likewise.
24689 (memdisk_mod_LDFLAGS): Likewise.
24690 (pkglib_MODULES): Add reboot.mod.
24691 (reboot_mod_SOURCES): New variable.
24692 (reboot_mod_CFLAGS): Likewise.
24693 (reboot_mod_LDFLAGS): Likewise.
24694 (pkglib_MODULES): Add date.mod.
24695 (date_mod_SOURCES): New variable.
24696 (date_mod_CFLAGS): Likewise.
24697 (date_mod_LDFLAGS): Likewise.
24698 (pkglib_MODULES): Add datehook.mod.
24699 (datehook_mod_SOURCES): New variable.
24700 (datehook_mod_CFLAGS): Likewise.
24701 (datehook_mod_LDFLAGS): Likewise.
24702 (pkglib_MODULES): Add lsmmap.mod.
24703 (lsmmap_mod_SOURCES): New variable.
24704 (lsmmap_mod_CFLAGS): Likewise.
24705 (lsmmap_mod_LDFLAGS): Likewise.
24706 (pkglib_MODULES): Add boot.mod.
24707 (boot_mod_SOURCES): New variable.
24708 (boot_mod_CFLAGS): Likewise.
24709 (boot_mod_LDFLAGS): Likewise.
24710 * conf/i386-coreboot.rmk: Removed redundant parts.
24711 * conf/i386-ieee1275.rmk: Likewise.
24712 * conf/i386-pc.rmk: Likewise.
24713 * conf/mips-yeeloong.rmk: Likewise.
24714 * conf/mips.rmk: Likewise.
24715 * conf/powerpc-ieee1275.rmk: Likewise.
24716 * conf/sparc64-ieee1275.rmk: Likewise.
24717 * conf/x86_64-efi.rmk: Likewise.
24718 * conf/i386-coreboot.rmk: Moved qemu parts ..
24719 * conf/i386-qemu.rmk: ... here
24720 * conf/i386-efi.rmk: Moved common parts to...
24721 * conf/x86-efi.rmk: ... here.
24722 * conf/i386.rmk: Added modules common to all x86 variants.
24723 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24724 * disk/memdisk.c: Remove grub/machine/kernel.h.
24725 * gensymlist.sh.in: Include symbol.h.
24726 * hook/datehook.c: Correct module name.
24727 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24728 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24729 * include/grub/i386/efi/serial.h: New file.
24730 * include/grub/x86_64/efi/serial.h: Likewise.
24731 * util/time.c: Likewise.
24732 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24733
463ac55f
CK
247342010-03-14 Colin King <colin.king@ubuntu.com>
247352010-03-14 Colin Watson <cjwatson@ubuntu.com>
24736
24737 Shrink the pre-partition-table part of boot.img by eight bytes.
24738
24739 * boot/i386/pc/boot.S (ERR): New macro.
24740 (chs_mode): Use ERR.
24741 (geometry_error): Likewise.
24742 (hd_probe_error): Remove. This is only used once, so we wrwite
24743 it inline instead.
24744 (read_error): Instead of printing read_error_string, just set up
24745 %si and fall through to ...
24746 (error_message): ... this new function, also used by ERR.
24747
08e46ede
CW
247482010-03-14 Colin Watson <cjwatson@ubuntu.com>
24749
24750 Speed up consecutive hostdisk operations on the same device.
24751
24752 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24753 (grub_util_biosdisk_open): Initialise disk->data.
24754 (struct linux_partition_cache): New structure.
24755 (linux_find_partition): Cache partition start positions; these are
24756 expensive to compute on every read and write.
24757 (open_device): Cache open file descriptor in disk->data, so that we
24758 don't have to reopen it and flush the buffer cache for consecutive
24759 operations on the same device.
24760 (grub_util_biosdisk_close): New function.
24761 (grub_util_biosdisk_dev): Set `close' member.
24762
24763 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24764 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24765 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24766 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24767 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24768
4a6d2d06
VS
247692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24770
24771 Compile parts of grub-emu as modules.
24772
24773 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24774 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24775 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24776 (all-local): Add $(GRUB_EMU).
24777 (install-local): Install $(GRUB_EMU).
24778 (uninstall): Uninstall $(GRUB_EMU).
24779 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24780 * kern/dl.c: Likewise.
24781 * commands/sleep.c: Not include machine/time.h.
24782 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24783 (COMMON_CFLAGS): Likewise.
24784 (sbin_UTILITIES): Remove grub-emu.
24785 (grub_emu_SOURCES): Removed.
24786 (kernel_img_RELOCATABLE): New variable.
24787 (pkglib_PROGRAMS): Add kernel.img.
24788 (kernel_img_SOURCES): New variable
24789 (kernel_img_CFLAGS): Likewise.
24790 (kernel_img_LDFLAGS): Likewise.
24791 (TARGET_NO_STRIP): Likewise.
24792 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24793 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24794 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24795 (grub-emu): New target.
24796 (GRUB_EMU): New variable.
24797 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24798 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24799 * loader/xnu.c: Likewise.
24800 * include/grub/pci.h: Likewise.
24801 * genemuinit.sh: New file.
24802 * genemuinitheader.sh: Likewise.
24803 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24804 Support TARGET_NO_DYNAMIC_MODULES.
24805 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24806 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24807 * disk/loopback.c: Likewise.
24808 * font/font_cmd.c: Likewise.
24809 * partmap/acorn.c: Likewise.
24810 * partmap/amiga.c: Likewise.
24811 * partmap/apple.c: Likewise.
24812 * partmap/gpt.c: Likewise.
24813 * partmap/msdos.c: Likewise.
24814 * partmap/sun.c: Likewise.
24815 * parttool/msdospart.c: Likewise.
24816 * term/gfxterm.c: Likewise.
24817 * video/bitmap.c: Likewise.
24818 * video/readers/jpeg.c: Likewise.
24819 * video/readers/png.c: Likewise.
24820 * video/readers/tga.c: Likewise.
24821 * video/video.c: Likewise.
24822 * util/grub-emu.c (read_command_list): Removed.
24823 (main): Don't call util_init_nls.
24824 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24825 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24826
91fdd2ed
VS
248272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24828
24829 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24830 date.mod, datehook.mod.
24831 (datetime_mod_SOURCES): New variable.
24832 (datetime_mod_CFLAGS): Likewise.
24833 (datetime_mod_LDFLAGS): Likewise.
24834 (date_mod_SOURCES): Likewise.
24835 (date_mod_CFLAGS): Likewise.
24836 (date_mod_LDFLAGS): Likewise.
24837 (datehook_mod_SOURCES): Likewise.
24838 (datehook_mod_CFLAGS): Likewise.
24839 (datehook_mod_LDFLAGS): Likewise.
24840 * conf/sparc64-ieee1275.rmk: Likewise.
24841 * lib/ieee1275/datetime.c: New file.
24842
873ccae6
VS
248432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24844
24845 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24846 (ieee1275_fb_mod_SOURCES): New variable.
24847 (ieee1275_fb_mod_CFLAGS): Likewise.
24848 (ieee1275_fb_mod_LDFLAGS): Likewise.
24849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24850 New proto.
24851 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24852 (HEAP_MAX_ADDR): Likewise.
24853 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24854 type.
24855 Correct stop condition.
24856 (grub_ieee1275_devices_iterate): New function.
24857 * video/ieee1275.c: New file.
24858
601c97c0
VS
248592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24860
24861 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24862
24863 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24864 as scratch.
24865 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24866 SCRATCH_PAD_DISKBOOT as scratch.
24867 (bootit): Pass Openfirmware pointer in %o4.
24868 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24869 of 0x200000.
24870 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24871 with util/grub-mkrawimage.c.
24872 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24873 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24874 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24875 (grub_aout_load) [GRUB_UTIL]: Likewise.
24876 * include/grub/kernel.h (grub_modules_get_end): New proto.
24877 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24878 (SCRATCH_PAD_BOOT): New definition.
24879 (SCRATCH_PAD_DISKBOOT): Likewise.
24880 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24881 * include/grub/sparc64/ieee1275/ieee1275.h
24882 (grub_ieee1275_original_stack): New variable
24883 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24884 New definition
24885 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24886 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24887 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24888 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24889 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24890 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24891 (grub_platform_image_format_t): New type.
24892 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24893 * kern/main.c (grub_modules_get_end)
24894 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24895 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24896 (codestart): Switch stacks.
24897 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24898 variable.
24899 (grub_heap_init): Use grub_modules_get_end.
24900 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24901 stack.
24902 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24903 (main): Likewise.
24904 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24905
d68b491e
TG
249062010-03-14 Thorsten Glaser <tg@mirbsd.org>
24907
24908 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24909
4e02ed50
MK
249102010-03-08 Matt Kraai <kraai@ftbfs.org>
24911
24912 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24913 bug #559005).
24914
1f15fc1e
VS
249152010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 * genmoddep.awk: Output all missing symbols and not only first.
24918
fce5d8ff
VS
249192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24920
24921 * NEWS: Put the date of 1.98 release.
24922
d1e8a02f
VS
249232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24924
24925 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24926 ft2build.h.
24927
696fd607
VS
249282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24929
24930 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24931 completition in the middle of string.
24932
33e2e6f3
VS
249332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24934
24935 * util/grub-mkrescue.in: Use mktemp with explicit template.
24936
b1f6d291
VS
249372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24940
2ac227c7
VS
249412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24942
24943 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24944 right pointer.
24945
8f9a632b
VS
249462010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24947
24948 Fix FreeBSD compilation.
24949
24950 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24951 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24952
60b03859
VS
249532010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24954
24955 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24956
48a5a769
VS
249572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24958
24959 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24960
3ab4bd77
VS
249612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24962
24963 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24964
d116e0d8
RM
249652010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24966
24967 Support relative image path in theme file.
24968
24969 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24970 (image_set_property): Handle theme_dir and relative path.
24971
c7ef54aa
VS
249722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24973
24974 * configure.ac: Alias amd64 to x86_64.
24975
fcee14ed
VS
249762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24977
24978 * NEWS: mention multiboot on EFI.
24979
d0780363
VS
249802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24981
24982 * kern/main.c (grub_load_modules): Handle errors from init functions of
24983 embeded modules.
24984
41168ea4
VS
249852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 * normal/autofs.c (autoload_fs_module): Handle errors.
24988
b54d93ac
VS
249892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Disable linux.mod on qemu-mips since it's not functional and leads
24992 to compilation failure.
24993
24994 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24995 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24996 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24997 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24998 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24999 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25000 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25001 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25002 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25003 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25004 Reported by: BVK Chaitanya
25005
fc8345da
JU
250062010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25007
25008 * INSTALL: Add gettext as a dependency and add qemu to a new section
25009 "Prerequisites for make-check".
25010
4760f979
CF
250112010-03-04 Christian Franke <franke@computer.org>
25012
25013 * util/grub-pe2elf.c: Add missing include "progname.h".
25014
f209b5b2
VS
250152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25016
25017 * normal/crypto.c (read_crypto_list): Fix a typo.
25018 Reported by: Seth Goldberg.
25019
b4b7be98
VS
250202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25023 Reported by: Seth Goldberg.
b4b7be98 25024
c0ee0385
VS
250252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25026
25027 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25028 ascii.bitmaps.
25029
a8efbf64
VS
250302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25031
25032 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25033 Reported by: Seth Goldberg.
a8efbf64 25034
08dcd913
VS
250352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25036
25037 * util/i386/efi/grub-install.in: Copy gettext files.
25038
c4d0b332
VS
250392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25040
25041 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25042
c6f2fe52
VS
250432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25044
25045 Wait for user entry basing on presence of output rather than on errors.
25046
25047 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25048 (grub_install_newline_hook): Likewise.
25049 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25050 * normal/menu.c (show_menu): Check line_counter to determine presence
25051 of output.
25052 * normal/term.c (grub_normal_line_counter): New variable.
25053 (grub_normal_get_line_counter): New function.
25054 (grub_install_newline_hook): Likewise.
25055
5382b1e4
VS
250562010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25057
25058 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25059
5519963b
VS
250602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25061
25062 * configure.ac: Update version to 1.98.
25063
72b28631
VS
250642010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25065
25066 * util/grub.d/10_linux.in (linux_entry): Don't default to
25067 gfxpayload=keep if Linux doesn't support video handover.
25068
c140a180
VS
250692010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25070
25071 Don't compile video modules on yeeloong since video subsystem is part
25072 of kernel.
25073
25074 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25075 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25076 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25077 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25078 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25079 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25080 * include/grub/bitmap_scale.h: Likewise.
25081 * include/grub/bufio.h: Likewise.
25082 * include/grub/font.h: Likewise.
25083 * include/grub/gfxterm.h: Likewise.
25084 * include/grub/video.h: Likewise.
25085 * include/grub/vbe.h: Don't include video_fb.h.
25086 * video/i386/pc/vbe.c: Include video_fb.h.
25087 * commands/i386/pc/vbetest.c: Include video.h.
25088
a0ca21c2
CW
250892010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25090
25091 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25092 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25093 default entry if GRUB_SAVEDEFAULT=true. This allows using
25094 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25095 saving a new default on every boot.
25096
4a8a763c
VS
250972010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25098
25099 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25100 * normal/term.c (read_terminal_list): Likewise.
25101 * normal/main.c (grub_normal_init_page): Likewise.
25102 (grub_normal_read_line_real): Likewise.
25103
607ffde2
VS
251042010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25105
25106 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25107 memory leak.
25108 Reported by: Seth Goldberg.
25109
2b8fa975
CW
251102010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25111
25112 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25113 duplicate declaration of `start'.
25114
618307dd
VS
251152010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25116
25117 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25118 filename.
25119 Reported by: Georgy Buranov
25120
7dd05b96 251212010-02-20 Carles Pina i Estany <carles@pina.cat>
25122
25123 * util/grub-mkrawimage.c (usage): Change string formatting to
25124 improve gettext.
25125
d1484a42
MRA
251262010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25127
25128 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25129 backspace keys.
25130
42b1d186
VS
251312010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25132
25133 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25134 Reported by: Michael Suchanek.
25135
251362010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25137
25138 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25139 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25140
d9f31a41
VS
251412010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25142
25143 Remove any reference to non-free fonts.
25144
25145 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25146 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25147 uses non-free components.
25148 * font/font.c (grub_font_get_name): Remove example name.
25149 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25150 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25151 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25152 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25153
2793c71e
GB
251542010-02-16 Georgy Buranov <gburanov@gmail.com>
25155
25156 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25157
402e3779
VS
251582010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25159
25160 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25161 Double divisor.
25162 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25163 features.
25164 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25165
0dd1e0dd
VS
251662010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25167
25168 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25169
6fa7cfce
ST
251702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25171
25172 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25173 * docs/grub.texi (Command-line and menu entry commands): Document play
25174 command.
25175
37c8483b
ST
251762010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25177
25178 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25179 parse arguments as inline tempo and notes. Move code for playing notes
25180 to...
25181 (play): ... new function.
25182
14da0fb7
ST
251832010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25184
25185 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25186 grub_uint16_t instead of short.
25187 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25188 disk from little endian to cpu endianness.
25189
04459e70
ST
251902010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25191
25192 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25193 GRUB_TICKS_PER_SECOND instead of 120.
25194
a0876943
VS
251952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25196
25197 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25198 escape sequence after \e.
25199
e29f95dc
VS
252002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25201
25202 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25203 non-ASCII characters.
25204
d27859b2
VS
252052010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25206
25207 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25208 set root in single quotes to prevent \, from being unescaped.
25209
bc028f2f
VS
252102010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25211
25212 Prevent unknown commands from stopping menuentry execution.
25213
25214 * script/execute.c (grub_script_execute_cmdline): Print error after
25215 unknown command.
25216
095f5f82
VS
252172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25218
25219 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25220 Reported by: Pavel Pisa.
25221
8c717950
VS
252222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25223
25224 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25225
904935c3
VS
252262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25227
25228 Merge grub_ieee1275_map_physical into grub_map and rename to
25229 grub_ieee1275_map
25230
25231 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25232 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25233 Remove.
25234 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25235 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25236 necessary.
25237 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25238
5b59a4e3
VS
252392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25240
25241 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25242 opening and not after.
25243
69e137e8
VS
252442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25245
25246 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25247 constants.
25248
2c0fcc36
VS
252492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25250
25251 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25252 (alloc_phys): Use ALIGN_UP instead of align_addr.
25253
8c6052ce
VS
252542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25255
25256 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25257
17cec782
VS
252582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25261
e0128bbd
VS
252622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25263
25264 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25265 verbose dprintf.
25266
ca62070b
VS
252672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25268
25269 Fix over-4GiB seek on sparc64.
25270
25271 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25272 Replace pos_i and pos_lo with pos. All users updated.
25273 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25274 New constant.
25275 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25276 Likewise.
25277 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25278 and pos_lo.
25279
bdca2607
VS
252802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25281
25282 * util/grub-mkrawimage.c (main): Call set_program_name.
25283
da278c4d
VS
252842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25285
25286 Properly align 64-bit targets.
25287
25288 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25289 (generate_image): Use ALIGN_ADDR.
25290
b274d734
VS
252912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25292
25293 Properly create cross-endian images.
25294
25295 * include/grub/types.h (grub_host_to_target_addr): New macro
25296 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25297
82da2062
VS
252982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25299
25300 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25301
7cae4377
VS
253022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25303
25304 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25305
25306 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25307 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25308 (grub_linux_boot): Divide by 64K when on VESA.
25309
65a533e7
VS
253102010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 Support GRUB_GFXPAYLOAD_LINUX.
25313
25314 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25315 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25316
dd01d397
VS
253172010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25318
25319 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25320 to show messages instead of discarding them.
25321 Process errors after executing command and not before. Keep old method
25322 too as precaution.
25323
660960d6
VS
253242010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25325
25326 * configure.ac: Check for ft2build.h.
25327
62509f04
VS
253282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25329
25330 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25331
473df63d
VS
253322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 * genkernsyms.sh.in: Use TARGET_CC.
25335
c98d2a13
CW
253362010-02-07 Colin Watson <cjwatson@ubuntu.com>
25337
25338 * NEWS: Update.
25339
6e14234c
VS
253402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25341
25342 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25343 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25344 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25345
b255e9cf
YB
253462010-02-07 Yves Blusseau <blusseau@zetam.org>
25347
6e14234c 25348 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25349
98e6959d
VS
253502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25351
25352 Fix warnings in grub-emu when compiling with maximum warning options.
25353
25354 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25355 (grub_arch_modules_addr): Return 0 and not NULL.
25356 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25357 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25358 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25359 of disk to dsk to avoid shadowing.
74e4934e
VS
25360 (find_free_slot): Fix prototype.
25361 * util/getroot.c (grub_util_is_dmraid): Make static.
25362 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25363 Add missing prototype.
25364 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25365
74e31b5c
VS
253662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25367
25368 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25369 appropriately.
25370
6b2ad14b
VS
253712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25372
25373 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25374 code out.
25375
8f891adc
VS
253762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25377
25378 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25379 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25380 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25381 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25382 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25383 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25384
74b45184
VS
253852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25386
25387 * include/grub/err.h (grub_err_printf): Don't export.
25388
a4bced77
VS
253892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25390
25391 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25392
007d0695
VS
253932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25394
25395 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25396 * kern/misc.c (grub_gettext_dummy): Make static.
25397
b6c0d9c2
VS
253982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25399
25400 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25401 by non-valid ones.
25402 * kern/term.c (grub_putchar): Likewise.
25403
f51a90d0
VS
254042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25405
25406 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25407 buggy hook call and memory leak.
25408
6846cec5
VS
254092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25410
25411 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25412
468d69fe
VS
254132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25414
25415 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25416
51906b8c
VS
254172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25420 modevar.
25421 Return grub_errno on allocation error.
25422
09706ce5
VS
254232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25424
25425 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25426
911df80c
YB
254272010-02-06 Yves Blusseau <blusseau@zetam.org>
25428
25429 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25430 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25431
3746a6bc
VS
254322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25433
25434 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25435 non-pxe disk.
25436 (grub_pxefs_open): Likewise.
25437
09706ce5
VS
254382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25439
25440 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25441 * util/grub.d/10_kfreebsd.in: Likewise.
25442 * util/grub.d/10_linux.in: Likewise.
25443
7cc192d9
VS
254442010-02-06 Colin D Bennett <colin@gibibit.com>
25445
25446 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25447 (gfxmenu_mod_SOURCES): New variable.
25448 (gfxmenu_mod_CFLAGS): Likewise.
25449 (gfxmenu_mod_LDFLAGS): Likewise.
25450 * include/grub/term.h (grub_term_set_current_output): Declare
25451 argument as const.
25452 * docs/gfxmenu-theme-example.txt: New file.
25453 * gfxmenu/gfxmenu.c: Likewise.
25454 * gfxmenu/gui_box.c: Likewise.
25455 * gfxmenu/gui_canvas.c: Likewise.
25456 * gfxmenu/gui_circular_progress.c: Likewise.
25457 * gfxmenu/gui_image.c: Likewise.
25458 * gfxmenu/gui_label.c: Likewise.
25459 * gfxmenu/gui_list.c: Likewise.
25460 * gfxmenu/gui_progress_bar.c: Likewise.
25461 * gfxmenu/gui_string_util.c: Likewise.
25462 * gfxmenu/gui_util.c: Likewise.
25463 * gfxmenu/icon_manager.c: Likewise.
25464 * gfxmenu/model.c: Likewise.
25465 * gfxmenu/named_colors.c: Likewise.
25466 * gfxmenu/theme_loader.c: Likewise.
25467 * gfxmenu/view.c: Likewise.
25468 * gfxmenu/widget-box.c: Likewise.
25469 * include/grub/gfxmenu_model.h: Likewise.
25470 * include/grub/gfxmenu_view.h: Likewise.
25471 * include/grub/gfxwidgets.h: Likewise.
25472 * include/grub/gui.h: Likewise.
25473 * include/grub/gui_string_util.h: Likewise.
25474 * include/grub/icon_manager.h: Likewise.
25475
254762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 Agglomerate scrolling in gfxterm.
25479
25480 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25481 (grub_virtual_screen_setup): Initialise 'total_screen'.
25482 (write_char): Split to ...
25483 (paint_char): ... this ...
25484 (write_char): ... and this.
25485 (paint_char): Handle delayed scrolling.
25486 (draw_cursor): Likewise.
25487 (scroll_up): Split to ...
25488 (real_scroll): ... this ...
25489 (scroll_up): ... and this.
25490 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25491 characters.
25492 (grub_gfxterm_refresh): Call real_scroll.
25493
254942010-02-06 Colin D Bennett <colin@gibibit.com>
25495
25496 * include/grub/misc.h (grub_iscntrl): New inline function.
25497 (grub_isalnum): Likewise.
25498 (grub_strtol): Likewise.
25499
255002010-02-06 Colin D Bennett <colin@gibibit.com>
25501
25502 * normal/menu_text.c (get_entry_number): Move from here ...
25503 * normal/menu.c (get_entry_number): ... moved here.
25504 * include/grub/menu.h (grub_menu_get_default_entry_index):
25505 New prototype.
25506 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25507 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25508 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25509 (grub_menu_viewer_should_return): Likewise.
25510 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25511 * normal/menu_text.c (run_menu): Enable menu switching.
25512 * normal/menu_viewer.c (should_return): New variable.
25513 (menu_viewer_changed): Likewise.
25514 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25515 (grub_menu_viewer_should_return): New function.
25516 (menuviewer_write_hook): Likewise.
25517 (grub_menu_viewer_init): Likewise.
25518
255192010-02-06 Colin D Bennet <colin@gibibit.com>
255202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25521
25522 Support for gfxterm in a window.
25523
25524 * include/grub/gfxterm.h: New file.
25525 * include/grub/video.h (struct grub_video_rect): New declaration.
25526 (grub_video_rect_t): Likewise.
25527 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25528 (refcount): New variable.
25529 (render_target): Likewise.
25530 (window): Likewise.
25531 (repaint_callback): Likewise.
25532 (grub_virtual_screen_setup): Use 'render_target'.
25533 (init_window): New function.
25534 (grub_gfxterm_init_window): Likewise.
25535 (grub_gfxterm_init): Check reference counter.
25536 Use init_window.
25537 (destroy_window): New function.
25538 (grub_gfxterm_destroy_window): Likewise.
25539 (grub_gfxterm_fini): Check reference counter.
25540 Use destroy_window.
25541 (redraw_screen_rect): Restore viewport.
25542 Use 'render_target' and 'window'.
25543 Call 'repaint_callback'.
25544 (write_char): Use 'render_target'.
25545 (draw_cursor): Likewise.
25546 (scroll_up): Restore viewport.
25547 Use 'render_target' and 'window'.
25548 Call 'repaint_callback'.
25549 (grub_gfxterm_cls): Likewise.
25550 (grub_gfxterm_refresh): Use 'window'.
25551 (grub_gfxterm_set_repaint_callback): New function.
25552 (grub_gfxterm_background_image_cmd): Use 'window'.
25553 (grub_gfxterm_get_term): New function.
25554 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25555
255562010-02-06 Colin D Bennett <colin@gibibit.com>
25557
25558 Bitmap scaling support.
25559
25560 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25561 (bitmap_scale_mod_SOURCES): New variable.
25562 (bitmap_scale_mod_CFLAGS): Likewise.
25563 (bitmap_scale_mod_LDFLAGS): Likewise.
25564 * include/grub/bitmap_scale.h: New file.
25565 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25566 (background_image_cmd_options): New variable.
25567 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25568 (cmd): Rename and change type to ...
25569 (background_image_cmd_handle): ... this. All users updated.
25570 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25571 * video/bitmap_scale.c: New file.
25572
255732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25574
25575 SDL support.
25576
25577 * Makefile.in (LIBSDL): New variable.
25578 (enable_grub_emu_sdl): Likewise.
25579 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25580 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25581 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25582 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25583 * util/sdl.c: New file.
25584
255852010-02-06 Colin D Bennett <colin@gibibit.com>
255862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25587
25588 Double buffering support.
25589
25590 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25591 * include/grub/video.h: Update comment.
25592 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25593 New type.
25594 (grub_video_fb_doublebuf_blit_init): New prototype.
25595 * term/gfxterm.c (scroll_up): Support double buffering.
25596 (grub_gfxterm_refresh): Likewise.
25597 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25598 (grub_video_fb_doublebuf_blit_init): Likewise.
25599 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25600 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25601 'displayed_page', 'render_page' and 'update_screen'.
25602 (grub_video_vbe_fini): Free offscreen buffer.
25603 (doublebuf_pageflipping_commit): New function.
25604 (doublebuf_pageflipping_update_screen): Likewise.
25605 (doublebuf_pageflipping_init): Likewise.
25606 (double_buffering_init): Likewise.
25607 (grub_video_vbe_setup): Enable doublebuffering.
25608 (grub_video_vbe_swap_buffers): Implement.
25609 (grub_video_vbe_set_active_render_target): Handle double buffering.
25610 (grub_video_vbe_get_active_render_target): Likewise.
25611 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25612 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25613 (grub_video_vbe_enable_double_buffering): Likewise.
25614 (grub_video_vbe_swap_buffers): Use update_screen.
25615 (grub_video_set_mode): Use double buffering.
25616
256172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 * maintainance/gentrigtables.py: Remove.
25620 * lib/trig.c: Likewise.
25621
25622 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25623
25624 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25625 `trigtables.c'.
25626 (trigtables.c): New rule.
25627 (gentrigtables): Likewise.
25628 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25629
256302010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25631
25632 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25633 integer constants.
25634
256352010-02-06 Colin D Bennet <colin@gibibit.com>
25636
25637 Trigonometry support.
25638
25639 * include/grub/trig.h: New file.
25640 * lib/trig.c: Likewise.
25641 * maintainance/gentrigtables.py: Likewise.
25642 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25643 (trig_mod_SOURCES): New variable.
25644 (trig_mod_CFLAGS): Likewise.
25645 (trig_mod_LDFLAGS): Likewise.
25646
5562834e
VS
256472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25648
25649 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25650 disk devices.
25651
4f8528fc
VS
256522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25653
25654 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25655 error.
25656
2b4068e9
VS
256572010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25658
25659 * util/hostdisk.c (open_device): Don't use partition device when reading
25660 before the partition.
25661 (grub_util_biosdisk_read): Don't read from partition and before the
25662 partition in single operation.
25663 (grub_util_biosdisk_write): Don't write to partition and before the
25664 partition in single operation.
25665
399f6e4d
TL
256662010-02-03 Torsten Landschoff <torsten@debian.org>
25667
25668 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25669 last sectors.
25670
996649b0
VS
256712010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25672
25673 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25674 CDROM reads.
25675 (grub_biosdisk_write): Refuse to write to CDROM.
25676
3b205d4d
VS
256772010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25678
25679 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25680
61e89d9d
VS
256812010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 * font/font.c (find_glyph): Check that bmp_idx is available before
25684 using it.
25685 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25686 with (font == NULL).
25687
bf7fcba2
CS
256882010-01-28 Christian Schmitt <chris@ilovelinux.de>
25689
25690 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25691
f45d2663
BC
256922010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25693
25694 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25695 * util/grub-script-check.c (getline): Fix empty lines case.
25696
ec1444e6
RM
256972010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25698
25699 * Makefile.in (check): Exit with fail status when one of the tests
25700 fails.
25701 * tests/example_functional_test.c (example_test): Fix reversed assert.
25702 * tests/example_unit_test.c (example_test): Likewise.
25703
2e1cb9bb
CW
257042010-01-28 Colin Watson <cjwatson@ubuntu.com>
25705
25706 * util/grub.d/10_linux.in: This script does not use any of the
25707 contents of gettext.sh, only the external command `gettext', so stop
25708 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25709 the same prefix as GRUB.)
25710 * util/grub.d/10_kfreebsd.in: Likewise.
25711
63533ab0
VS
257122010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25713
25714 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25715 of the line.
25716
989e1f93
VS
257172010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25718
25719 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25720 last sectors.
25721
e709ebe2
VS
257222010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25723
25724 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25725 having a 4KiB and not 32KiB buffer size.
25726
27dea7ed
RM
257272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25728
25729 * util/hostfs.c: Include `<errno.h>'.
25730 (grub_hostfs_read): Handle errors from fseeko() and fread().
25731
67667b9c
RM
257322010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25733
25734 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25735 loop when using read hooks on files whose size isn't sector-aligned.
25736
c294d9d8
RM
257372010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25738
25739 Remove unused parameter.
25740
25741 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25742 (grub_iso9660_open): Remove initialization of `data->length'.
25743
af75a9f1
RM
257442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25745
25746 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25747 memleak conditions.
25748
254e2ce5 257492010-01-27 Carles Pina i Estany <carles@pina.cat>
25750
25751 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25752 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25753
b510928c 257542010-01-26 Carles Pina i Estany <carles@pina.cat>
25755
25756 * util/bin2h.c (usage): Fix warning (space after backslash).
25757
aa2f9dd2 257582010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25759
25760 * font/font.c: Include `grub/fontformat.h.
25761 Remove font file format constants.
25762 (grub_font_load): Use the new macros.
25763 * include/grub/fontformat.h: New file.
25764 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25765 (write_font_pf2): Use the new macros.
25766
94e7e712
RM
257672010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25768
25769 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25770 does.
25771
3973a59a
RM
257722010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25773
25774 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25775
25776 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25777 (_start): Macroify `0x7F'.
25778
25779 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25780 (make_install_device): Use "(pxe)" as fallback prefix when booting
25781 via PXE.
25782
42e0cba3
GS
257832010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25784
25785 * configure.ac: Reset LIBS after check for libgcc symbols.
25786
847effd8
CW
257872010-01-25 Colin Watson <cjwatson@ubuntu.com>
25788
25789 * util/hostdisk.c (open_device): Add trailing newline to debug
25790 message.
25791
ea4a7e35
GS
257922010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25793
25794 * configure.ac: Check for `limits.h'.
25795 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25796
67951a53
RM
257972010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25798
25799 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25800 capitalize error strings.
25801
c273d4ce
ST
258022010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25803
25804 * util/grub.d/10_hurd.in: Add a recovery mode.
25805
69be5b74
VS
258062010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 * configure.ac: Check for libgcc symbols with -nostdlib.
25809
fc9e5810
BC
258102010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25811
25812 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25813
4b358c0a
VS
258142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25815
25816 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25817 stack since heap may be unavailable at that point.
25818 (grub_ofconsole_gotoxy): Likewise.
25819
454fcd1c
VS
258202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25821
25822 * configure.ac: Check for _restgpr_14_x.
25823 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25824 and _savegpr_* prototypes.
25825
566863ca
RM
258262010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25827
25828 Use generic grub_reboot() for i386-efi.
25829
25830 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25831 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25832 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25833
bf86e59a
VS
258342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25835
25836 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25837 presence of "prefix" variable as it breaks when normal.mod is
25838 embedded.
25839
d645e0f8
VS
258402010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25841
25842 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25843 stack since heap is unavailable at that point.
25844
f9ab2e25
VS
258452010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25846
25847 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25848 (grub_freebsd_bootinfo): Rewritten.
25849 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25850
01fc7054
VS
258512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25852
25853 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25854
caab4fd6
RM
258552010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25856
25857 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25858 domain now.
25859
67eb1427
FZ
258602010-01-20 Felix Zielcke <fzielcke@z-51.de>
25861
25862 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25863 around for handling "/" to the correct fix. Fix a memory leak. Use
25864 xstrdup instead of strdup.
25865
a9ed4ff3
VS
258662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25867
25868 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25869
258702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25871
25872 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25873
25874 * font/font.c (struct grub_font): New member 'bmp_idx'.
25875 (font_init): Initialise 'bmp_idx'.
25876 (load_font_index): Fill 'bmp_idx'.
25877 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25878
48209f4f
VS
258792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25880
25881 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25882 unnecessary calls.
25883
9f0a4bb7
VS
258842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25885
25886 Move context handling out of the kernel.
25887
25888 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25889 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25890 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25891 * conf/i386-efi.rmk: Likewise.
25892 * conf/i386-ieee1275.rmk: Likewise.
25893 * conf/i386-pc.rmk: Likewise.
25894 * conf/powerpc-ieee1275.rmk: Likewise.
25895 * conf/sparc64-ieee1275.rmk: Likewise.
25896 * conf/x86_64-efi.rmk: Likewise.
25897 * include/grub/env.h: Include grub/menu.h.
25898 (grub_env_var_type): Removed.
25899 (grub_env_var): Replaced field 'type' with 'global'.
25900 (grub_env_find): New prototype.
25901 (grub_env_context_open): Remove EXPORT_FUNC.
25902 (grub_env_context_close): Likewise.
25903 (grub_env_export): Likewise.
25904 (grub_env_set_data_slot): Removed.
25905 (grub_env_get_data_slot): Likewise.
25906 (grub_env_unset_data_slot): Likewise.
25907 (grub_env_unset_menu): New prototype.
25908 (grub_env_set_menu): Likewise.
25909 (grub_env_get_menu): Likewise.
25910 * include/grub/env_private.h: New file.
25911 * include/grub/normal.h (grub_context_init): New prototype.
25912 (grub_context_fini): Likewise.
25913 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25914 * normal/context.c (grub_cmd_export): ... to here.
25915 * kern/env.c: Include env_private.h.
25916 (HASHSZ): Moved to include/grub/env_private.h.
25917 (grub_env_context): Likewise.
25918 (grub_env_sorted_var): Likewise.
25919 (current_context): Renamed from this ...
25920 (grub_current_context): ...to this. 'static' removed. All users updated.
25921 (grub_env_find): Removed 'static'.
25922 (grub_env_context_open): Moved to normal/context.c.
25923 (grub_env_context_close): Likewise.
25924 (grub_env_export): Likewise.
25925 (mangle_data_slot_name): Removed.
25926 (grub_env_set_data_slot): Likewise.
25927 (grub_env_get_data_slot): Likewise.
25928 (grub_env_unset_data_slot): Likewise.
25929 * kern/main.c (grub_set_root_dev): Don't export root.
25930 It will be done later.
25931 (grub_main): Don't export prefix.
25932 It will be done later.
25933 * normal/context.c: New file.
25934 * normal/main.c (free_menu): Use grub_env_unset_menu.
25935 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25936 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25937 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25938 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25939
8dd35b8c
VS
259402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25941
25942 setpci support.
25943
25944 * commands/setpci.c: New file.
25945 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25946 (setpci_mod_SOURCES): New variable.
25947 (setpci_mod_CFLAGS): Likewise.
25948 (setpci_mod_LDFLAGS): Likewise.
25949
449193d5
VS
259502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25951
25952 Byte-addressable PCI configuration space.
25953
25954 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25955 dword address.
25956 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25957 GRUB_PCI_REG_CACHELINE.
25958 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25959 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25960 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25961 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25962 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25963 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25964 grub_pci_make_address.
25965 (lock_rom_area): Likewise.
25966 * commands/lspci.c (grub_lspci_iter): Use macroses
25967 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25968 of grub_pci_make_address.
25969 * disk/ata.c (grub_ata_pciinit): Likewise.
25970 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25971 (GRUB_PCI_REG_VENDOR): Likewise.
25972 (GRUB_PCI_REG_DEVICE): Likewise.
25973 (GRUB_PCI_REG_COMMAND): Likewise.
25974 (GRUB_PCI_REG_STATUS): Likewise.
25975 (GRUB_PCI_REG_REVISION): Likewise.
25976 (GRUB_PCI_REG_CLASS): Likewise.
25977 (GRUB_PCI_REG_CACHELINE): Likewise.
25978 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25979 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25980 (GRUB_PCI_REG_BIST): Likewise.
25981 (GRUB_PCI_REG_ADDRESSES): Likewise.
25982 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25983 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25984 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25985 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25986 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25987 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25988 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25989 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25990 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25991 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25992 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25993 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25994 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25995 (GRUB_PCI_REG_MIN_GNT): Likewise.
25996 (GRUB_PCI_REG_MAX_LAT): Likewise.
25997 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25998 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25999 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26000 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26001 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26002 space.
26003
96d73208
RM
260042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26005
26006 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26007 can be reliably determined to be supported.
26008
d4484482
RM
260092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26010
26011 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26012 that VESA is supported.
26013 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26014 supported.
26015
00308ecf
VS
260162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26017
26018 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26019
f66924a4
RM
260202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26021
26022 * util/misc.c (make_system_path_relative_to_its_root): Work around
26023 special-casing of "/", as previous incarnation of this routine did.
26024
cbca0ada
VS
260252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26026
26027 Fix any-emu compilation.
26028
26029 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26030 * grub_bin2h_SOURCES: New variable.
26031
34a66d99
RM
260322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26033
26034 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26035
94fabf58
RM
260362010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26037
26038 * util/grub.d/00_header.in: Fix handling of locale_dir.
26039
02cf98ca
VS
260402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26041
26042 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26043 as possible unifont location (Gentoo).
26044 Reported by: Alexander Brüning
26045
327dbcd7
VS
260462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26047
26048 Don't try to generate lists for kernel.img.
26049
26050 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26051 (pkglib_MODULES): Remove kernel.img.
26052 (kernel_img_EXPORTS): Removed.
26053 (kernel_img_RELOCATABLE): New variable.
26054 * conf/x86_64-efi.rmk: Likewise.
26055 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26056
ca467290
VS
260572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26058
26059 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26060 grub_xasprintf or grub_snprintf.
26061 (grub_vsprintf): Likewise.
26062 (grub_snprintf): New proto.
26063 (grub_vsnprintf): Likewise.
26064 (grub_xasprintf): Likewise.
26065 (grub_xvasprintf): Likewise.
26066 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26067 (grub_sprintf): Removed.
26068 (grub_vsnprintf): New function.
26069 (grub_snprintf): Likewise.
26070 (grub_xvasprintf): Likewise.
26071 (grub_xasprintf): Likewise.
26072 (grub_vsprintf): Renamed to ...
26073 (grub_vsnprintf_real): ...this. New argument max_len.
26074
aca655fd
BC
260752010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26076
26077 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26078 fix grub-script-check warning.
26079
7ee92c32
VS
260802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26081
26082 * include/grub/font.h (grub_font_load): Fix prototype.
26083
f80927ca
VS
260842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26085
26086 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26087
119c50ea
VS
260882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26089
26090 * include/grub/x86_64/at_keyboard.h: New file.
26091
47d5f3c1
VS
260922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26093
26094 * loader/mips/linux.c: Include missing grub/i18n.h.
26095
55ff5266
RM
260962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26097
26098 * normal/menu.c (notify_execution_failure): Clarify error message.
26099
c893cc87
RM
261002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26101
26102 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26103 return value (and revert all return statements). Update users.
26104
917dd370
CW
261052010-01-20 Dan Merillat <debian@dan.merillat.org>
26106
26107 * kern/device.c (grub_device_iterate): Allocate new part_ent
26108 structure based on sizeof (*p) rather than sizeof (p->next), to
26109 account for structure padding.
26110
26111 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26112 disk is NULL, which might happen for LVM physical volumes with no
26113 LVM signature.
26114
d4a4ee57
RM
261152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26116
26117 * loader/mips/linux.c (grub_cmd_initrd)
26118 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26119
261202009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26121
26122 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26123 (grub_video_video_init, grub_video_bitmap_init)
26124 (grub_font_manager_init, grub_term_gfxterm_init)
26125 (grub_at_keyboard_init): New extern declarations.
26126 (grub_machine_init): Initialize gfxterm and at_keyboard.
26127
26128 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26129
26130 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26131 `gfxterm.mod' into core image.
26132
26133 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26134 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26135 (kernel_img_FORMAT): Copy to ...
26136
26137 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26138 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26139 (kernel_img_FORMAT): ... here, and ...
26140
26141 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26142 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26143 (kernel_img_FORMAT): ... here.
26144
26145 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26146 and input (at_keyboard) terminals in kernel.
26147 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26148
26149 (pkglib_MODULES): Remove `pci.mod'.
26150 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26151 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26152 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26153 (at_keyboard_mod_LDFLAGS): Remove variables.
26154
261552010-01-11 Felix Zielcke <fzielcke@z-51.de>
26156
26157 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26158
261592009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26160
26161 * include/grub/mips/libgcc.h: Only export symbols for functions
26162 that libgcc provides.
26163
261642009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26165
26166 MIPS support.
26167
26168 * bus/bonito.c: New file.
26169 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26170 GRUB_PCI_NUM_DEVICES.
26171 * term/i386/pc/serial.c: Move to ...
26172 * term/serial.c: ... here. All users updated.
26173 * util/i386/pc/grub-mkimage.c: Move to ...
26174 * util/grub-mkrawimage.c: ... here. All users updated.
26175 * term/i386/pc/at_keyboard.c: Move to ...
26176 * term/at_keyboard.c: ... here. All users updated.
26177 * conf/mips-qemu-mips.rmk: New file.
26178 * conf/mips-yeeloong.rmk: Likewise.
26179 * conf/mips.rmk: Likewise.
26180 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26181 mipsel-qemu-mips.
26182 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26183 to port addresses.
26184 (grub_ata_pciinit): Support CS5536.
26185 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26186 * font/font_cmd.c (loadfont_command): Open file before passing it to
26187 grub_font_load.
26188 (pseudo_file_read): New function.
26189 (pseudo_file_close): Likewise.
26190 (pseudo_fs): New structure.
26191 (load_font_module): New function.
26192 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26193 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26194 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26195 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26196 * include/grub/i386/at_keyboard.h: Split into ...
26197 * include/grub/at_keyboard.h: ... this ...
26198 * include/grub/i386/at_keyboard.h: ... and this.
26199 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26200 New prototype.
26201 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26202 updated.
26203 (grub_elf64_size): Likewise.
26204 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26205 filename.
26206 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26207 * include/grub/i386/coreboot/serial.h: Rewritten.
26208 * include/grub/i386/ieee1275/serial.h: Include
26209 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26210 * include/grub/i386/pc/serial.h: Moved from here ...
26211 * include/grub/serial.h: ... to here. All users updated.
26212 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26213 (GRUB_PCI_NUM_BUS): Likewise.
26214 (GRUB_PCI_NUM_DEVICES): Likewise.
26215 (grub_pci_device_map_range): Add missing volatile keyword.
26216 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26217 * include/grub/mips/at_keyboard.h: New file.
26218 * include/grub/mips/cache.h: Likewise.
26219 * include/grub/mips/io.h: Likewise.
26220 * include/grub/mips/kernel.h: Likewise.
26221 * include/grub/mips/libgcc.h: Likewise.
26222 * include/grub/mips/pci.h: Likewise.
26223 * include/grub/mips/qemu-mips/boot.h: Likewise.
26224 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26225 * include/grub/mips/qemu-mips/loader.h: Likewise.
26226 * include/grub/mips/qemu-mips/memory.h: Likewise.
26227 * include/grub/mips/qemu-mips/serial.h: Likewise.
26228 * include/grub/mips/qemu-mips/time.h: Likewise.
26229 * include/grub/mips/relocator.h: Likewise.
26230 * include/grub/mips/time.h: Likewise.
26231 * include/grub/mips/types.h: Likewise.
26232 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26233 * include/grub/mips/yeeloong/boot.h: Likewise.
26234 * include/grub/mips/yeeloong/kernel.h: Likewise.
26235 * include/grub/mips/yeeloong/loader.h: Likewise.
26236 * include/grub/mips/yeeloong/memory.h: Likewise.
26237 * include/grub/mips/yeeloong/pci.h: Likewise.
26238 * include/grub/mips/yeeloong/serial.h: Likewise.
26239 * include/grub/mips/yeeloong/time.h: Likewise.
26240 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26241 * kern/elf.c (grub_elf32_size): New parameter. All users
26242 updated.
26243 (grub_elf64_size): Likewise.
26244 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26245 Load modules before saying "Welcome to GRUB!".
26246 Call grub_refresh after saying "Welcome to GRUB!".
26247 * kern/mips/cache.S: New file.
26248 * kern/mips/cache_flush.S: Likewise.
26249 * kern/mips/dl.c: Likewise.
26250 * kern/mips/init.c: Likewise.
26251 * kern/mips/qemu-mips/init.c: Likewise.
26252 * kern/mips/startup.S: Likewise.
26253 * kern/mips/yeeloong/init.c: Likewise.
26254 * kern/term.c (grub_putcode): Handle NULL terminal.
26255 (grub_getcharwidth): Likewise.
26256 (grub_getkey): Likewise.
26257 (grub_checkkey): Likewise.
26258 (grub_getkeystatus): Likewise.
26259 (grub_getxy): Likewise.
26260 (grub_getwh): Likewise.
26261 (grub_gotoxy): Likewise.
26262 (grub_cls): Likewise.
26263 (grub_setcolorstate): Likewise.
26264 (grub_setcolor): Likewise.
26265 (grub_getcolor): Likewise.
26266 (grub_refresh): Likewise.
26267 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26268 (write_jump): Add hatch nop.
26269 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26270 * lib/mips/setjmp.S: New file.
26271 * loader/mips/linux.c: Likewise.
26272 * term/i386/pc/at_keyboard.c: Move from here ...
26273 * term/at_keyboard.c: ... to here.
26274 * term/i386/pc/serial.c: Moved from here ...
26275 * term/serial.c: ... to here. All users updated.
26276 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26277 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26278 (serial_translate_key_sequence): Avoid deadlock.
26279 (grub_serial_getkey): Handle backspace.
26280 (grub_serial_putchar): Fix newline handling.
26281 * util/i386/pc/grub-mkimage.c: Move from here ...
26282 * util/grub-mkrawimage.c: ... to here. All users updated.
26283 (generate_image): New parameters 'font_path' and 'format'.
26284 Support embedding font.
26285 Use grub_host_to_target* instead of grub_cpu_to_le*.
26286 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26287 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26288 (options): New option "--font".
26289 (usage): Likewise.
26290 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26291 (main): Handle "--font".
26292 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26293 (grub_virtual_screen_setup): Set bg_color_display.
26294 (redraw_screen_rect): Use bg_color_display instead of incorrect
26295 bg_color.
26296 (grub_gfxterm_cls): Likewise.
26297 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26298 Support embedding config file.
26299 (add_segments): Likewise.
26300 (options): New option "--config".
26301 (main): Handle "--config".
26302 * video/sm712.c: New file.
26303
25c2b5b3
RM
263042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26305
26306 Fix parallel builds.
26307
26308 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26309 font.c depend on ascii.h).
26310
263112010-01-12 Carles Pina i Estany <carles@pina.cat>
26312
26313 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26314
263152010-01-11 Carles Pina i Estany <carles@pina.cat>
26316
26317 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26318 By default: disabled.
26319 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26320 parameter.
26321
263222010-01-10 Carles Pina i Estany <carles@pina.cat>
26323
26324 * font/font.c: Update copyright years.
26325 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26326
263272010-01-10 Carles Pina i Estany <carles@pina.cat>
26328
26329 * font/font.c: Include `ascii.h'.
26330 (ASCII_BITMAP_SIZE): New macro.
26331 (ascii_font_glyph): Define.
26332 (ascii_glyph_lookup): New function.
26333 (grub_font_get_string_width): Change comment. If glyph not found, use
26334 ascii_glyph_lookup.
26335 (grub_font_get_glyph_with_fallback): If glyph not available returns
26336 ascii_glyph_lookup.
26337 * util/grub-mkfont.c (file_formats): New enum.
26338 (options): Add `ascii-bitmaps' new option.
26339 (usage): Add `asii-bitmaps' new option.
26340 (write_font_ascii_bitmap): New function.
26341 (write_font): Rename to ...
26342 (write_font_p2): ... this. Remove print_glyphs call.
26343 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26344 used. Call print_glyphs.
26345 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26346
263472010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26348
26349 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26350 (grub_bin2h_SOURCES): New variable.
26351 * util/bin2h.c: New file.
26352
915fc1b8
VS
263532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26354
26355 * include/multiboot.h: Resynced with spec.
26356 * include/multiboot2.h: Likewise.
26357 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26358 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26359
9444b678
RM
263602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26361
26362 * include/grub/term.h (grub_term_register_input,
26363 grub_term_register_output): Check return of terminal init()
26364 routines, and abort if errors are raised.
26365
26366 * commands/terminal.c: Update copyright year.
26367
cba98e8d
RM
263682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26369
26370 * commands/terminal.c (grub_cmd_terminal_input)
26371 (grub_cmd_terminal_output): Check return of terminal init()
26372 routines, and abort if errors are raised.
26373
6f7db5d6
VS
263742010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26375
26376 * include/grub/i386/bsd.h: Fix include pathes.
26377
262bff8d
VS
263782010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26379
26380 Add missing *BSD copyright headers.
26381
26382 * include/grub/aout.h: Add BSD licence.
26383 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26384 * include/grub/i386/freebsd_linker.h: ... here,
26385 * include/grub/i386/freebsd_reboot.h: ... here,
26386 * include/grub/i386/netbsd_bootinfo.h: ... here,
26387 * include/grub/i386/netbsd_reboot.h: ... here,
26388 * include/grub/i386/openbsd_bootarg.h: ... here,
26389 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26390 licence to each file.
26391
b2cab848
RM
263922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26393
26394 * acinclude.m4: Remove `nop' assembly instruction; it's not
26395 implemented by all architectures.
26396
2cb6be4b
RM
263972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26398
26399 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26400 ELILO. This is no longer necessary.
26401
a2eaee15
BC
264022010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26403
26404 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26405
26406 * util/grub-script-check.c: grub-script-check tool.
26407 * conf/common.rmk: Make rules for grub-script-check.
26408
88d17012
RM
264092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26410
26411 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26412 spotting it back in 2008. Shame on me for forgetting he did.
26413
26414 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26415
8040619d
RM
264162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26417
26418 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26419 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26420 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26421 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26422 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26423 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26424
a0c2a0f6
RM
264252010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26426
26427 * include/grub/test.h: Add license header.
26428 * tests/example_functional_test.c: Likewise.
26429 * tests/example_unit_test.c: Likewise.
26430 * tests/lib/functional_test.c: Likewise.
26431 * tests/lib/test.c: Likewise.
26432 * tests/lib/unit_test.c: Likewise.
26433
b0b13907
VS
264342010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26435
26436 Use flag-based instead of hook-based video mode selection and "auto"
26437 keyword.
26438
26439 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26440 (grub_video_set_mode): Changed prototype. All users updated.
26441 (grub_video_check_mode_flag): New inline function.
26442 * video/video.c (parse_modespec): New function.
26443 (grub_video_set_mode): Parse flags and keywords.
26444
ea379330 264452010-01-17 Carles Pina i Estany <carles@pina.cat>
26446
26447 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26448 fprintf call.
26449
e15c215e
FZ
264502010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26451
26452 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26453
409ae1c9 264542010-01-16 Carles Pina i Estany <carles@pina.cat>
26455
26456 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26457 string.
26458 * util/grub-emu.c (usage): Likewise.
26459 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26460 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26461 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26462 * util/i386/pc/grub-setup.c (usage): Likewise.
26463
70a14d3d 264642010-01-16 Carles Pina i Estany <carles@pina.cat>
26465
26466 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26467 the message.
26468 (grub_util_info): Likewise.
26469 (grub_util_error): Likewise.
26470 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26471 and/or new lines in `grub_util_warna', `grub_util_info',
26472 `grub_util_error' calls.
26473 * util/getroot.c: Likewise.
26474 * util/grub-editenv.c: Likewise.
26475 * util/grub-emu.c: Likewise.
26476 * util/grub-fstest.c: Likewise.
26477 * util/grub-mkdevicemap.c: Likewise.
26478 * util/grub-mkfont.c: Likewise.
26479 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26480 * util/grub-mkrelpath.c: Likewise.
26481 * util/grub-pe2elf.c: Likewise.
26482 * util/grub-probe.c: Likewise.
26483 * util/hostdisk.c: Likewise.
26484 * util/i386/efi/grub-mkimage.c: Likewise.
26485 * util/i386/pc/grub-mkimage.c: Likewise.
26486 * util/i386/pc/grub-setup.c: Likewise.
26487 * util/ieee1275/ofpath.c: Likewise.
26488 * util/mkisofs/eltorito.c: Likewise.
26489 * util/mkisofs/rock.c: Likewise.
26490 * util/mkisofs/write.c: Likewise.
26491 * util/raid.c: Likewise.
26492 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26493 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26494
a0b766fc
VS
264952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26496
26497 Enable multiboot on non-pc.
26498
26499 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26500 multiboot.mod and multiboot2.mod to ...
26501 * conf/i386.rmk (pkglib_MODULES): ... here.
26502 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26503 Moved to ...
26504 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26505 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26506 Moved to ...
26507 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26508 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26509 Moved to ...
26510 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26511 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26512 Moved to ...
26513 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26514 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26515 relocator.mod.
26516 (ata_mod_SOURCES): Removed.
26517 (ata_mod_CFLAGS): Likewise.
26518 (ata_mod_LDFLAGS): Likewise.
26519 (relocator_mod_SOURCES): Removed.
26520 (relocator_mod_CFLAGS): Likewise.
26521 (relocator_mod_ASFLAGS): Likewise.
26522 (relocator_mod_LDFLAGS): Likewise.
26523 Include i386.mk.
26524 * include/grub/x86_64/multiboot.h: New file.
26525 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26526 Terminate EFI.
26527
884ade56
VS
265282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26529
26530 Video multiboot support.
26531
26532 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26533 New prototype.
26534 * include/multiboot.h: Resynced with multiboot specification.
26535 * include/multiboot2.h: Likewise.
26536 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26537 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26538 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26539 (HAS_VGA_TEXT): Likewise.
26540 (accepts_video): New variable.
26541 (grub_multiboot_set_accepts_video): New function.
26542 (grub_multiboot_get_mbi_size): Account for video structures.
26543 (set_video_mode): New function.
26544 (retrieve_video_parameters): Likewise.
26545 (grub_multiboot_make_mbi): Fill video fields.
26546
0d90e8a6
VS
265472010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26548
26549 Video driver ids.
26550
26551 * include/grub/video.h (grub_video_driver_id): New type.
26552 (grub_video_adapter): New member 'id'. All users updated.
26553 (grub_video_get_driver_id): New proto.
26554 * video/video.c (grub_video_get_driver_id): New function.
26555
5c71db1b 265562010-01-14 Carles Pina i Estany <carles@pina.cat>
26557
26558 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26559 `var=val'.
26560
cca15b52 265612010-01-14 Carles Pina i Estany <carles@pina.cat>
26562
26563 * normal/cmdline.c (print_completion): Gettextizze.
26564
c586fbb2 265652001-01-14 Carles Pina i Estany <carles@pina.cat>
26566
26567 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26568
ba2f6848 265692010-01-14 Carles Pina i Estany <carles@pina.cat>
26570
26571 * gettext/gettext.c (grub_gettext_translate): Push and pop
26572 grub_errno.
26573 (grub_gettext_delete_list): Change comment style.
26574 * kern/err.c (grub_error): Gettextizze.
26575 (grub_fatal): Gettextizze.
26576
0a46429a
RM
265772010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26578
26579 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26580 (grub_linux16_real_boot): ... this.
26581 * kern/i386/loader.S: Likewise.
26582 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26583 (grub_linux16_boot): New function. Switches to text mode and calls
26584 grub_linux16_real_boot().
26585
26586 * loader/i386/bsd.c: Include `<grub/video.h>'.
26587 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26588 text mode before calling grub_unix_real_boot().
26589
26590 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26591 (grub_multiboot_boot): Switch to text mode before calling
26592 grub_relocator32_boot().
26593
26594 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26595 (grub_chainloader_boot): Switch to text mode before calling
26596 grub_chainloader_real_boot().
26597
d6f93a66
RM
265982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
265992010-01-05 Colin Watson <cjwatson@ubuntu.com>
26600
26601 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26602 non-empty value.
26603
266042010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266052010-01-05 Colin Watson <cjwatson@ubuntu.com>
26606
26607 * util/grub.d/00_header.in: Define a "savedefault" function for use
26608 in menu entries.
26609 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26610
266112010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266122010-01-05 Colin Watson <cjwatson@ubuntu.com>
26613
26614 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26615 saved_entry if boot_once is unset.
26616 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26617 previous saved entry (i.e. grub-reboot).
26618
266192009-12-08 Colin Watson <cjwatson@ubuntu.com>
26620
26621 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26622
266232009-12-08 Colin Watson <cjwatson@ubuntu.com>
26624
26625 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26626 `var=val'.
26627 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26628
266292009-12-08 Colin Watson <cjwatson@ubuntu.com>
26630
26631 * util/grub-reboot.in: Fix --version output.
26632 * util/grub-set-default.in: Likewise.
26633
266342009-12-08 Colin Watson <cjwatson@ubuntu.com>
26635
26636 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26637 blocks.
26638
266392009-12-08 Colin Watson <cjwatson@ubuntu.com>
26640
26641 * util/grub.d/00_header.in: Quote the value assigned to `default',
26642 in case it contains spaces.
26643
266442009-12-08 Colin Watson <cjwatson@ubuntu.com>
26645
26646 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26647 `save_default_entry' call from the macosx case to the linux case.
26648
266492009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
266502009-10-25 Colin Watson <cjwatson@ubuntu.com>
26651
26652 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26653 in `chosen' environment variable.
26654 * normal/menu_text.c (get_entry_number): Check if the variable
26655 matches the title of a menu entry.
26656 (run_menu): Pass menu to get_entry_number.
26657
26658 * util/grub-reboot.in: New file.
26659 * util/grub-set-default.in: New file.
26660 * conf/common.rmk (grub-reboot): New utility.
26661 (grub-set-default): New utility.
26662
26663 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26664 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26665 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26666 move it to `saved_entry' for the next boot. Load environment on
26667 initialisation.
26668 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26669 * util/grub.d/10_hurd.in: Likewise.
26670 * util/grub.d/10_linux.in (linux_entry): Likewise.
26671 * util/grub.d/10_windows.in: Likewise.
26672 * util/grub.d/30_os-prober.in: Likewise.
26673
26674 * util/grub-install.in: Create environment block.
26675 * util/i386/efi/grub-install.in: Likewise.
26676 * util/ieee1275/grub-install.in: Likewise.
26677 * util/sparc64/ieee1275/grub-install.in: Likewise.
26678
0934d184
BC
266792010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26680
26681 Unit testing framework for GRUB.
26682
26683 * Makefile.in: Test framework build rules for 'make check'.
26684 * conf/tests.rmk: Build rules for individual tests and framework.
26685
26686 * include/grub/test.h: Header file for whitebox tests.
26687 * tests/lib/functional_test.c: Framework support for whitebox
26688 functional tests.
26689 * tests/lib/test.c: Common whitebox testing code for unit and
26690 functional tests.
26691 * tests/lib/unit_test.c: Framework support for whitebox unit
26692 tests.
26693
26694 * tests/util/grub-shell-tester.in: Support utility for grub-script
26695 tests.
26696 * tests/util/grub-shell.in: Utility to execute grub-script
26697 commands in a Qemu instance.
26698
26699 * tests/example_functional_test.c: Example whitebox functional
26700 test.
26701 * tests/example_grub_script_test.in: Example grub-script test.
26702 * tests/example_scripted_test.in: Example scripted test.
26703 * tests/example_unit_test.c: Example whitebox unit test.
26704
9c4ffeeb
VS
267052010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26708 Add loader/i386/multiboot_mbi.c.
26709 (multiboot2_mod_SOURCES): Likewise.
26710 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26711 (multiboot2_mod_SOURCES): Likewise.
26712 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26713 (grub_multiboot_make_mbi): Likewise.
26714 (grub_multiboot_free_mbi): Likewise.
26715 (grub_multiboot_init_mbi): Likewise.
26716 (grub_multiboot_add_module): Likewise.
26717 (grub_multiboot_set_bootdev): Likewise.
26718 * loader/i386/multiboot.c (mbi): Removed.
26719 (mbi_dest): Likewise.
26720 (alloc_mbi): New variable.
26721 (grub_multiboot_payload_size): Removed. All users updated.
26722 (grub_multiboot_pure_size): New variable.
26723 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26724 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26725 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26726 (grub_fill_multiboot_mmap): Likewise.
26727 (grub_multiboot_get_bootdev): Likewise.
26728 (grub_multiboot): Use multiboot_mbi functions.
26729 * loader/i386/multiboot_mbi.c: New file.
26730
17383dfe
VS
267312010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26734 it would result in module crash.
26735
c1f28820
VS
267362010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26737
26738 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26739 (grub_ofconsole_getwh): Split to ...
26740 (grub_ofconsole_getwh): ... this.
26741 (grub_ofconsole_dimensions): ...and this.
26742 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26743
58655a16
RM
267442010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26745
26746 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26747
10891398
VS
267482010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26749
26750 * loader/i386/pc/multiboot2.c: Removed stalled file.
26751
0b8a223c
VS
267522010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26753
26754 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26755 Reported by: Grégoire Sutre
26756
92ab12b0
RM
267572010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26758
26759 * util/misc.c (canonicalize_file_name): New function.
26760 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26761 instead of realpath().
26762
a788afb6
CW
267632010-01-11 Colin Watson <cjwatson@ubuntu.com>
26764
26765 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26766 and make it clearer that it's optional. Based on confusion
26767 witnessed on IRC.
26768
ffa8e3d2
VS
267692010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26770
26771 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26772 in premature implicit newline.
26773
e9060a9d
VS
267742010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26775
26776 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26777 which resulted in garbled command line at the end of screen.
26778
f0d0c0b7
RM
267792010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26780
26781 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26782 initialization with similar approach as with other Linux loaders.
26783
0e60bae7
RM
267842010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26785
26786 Fix i386-ieee1275 build.
26787
26788 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26789 and grub_term_height() for video_{width,height} initialization.
26790
267912010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26792
26793 Fix grub-emu build.
26794
26795 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26796
cdb3f378
RM
267972010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
267982010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26799
26800 Support for multiple terminals.
26801
26802 * Makefile.in (pkglib_DATA): terminal.lst.
26803 (terminal.lst): New target.
26804 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26805 (GRUB_MOD_INIT(handler)): Likewise.
26806 (GRUB_MOD_FINI(handler)): Likewise.
26807 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26808 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26809 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26810 (grub_cmd_sleep): Use grub_term_save_pos.
26811 * commands/terminal.c: New file.
26812 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26813 commands/terminal.c and lib/charset.c.
26814 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26815 (pkglib_MODULES): Add terminal.mod.
26816 (terminal_mod_SOURCES): New variable.
26817 (terminal_mod_CFLAGS): Likewise.
26818 (terminal_mod_LDFLAGS): Likewise.
26819 * genhandlerlist.sh: Don't handle terminals.
26820 * genmk.rb: Generate terminal-*.lst.
26821 * genterminallist.sh: New file.
26822 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26823 (grub_is_valid_utf8): Likewise.
26824 (grub_utf8_to_ucs4_alloc): Likewise.
26825 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26826 (grub_menu_register_viewer): Changed argument.
26827 (grub_menu_try_text): New proto.
26828 (grub_gfxmenu_try_hook): New declaration.
26829 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26830 (grub_menu_init_page): Additional argument term.
26831 (grub_normal_init_page): Likewise.
26832 (grub_cmdline_get): Arguments simplified.
26833 (grub_utf8_to_ucs4_alloc): Removed.
26834 (grub_print_ucs4): Additional argument term.
26835 (grub_getstringwidth): Likewise.
26836 (grub_print_message_indented): Likewise.
26837 (grub_menu_text_register_instances): New proto.
26838 (grub_show_menu): Likewise.
26839 (read_terminal_list): Likewise.
26840 (grub_set_more): Likewise.
26841 * include/grub/parser.h: Include handler.h.
26842 * include/grub/reader.h: Rewritten.
26843 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26844 (GRUB_TERM_WIDTH): Changed to function.
26845 (GRUB_TERM_HEIGHT): Likewise.
26846 (GRUB_TERM_BORDER_WIDTH): Likewise.
26847 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26848 (GRUB_TERM_NUM_ENTRIES): Likewise.
26849 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26850 (GRUB_TERM_CURSOR_X): Likewise.
26851 (grub_term_input_class): Likewise.
26852 (grub_term_output_class): Likewise.
26853 (grub_term_outputs_disabled): New declaration.
26854 (grub_term_inputs_disabled): Likewise.
26855 (grub_term_outputs): Likewise.
26856 (grub_term_inputs): Likewise.
26857 (grub_term_register_input): Rewritten.
26858 (grub_term_register_output): Likewise.
26859 (grub_term_unregister_input): Likewise.
26860 (grub_term_unregister_output): Likewise.
26861 (FOR_ACTIVE_TERM_INPUTS): New macro.
26862 (FOR_DISABLED_TERM_INPUTS): Likewise.
26863 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26864 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26865 * include/grub/terminfo.h: Add oterm argument to all protypes.
26866 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26867 Use grub_rescue_run.
26868 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26869 All users updated.
26870 * kern/reader.c: Removed. All users updated.
26871 * kern/rescue_reader.c (grub_rescue_init): Removed.
26872 (grub_rescue_reader): Likewise.
26873 (grub_register_rescue_reader): Likewise.
26874 (grub_rescue_run): New function based on kern/reader.c.
26875 * kern/term.c: Adapted for multiterm.
26876 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26877 (grub_is_valid_utf8): Likewise.
26878 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26879 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26880 right terminal.
26881 * loader/i386/linux.c (grub_linux_boot): Likewise.
26882 * normal/auth.c (grub_username_get): New function.
26883 (grub_auth_check_authentication): Use grub_username_get.
26884 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26885 * normal/color.c: Adapt for multiterm.
26886 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26887 (grub_normal_init_page): Additional argument term.
26888 (read_lists): Call read_terminal_lists.
26889 (grub_enter_normal_mode): Call grub_cmdline_run.
26890 Handle grub_normal_exit_level.
26891 (grub_cmd_normal): Make reentrant.
26892 (grub_cmd_normal_exit): New function.
26893 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26894 * normal/menu.c: Adapt for multiterm.
26895 * normal/menu_entry.c: Likewise.
26896 * normal/menu_text.c: Likewise.
26897 * normal/menu_viewer.c: Removed. All users updated.
26898 * normal/term.c: New file.
26899 * util/console.c: Change order of includes to workaround a bug in
26900 ncurses headers.
26901 * term/terminfo.c: New argument oterm on all exported functions.
26902 All users updated.
26903 * util/grub-editenv.c (grub_term_input_class): Removed.
26904 (grub_term_output_class): Likewise.
26905
1a064917
RM
269062010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26907
26908 Make loader output a bit more user-friendly.
26909
26910 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26911 is being loaded. Likewise for the Hurd.
26912
26913 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26914 that kernel of FreeBSD ${version} is being loaded.
26915
26916 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26917 grub_dprintf().
26918 (grub_cmd_initrd): Likewise.
26919 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26920 that Linux ${version} is being loaded. Likewise for initrd.
26921
5ce0a83a 269222010-01-09 Carles Pina i Estany <carles@pina.cat>
26923
26924 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26925
809bbfeb 269262010-01-08 Carles Pina i Estany <carles@pina.cat>
26927
26928 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26929 (GRUB_MOD_INIT): Gettextizze.
26930 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26931 (GRUB_MOD_INIT): Gettextizze.
26932 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26933 (grub_cmd_linux): Capitalise Linux.
26934 (GRUB_MOD_INIT): Gettextizze.
26935 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26936 (grub_cmd_linux): Capitalise Linux.
26937 (GRUB_MOD_INIT): Gettextizze.
26938 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26939 (grub_cmd_linux): Capitalise Linux.
26940 (GRUB_MOD_INIT): Gettextizze.
26941 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26942 (GRUB_MOD_INIT): Gettextizze.
26943 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26944 (grub_cmd_linux): Capitalise Linux.
26945 (GRUB_MOD_INIT): Gettextizze.
26946 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26947 (grub_cpu_xnu_init): Gettextizze.
26948 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26949 (GRUB_MOD_INIT): Gettextizze.
26950 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26951 (GRUB_MOD_INIT): Gettextizze.
26952 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26953 (grub_linux_load64): Capitalise Linux.
26954 (GRUB_MOD_INIT): Gettextizze.
26955 * loader/xnu.c: Include `<grub/i18n.h>'.
26956 (GRUB_MOD_INIT): Gettextizze.
26957 * po/POTFILES: Add `loader/efi/appleloader.c',
26958 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26959 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26960 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26961 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26962 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26963 and `loader/xnu.c'.
26964
b394b2ca
RM
269652010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26966
26967 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26968
269692010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26970
26971 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26972 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26973 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26974
bc8b32b3
RM
269752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26976
26977 Reset Multiboot 2 support. New loader implements the draft in
26978 /branches/multiboot2 and shares as much code as possible with the
26979 production Multiboot 1 implementation.
26980
26981 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26982 * loader/multiboot2.c: Likewise.
26983 * loader/i386/multiboot_helper.S: Likewise.
26984 * include/multiboot2.h: Replace with latest version from the draft
26985 in /branches/multiboot2.
26986
26987 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26988 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26989 and `loader/multiboot2.c'.
26990 (pkglib_MODULES): Add `multiboot2.mod'.
26991 (multiboot2_mod_SOURCES): New variable.
26992 (multiboot2_mod_LDFLAGS): Likewise.
26993 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26994
26995 * conf/i386-pc.rmk: Likewise.
26996
26997 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26998 (multiboot_mod_SOURCES): Remove variable.
26999 (multiboot_mod_LDFLAGS): Likewise.
27000 (multiboot_mod_CFLAGS): Likewise.
27001
27002 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27003 `<multiboot2.h>' instead of `<multiboot.h>'.
27004 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27005 (MULTIBOOT_HEADER_MAGIC): New macros.
27006
27007 * loader/multiboot_loader.c (module_version_status): Remove variable.
27008 (find_multi_boot2_header): Remove function.
27009 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27010 logic. Always check for the Multiboot version we're compiling for.
27011 (grub_cmd_module_loader): Likewise.
27012 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27013 command instead of `multiboot'.
27014
5d2c52b8
RM
270152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27016
27017 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27018 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27019 all users.
27020
53108d92
RM
270212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
270222010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27023
27024 Fix breakage introduced with previous commit.
27025
27026 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27027 commands.
27028 * normal/handler.c (read_handler_list): Revert part of previous commit
27029 affecting this file.
27030 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27031 (grub_normal_execute): ... here.
27032
e2e936b2
RM
270332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27034
27035 Merge prefix-redefinition-fix branch.
27036
27037 * normal/autofs.c (read_fs_list): Make function capable of being
27038 run multiple times, gracefuly replacing the previous data
27039 structures.
27040 * normal/dyncmd.c (read_command_list): Likewise.
27041 * normal/handler.c (read_handler_list): Likewise.
27042 * normal/main.c (read_lists): New function. Calls all the
27043 list reading functions.
27044 (grub_normal_execute): Use read_lists() instead of calling all
27045 list reading functions explicitly. Register read_lists() as a
27046 variable hook attached to ${prefix}.
27047
607a3701
VS
270482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27049
27050 Merge crypto branch.
27051
27052 * Makefile.in (pkglib_DATA): Add crypto.lst.
27053 (crypto.lst): New target.
27054 * commands/hashsum.c: New file.
27055 * commands/password.c (check_password): Use grub_crypto_memcmp.
27056 * commands/password_pbkdf2.c: New file.
27057 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27058 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27059 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27060 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27061 -I$(srcdir)/lib/libgcrypt_wrap.
27062 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27063 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27064 password_pbkdf2.mod.
27065 (crypto_mod_SOURCES): New variable.
27066 (crypto_mod_CFLAGS): Likewise.
27067 (crypto_mod_LDFLAGS): Likewise.
27068 (hashsum_mod_SOURCES): New variable.
27069 (hashsum_mod_CFLAGS): Likewise.
27070 (hashsum_mod_LDFLAGS): Likewise.
27071 (pbkdf2_mod_SOURCES): New variable.
27072 (pbkdf2_mod_CFLAGS): Likewise.
27073 (pbkdf2_mod_LDFLAGS): Likewise.
27074 (password_pbkdf2_mod_SOURCES): New variable.
27075 (password_pbkdf2_mod_CFLAGS): Likewise.
27076 (password_pbkdf2_mod_LDFLAGS): Likewise.
27077 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27078 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27079 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27080 Include conf/gcry.rmk.
27081 * include/grub/auth.h: Rewritten.
27082 * include/grub/crypto.h: New file.
27083 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27084 * include/grub/normal.h (read_crypto_list): New prototype.
27085 * lib/crypto.c: New file.
27086 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27087 * lib/pbkdf2.c: Likewise.
27088 * normal/auth.c (grub_auth_strcmp): Removed.
27089 (grub_iswordseparator): Likewise.
27090 (grub_auth_strword): Likewise.
27091 (is_authenticated): Use grub_strword.
27092 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27093 and grub_strword. Pass entered password to authentication callback.
27094 * normal/crypto.c: New file.
27095 * normal/main.c: Call read_crypto_list.
27096 * util/grub-mkpasswd-pbkdf2.c: New file.
27097 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27098
42841caa
VS
270992010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27100
27101 Fix descent and ascent calculation.
27102
27103 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27104 (options): New option "asce".
27105 (usage): Likewise.
27106 (add_char): Ignore invalid glyphs for descent calculation.
27107 Calculate ascent from actual content.
27108 (print_glyphs): Use 'asce'.
27109 (write_font): Likewise. Allow ascent override.
27110 (main): Handle "asce" option.
27111
e7730de7 271122010-01-06 Carles Pina i Estany <carles@pina.cat>
27113
27114 * kern/err.c: Include `<grub/i18n.h>'.
27115 (grub_print_error): Add full stop. Gettextizze.
27116 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27117 (grub_bsd_load_elf): Capitalise ELF.
27118 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27119 (grub_cmd_freebsd_module): Likewise.
27120 (grub_cmd_freebsd_module_elf): Likewise.
27121 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27122
40e3a41f 271232010-01-06 Carles Pina i Estany <carles@pina.cat>
27124
27125 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27126 * commands/search_file.c (HELP_MESSAGE): New macro.
27127 * commands/search_label.c (HELP_MESSAGE): Likewise.
27128 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27129 * po/POTFILES: Add `commands/search_file.c',
27130 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27131 `commands/search.c'.
27132
83507e68
RM
271332010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27134
27135 * config.rpath: Update from Gnulib.
27136
465c787b
YB
271372010-01-05 Yves Blusseau <blusseau@zetam.org>
27138
27139 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27140
6581dd3a
YB
271412010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27142
27143 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27144
3bff18c5
CW
271452010-01-05 Colin Watson <cjwatson@ubuntu.com>
27146
27147 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27148 arguments to fread so that we get a return value in bytes, rather
27149 than something that will normally be rounded down to 0.
27150 Adjust error handling to avoid producing garbage when size_t is not
27151 the same size as long long.
27152
a1368118
CW
271532010-01-05 Colin Watson <cjwatson@ubuntu.com>
27154
27155 * util/mkisofs/write.c (padblock_write): Check return value of
27156 fread.
27157
7c302978
RM
271582010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27159
27160 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27161 floppy images now.
27162
27163 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27164
e33ace06
RM
271652010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27166
27167 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27168 instead of manual alignment.
27169 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27170 verbose). Avoid attempts to read past end of the device
27171 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27172 but GRUB_DISK_CACHE_SIZE may exceed that).
27173
4b856776
RM
271742010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27175
27176 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27177 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27178 it to upper layer.
27179
52c2d97f
VS
271802010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27181
27182 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27183 New constant.
27184 (grub_efi_piwg_device_path): New structure
27185 (grub_efi_piwg_device_path_t): New type.
27186 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27187 (devpath_1): Transform to a structure. All users updated.
27188 (devpath_2): Likewise.
27189 (devpath_3): Likewise.
27190 (devpath_4): Likewise.
27191 (devpath_5): Likewise.
27192
98ff6a54
VS
271932010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27194
27195 * loader/efi/appleloader.c: Restored. Update all users.
27196
3a73dcb6
RM
271972010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27198
27199 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27200
27201 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27202 (struct boot_blocklist): Move from here ...
27203 * include/grub/i386/pc/boot.h [ASM_FILE]
27204 (struct grub_boot_blocklist): ... to here. Update all users.
27205 (setup): Only initialize `start' member of `first_block'
27206 structure. Add assert() calls to verify the other members.
27207
27208 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27209 (generate_image): Fix broken blocklist length initialization.
27210 Add assert() call to verify blocklist `segment' field.
27211
ab0eeb0c
RM
272122010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27213
27214 * loader/efi/appleloader.c: Remove. Update all users.
27215
58bc8bd5
RM
272162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27217
27218 * boot/i386/pc/boot.S: Update copyright year.
27219 * boot/i386/pc/cdboot.S: Likewise.
27220 * boot/i386/pc/diskboot.S: Likewise.
27221 * boot/i386/pc/lnxboot.S: Likewise.
27222 * boot/i386/pc/pxeboot.S: Likewise.
27223 * bus/pci.c: Likewise.
27224 * commands/cmp.c: Likewise.
27225 * commands/help.c: Likewise.
27226 * commands/hexdump.c: Likewise.
27227 * commands/i386/pc/halt.c: Likewise.
27228 * commands/i386/pc/play.c: Likewise.
27229 * commands/i386/pc/vbeinfo.c: Likewise.
27230 * commands/ls.c: Likewise.
27231 * commands/test.c: Likewise.
27232 * disk/dmraid_nvidia.c: Likewise.
27233 * disk/i386/pc/biosdisk.c: Likewise.
27234 * disk/ieee1275/nand.c: Likewise.
27235 * disk/ieee1275/ofdisk.c: Likewise.
27236 * disk/lvm.c: Likewise.
27237 * disk/raid.c: Likewise.
27238 * disk/raid6_recover.c: Likewise.
27239 * disk/scsi.c: Likewise.
27240 * fs/affs.c: Likewise.
27241 * fs/cpio.c: Likewise.
27242 * fs/ext2.c: Likewise.
27243 * fs/hfs.c: Likewise.
27244 * fs/iso9660.c: Likewise.
27245 * fs/ntfs.c: Likewise.
27246 * fs/sfs.c: Likewise.
27247 * fs/udf.c: Likewise.
27248 * fs/ufs.c: Likewise.
27249 * fs/xfs.c: Likewise.
27250 * gencmdlist.sh: Likewise.
27251 * genmk.rb: Likewise.
27252 * include/grub/disk.h: Likewise.
27253 * include/grub/efi/api.h: Likewise.
27254 * include/grub/efi/efi.h: Likewise.
27255 * include/grub/efi/pe32.h: Likewise.
27256 * include/grub/elf.h: Likewise.
27257 * include/grub/fs.h: Likewise.
27258 * include/grub/i386/at_keyboard.h: Likewise.
27259 * include/grub/i386/pc/memory.h: Likewise.
27260 * include/grub/i386/pc/vbe.h: Likewise.
27261 * include/grub/i386/pci.h: Likewise.
27262 * include/grub/i386/tsc.h: Likewise.
27263 * include/grub/ieee1275/ieee1275.h: Likewise.
27264 * include/grub/ntfs.h: Likewise.
27265 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27266 * include/grub/sparc64/libgcc.h: Likewise.
27267 * include/grub/symbol.h: Likewise.
27268 * include/grub/types.h: Likewise.
27269 * include/multiboot2.h: Likewise.
27270 * io/gzio.c: Likewise.
27271 * kern/device.c: Likewise.
27272 * kern/disk.c: Likewise.
27273 * kern/efi/efi.c: Likewise.
27274 * kern/efi/mm.c: Likewise.
27275 * kern/elf.c: Likewise.
27276 * kern/file.c: Likewise.
27277 * kern/i386/dl.c: Likewise.
27278 * kern/i386/pc/init.c: Likewise.
27279 * kern/i386/pc/startup.S: Likewise.
27280 * kern/ieee1275/ieee1275.c: Likewise.
27281 * kern/ieee1275/init.c: Likewise.
27282 * kern/main.c: Likewise.
27283 * kern/mm.c: Likewise.
27284 * kern/powerpc/dl.c: Likewise.
27285 * kern/sparc64/dl.c: Likewise.
27286 * kern/x86_64/dl.c: Likewise.
27287 * lib/hexdump.c: Likewise.
27288 * loader/efi/appleloader.c: Likewise.
27289 * loader/i386/ieee1275/linux.c: Likewise.
27290 * loader/i386/pc/chainloader.c: Likewise.
27291 * loader/i386/pc/linux.c: Likewise.
27292 * loader/i386/pc/multiboot2.c: Likewise.
27293 * loader/ieee1275/multiboot2.c: Likewise.
27294 * loader/multiboot2.c: Likewise.
27295 * loader/multiboot_loader.c: Likewise.
27296 * loader/powerpc/ieee1275/linux.c: Likewise.
27297 * normal/completion.c: Likewise.
27298 * normal/menu_entry.c: Likewise.
27299 * partmap/apple.c: Likewise.
27300 * util/grub.d/10_hurd.in: Likewise.
27301 * util/hostfs.c: Likewise.
27302 * video/readers/png.c: Likewise.
27303
e2d70b5c
CW
273042010-01-03 Colin Watson <cjwatson@ubuntu.com>
27305
27306 * include/grub/misc.h (GNUC_PREREQ): New macro.
27307 (ATTRIBUTE_ERROR): New macro.
27308 * include/grub/list.h (grub_bad_type_cast_real): Use
27309 ATTRIBUTE_ERROR.
27310
a173283f 273112010-01-03 Carles Pina i Estany <carles@pina.cat>
27312
27313 * normal/menu_text.c (print_message): Change messages.
27314
7fa7ff74 273152010-01-03 Carles Pina i Estany <carles@pina.cat>
27316
27317 * normal/menu_entry.c (store_completion): Gettextizze.
27318
136d24f6 273192010-01-03 Carles Pina i Estany <carles@pina.cat>
27320
27321 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27322
f936862e 273232010-01-03 Carles Pina i Estany <carles@pina.cat>
27324
27325 * po/POTFILES: Sort correctly.
27326
29c44ad1 273272010-01-03 Carles Pina i Estany <carles@pina.cat>
27328
27329 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27330 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27331 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27332 full stop.
27333 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27334 summary. Gettextizze the strings.
27335 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27336 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27337 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27338 full stop.
27339 (GRUB_MOD_INIT): Remove command name from summary.
27340 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27341 summary.
27342 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27343 * term/i386/pc/serial.c (options): Add full stops.
27344 (GRUB_MOD_INIT): Remove command name from the summary.
27345
77a79592 273462010-01-03 Carles Pina i Estany <carles@pina.cat>
27347
27348 * commands/acpi.c: Gettextizze help strings and/or options. Include
27349 `grub/i18n.h' if needed.
27350 * commands/blocklist.c: Likewise.
27351 * commands/boot.c: Likewise.
27352 * commands/cat.c: Likewise.
27353 * commands/cmp.c: Likewise.
27354 * commands/configfile.c: Likewise.
27355 * commands/crc.c: Likewise.
27356 * commands/date.c: Likewise.
27357 * commands/echo.c: Likewise.
27358 * commands/efi/fixvideo.c: Likewise.
27359 * commands/efi/loadbios.c: Likewise.
27360 * commands/gptsync.c: Likewise.
27361 * commands/halt.c: Likewise.
27362 * commands/handler.c: Likewise.
27363 * commands/hdparm.c: Likewise.
27364 * commands/hexdump.c: Likewise.
27365 * commands/i386/cpuid.c: Likewise.
27366 * commands/i386/pc/drivemap.c: Likewise.
27367 * commands/i386/pc/halt.c: Likewise.
27368 * commands/i386/pc/pxecmd.c: Likewise.
27369 * commands/i386/pc/vbeinfo.c: Likewise.
27370 * commands/i386/pc/vbetest.c: Likewise.
27371 * commands/ieee1275/suspend.c: Likewise.
27372 * commands/keystatus.c: Likewise.
27373 * commands/loadenv.c: Likewise.
27374 * commands/ls.c: Likewise.
27375 * commands/lsmmap.c: Likewise.
27376 * commands/lspci.c: Likewise.
27377 * commands/memrw.c: Likewise.
27378 * commands/minicmd.c: Likewise.
27379 * commands/parttool.c: Likewise.
27380 * commands/password.c: Likewise.
27381 * commands/probe.c: Likewise.
27382 * commands/read.c: Likewise.
27383 * commands/reboot.c: Likewise.
27384 * commands/search.c: Likewise.
27385 * commands/sleep.c: Likewise.
27386 * commands/test.c: Likewise.
27387 * commands/true.c: Likewise.
27388 * commands/usbtest.c: Likewise.
27389 * commands/videotest.c: Likewise.
27390 * commands/xnu_uuid.c: Likewise.
27391 * disk/loopback.c: Likewise.
27392 * hello/hello.c: Likewise.
27393 * loader/i386/bsd.c: Likewise.
27394 * term/i386/pc/serial.c: Likewise.
27395 * po/POTFILES: Add new files.
27396
da8d5c53
CW
273972010-01-02 Colin Watson <cjwatson@ubuntu.com>
27398
27399 * term/i386/pc/at_keyboard.c
27400 (keyboard_controller_wait_untill_ready): Rename to ...
27401 (keyboard_controller_wait_until_ready): ... this. Update all users.
27402
33937904 274032010-01-01 Carles Pina i Estany <carles@pina.cat>
27404
27405 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27406 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27407 string using string width.
27408 * normal/menu_text.c (grub_print_message_indented): Use
27409 grub_print_spaces and not print_spaces.
27410 (print_timeout): Likewise.
27411 (print_spaces): Move to...
27412 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27413
3fd3b8d8
RM
274142010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27415
27416 Import from Gnulib.
27417
27418 * gnulib/getdelim.c: New file.
27419 * gnulib/getline.c: Likewise.
27420
33433555
VS
274212009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27422
27423 * include/grub/list.h (grub_assert_fail): Removed.
27424 (grub_bad_type_cast_real): New function.
27425 (grub_bad_type_cast): New macro.
27426 (GRUB_AS_LIST): Use grub_bad_type_cast.
27427 (GRUB_AS_LIST_P): Likewise.
e44721e8 27428 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27429 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27430 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27431 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27432 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27433
f5a51306
VS
274342009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27435
27436 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27437 Fix syntax error.
27438
90d1e879
RM
274392009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27440
27441 * configure.ac: Check for TARGET_CFLAGS initialization before we
27442 initialize it ourselves (sigh).
27443 Move a few modifications to TARGET_CFLAGS to be unconditional
27444 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27445 eh_frame)
27446
27447 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27448 * term/i386/pc/at_keyboard.c
27449 (keyboard_controller_wait_untill_ready): Likewise.
27450 (keyboard_controller_led): Rename `led_status' paramter to avoid
27451 name conflict.
27452
465b5a81 274532009-12-28 Carles Pina i Estany <carles@pina.cat>
27454
27455 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27456 quotes.
27457
c181849b
VS
274582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27459
27460 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27461
9c8739a4
VS
274622009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27463
27464 * normal/menu_text.c (grub_print_message_indented): Prevent
27465 past-the-end-of-array dereference.
27466
3e74249c
VS
274672009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27468
27469 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27470 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27471
64fd18ed 274722009-12-27 Carles Pina i Estany <carles@pina.cat>
27473
27474 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27475 * normal/main.c (grub_normal_read_line): Remove a space from the
27476 default prompt.
27477
714af9b9 274782009-12-27 Carles Pina i Estany <carles@pina.cat>
27479
27480 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27481 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27482 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27483 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27484 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27485 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27486 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27487
82f3e412 274882009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27489
27490 * video/readers/jpeg.c (cmd): Declare.
27491 (grub_cmd_jpegtest): Use `grub_command_t' type.
27492 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27493 Assign to `cmd'.
27494 (GRUB_MOD_FINI): Use `cmd' to unregister.
27495 * video/readers/png.c (cmd): Declare.
27496 (grub_cmd_pngtest): Use `grub_command_t' type.
27497 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27498 Assign to `cmd'.
27499 (GRUB_MOD_FINI): Use `cmd' to unregister.
27500 * video/readers/tga.c (cmd): Declare.
27501 (grub_cmd_tgatest): Use `grub_command_t' type.
27502 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27503 Assign to `cmd'.
27504 (GRUB_MOD_FINI): Use `cmd' to unregister.
27505
82f3e412 275062009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27507
27508 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27509 stops.
27510 * kern/corecmd.c (grub_register_core_commands): Likewise.
27511 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27512 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27513 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27514 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27515 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27516 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27517 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27518 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27519 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27520 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27521 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27522 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27523 * normal/handler.c (insert_handler): Likewise.
27524 * normal/main.c (GRUB_MOD_INIT): Likewise.
27525 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27526
fdcdbb66 275272009-12-26 Carles Pina i Estany <carles@pina.cat>
27528
27529 * commands/help.c (grub_cmd_help): Print the command name before the
27530 summary.
27531 (GRUB_MOD_INIT): Remove command name from the summary.
27532 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27533 string as summary.
fdcdbb66 27534 * lib/arg.c (find_long): Print the command name before the summary.
27535 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27536 summary.
27537 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27538 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27539 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27540 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27541 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27542 * commands/date.c (GRUB_MOD_INIT): Likewise.
27543 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27544 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27545 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27546 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27547 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27548 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27549 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27550 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27551 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27552 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27553 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27554 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27555 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27556 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27557 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27558 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27559 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27560 * commands/password.c (GRUB_MOD_INIT): Likewise.
27561 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27562 * commands/read.c (GRUB_MOD_INIT): Likewise.
27563 * commands/search.c (GRUB_MOD_INIT): Likewise.
27564 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27565 * commands/test.c (GRUB_MOD_INIT): Likewise.
27566 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27567 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27568 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27569 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27570 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27571 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27572 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27573 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27574 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27575 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27576 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27577 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27578 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27579 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27580
9c288be2
VS
275812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27582
27583 Use search command for preliminar UUID search.
27584
27585 * commands/search.c: Split into ...
27586 * commands/search_wrap.c: ...this
27587 * commands/search.c: ...and this.
27588 * commands/search_file.c: New file.
27589 * commands/search_label.c: New file.
27590 * commands/search_uuid.c: New file.
27591 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27592 Add commands/search_wrap.c, commands/search_file.c,
27593 commands/search_label.c and commands/search_uuid.c.
27594 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27595 (search_mod_SOURCES): Set to commands/search_wrap.c.
27596 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27597 search_label.mod.
27598 (search_fs_file_mod_SOURCES): New variable.
27599 (search_fs_file_mod_CFLAGS): Likewise.
27600 (search_fs_file_mod_LDFLAGS): Likewise.
27601 (search_label_mod_SOURCES): Likewise.
27602 (search_label_mod_CFLAGS): Likewise.
27603 (search_label_mod_LDFLAGS): Likewise.
27604 (search_fs_uuid_mod_SOURCES): New variable.
27605 (search_fs_uuid_mod_CFLAGS): Likewise.
27606 (search_fs_uuid_mod_LDFLAGS): Likewise.
27607 (fs_file_mod_SOURCES): Removed.
27608 (fs_file_mod_CFLAGS): Likewise.
27609 (fs_file_mod_LDFLAGS): Likewise.
27610 (fs_uuid_mod_SOURCES): Removed.
27611 (fs_uuid_mod_CFLAGS): Likewise.
27612 (fs_uuid_mod_LDFLAGS): Likewise.
27613 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27614 Set to util/grub-install.in.
27615 * disk/fs_file.c: Removed.
27616 * disk/fs_uuid.c: Likewise.
27617 * include/grub/search.h: New file.
27618 * util/grub-install.in: Handle sparc64.
27619 Create and use load.cfg.
27620 * util/sparc64/ieee1275/grub-install.in: Removed.
27621
db943399
VS
276222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27625 Ignore return status if CF is cleared.
27626 (grub_biosdisk_get_diskinfo_standard): Likewise.
27627
3fdae612
RM
276282009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27629
27630 * term/i386/pc/at_keyboard.c
27631 (keyboard_controller_wait_untill_ready): New function.
27632 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27633 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27634 for keyboard polling, rather than duplicate the same loop. This
27635 saves a few bytes in code size.
27636
7ebaa2b4
VS
276372009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27638
27639 Support for (pxe[:server[:gateway]]) syntax and
27640 use environment variable for PXE.
27641
27642 * commands/i386/pc/pxecmd.c (options): Removed.
27643 (print_ip): Removed.
27644 (grub_cmd_pxe): Removed
27645 (grub_cmd_pxe_unload): New function.
27646 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27647 (grub_pxe_your_ip): Made static.
27648 (grub_pxe_default_server_ip): Likewise.
27649 (grub_pxe_default_gateway_ip): Likewise.
27650 (grub_pxe_blksize): Likewise.
27651 (parse_ip): New function.
27652 (grub_pxe_open): Support server and gateway specification.
27653 (grub_pxe_close): Free disk->data.
27654 (grub_pxefs_open): Use disk->data.
27655 (grub_pxefs_read): Likewise.
27656 (grub_env_write_readonly): New function.
27657 (set_mac_env): Likewise.
27658 (set_env_limn_ro): Likewise.
27659 (parse_dhcp_vendor): Likewise.
27660 (grub_pxe_detect): Set the environment variables.
27661 (set_ip_env): New function.
27662 (write_ip_env): Likewise.
27663 (grub_env_write_pxe_default_server): Likewise.
27664 (grub_env_write_pxe_default_gateway): Likewise.
27665 (grub_env_write_pxe_blocksize): Likewise.
27666 (GRUB_MOD_INIT(pxe)): Set environment variables.
27667 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27668 (grub_pxe_mac_addr_t): ... this. All users updated.
27669 (grub_pxe_your_ip): Removed.
27670 (grub_pxe_server_ip): Likewise.
27671 (grub_pxe_gateway_ip): Likewise.
27672 (grub_pxe_blksize): Likewise.
27673
ec5f98ab 276742009-12-25 Carles Pina i Estany <carles@pina.cat>
27675
27676 * commands/help.c: Include `<grub/i18n.h>'.
27677 (grub_cmd_help): Gettextizze.
27678 (GRUB_MOD_INIT): Likewise.
27679 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27680 (GRUB_MOD_INIT): Gettextizze.
27681 * commands/search.c: Include `<grub/i18n.h>'.
27682 (options): Gettextizze.
27683 (GRUB_MOD_INIT): Gettextizze.
27684 * lib/arg.c: Include `<grub/i18n.h>'.
27685 (help_options): Gettextizze.
27686 (find_long): Likewise.
27687 (grub_arg_show_help): Likewise.
27688 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27689 (read_command_list): Gettextizze.
27690 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27691 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27692
22815526
RM
276932009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27694
27695 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27696 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27697 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27698 (led_status): New variable.
27699 (keyboard_controller_led): New function.
27700 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27701 update led status for caps lock, num lock and scroll lock.
27702
0ad46fd7
FZ
277032009-12-25 Felix Zielcke <fzielcke@z-51.de>
27704
27705 * util/hostdisk.c (open_device): Fix a comment.
27706
d0e158c2
RM
277072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27708
27709 * util/grub-install.in (host_os): New variable.
27710 * util/i386/efi/grub-install.in (host_os): Likewise.
27711
401c0ad6
RM
277122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27713
27714 * util/mkisofs/write.c (padblock_write): Abort when given an
27715 excedingly large embed image, instead of silently truncating it.
27716
d14d3370
RM
277172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27718
27719 * include/multiboot.h: Indentation fixes.
27720
eeed10b4
RM
277212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27722
27723 * include/multiboot.h (struct multiboot_aout_symbol_table)
27724 (struct multiboot_elf_section_header_table): New structure
27725 declarations (stolen from GRUB Legacy).
27726 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27727 table information.
27728
27729 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27730 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27731 type aliases.
27732
681c70ab
RM
277332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27734
27735 * include/multiboot.h: Make comments src2texi-friendly.
27736
e4d47d8d
RM
277372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27738
27739 For consistency with [multiboot]/docs/boot.S.
27740
27741 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27742 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27743 (MULTIBOOT_MAGIC2): Rename from this ...
27744 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27745
a0b70bda
RM
277462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27747
27748 * include/multiboot.h: Remove `<grub/types.h>'.
27749 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27750 types. Update all users.
27751
61ba42be 277522009-12-25 Carles Pina i Estany <carles@pina.cat>
27753
27754 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27755 `couldn't' and `can not' by `cannot'.
27756 * commands/i386/pc/drivemap.c: Likewise.
27757 * disk/ata.c: Likewise.
27758 * disk/ieee1275/nand.c: Likewise.
27759 * fs/affs.c: Likewise.
27760 * fs/fat.c: Likewise.
27761 * fs/hfs.c: Likewise.
27762 * fs/hfsplus.c: Likewise.
27763 * fs/iso9660.c: Likewise.
27764 * fs/jfs.c: Likewise.
27765 * fs/minix.c: Likewise.
27766 * fs/reiserfs.c: Likewise.
27767 * fs/sfs.c: Likewise.
27768 * fs/udf.c: Likewise.
27769 * fs/ufs.c: Likewise.
27770 * fs/xfs.c: Likewise.
27771 * loader/powerpc/ieee1275/linux.c: Likewise.
27772 * loader/sparc64/ieee1275/linux.c: Likewise.
27773 * util/grub-probe.c: Likewise.
27774 * util/misc.c: Likewise.
27775
7fd0baee 277762009-12-24 Carles Pina i Estany <carles@pina.cat>
27777
27778 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27779 grub_errno calls.
27780 * commands/acpi.c: Likewise.
27781 * commands/blocklist.c: Likewise.
27782 * commands/efi/loadbios.c: Likewise.
27783 * commands/i386/pc/drivemap.c: Likewise.
27784 * commands/loadenv.c: Likewise.
27785 * commands/memrw.c: Likewise.
27786 * commands/password.c: Likewise.
27787 * commands/videotest.c: Likewise.
27788 * disk/ata.c: Likewise.
27789 * disk/ata_pthru.c: Likewise.
27790 * disk/dmraid_nvidia.c: Likewise.
27791 * disk/ieee1275/nand.c: Likewise.
27792 * disk/ieee1275/ofdisk.c: Likewise.
27793 * disk/loopback.c: Likewise.
27794 * disk/lvm.c: Likewise.
27795 * disk/mdraid_linux.c: Likewise.
27796 * disk/raid.c: Likewise.
27797 * disk/raid6_recover.c: Likewise.
27798 * disk/scsi.c: Likewise.
27799 * efiemu/main.c: Likewise.
27800 * efiemu/mm.c: Likewise.
27801 * efiemu/pnvram.c: Likewise.
27802 * efiemu/symbols.c: Likewise.
27803 * font/font.c: Likewise.
27804 * fs/cpio.c: Likewise.
27805 * fs/hfsplus.c: Likewise.
27806 * fs/iso9660.c: Likewise.
27807 * fs/jfs.c: Likewise.
27808 * fs/minix.c: Likewise.
27809 * fs/ntfs.c: Likewise.
27810 * fs/ntfscomp.c: Likewise.
27811 * fs/reiserfs.c: Likewise.
27812 * fs/ufs.c: Likewise.
27813 * fs/xfs.c: Likewise.
27814 * gettext/gettext.c: Likewise.
27815 * include/grub/auth.h: Likewise.
27816 * kern/elf.c: Likewise.
27817 * kern/file.c: Likewise.
27818 * kern/ieee1275/init.c: Likewise.
27819 * kern/ieee1275/mmap.c: Likewise.
27820 * kern/ieee1275/openfw.c: Likewise.
27821 * kern/powerpc/dl.c: Likewise.
27822 * kern/sparc64/dl.c: Likewise.
27823 * lib/arg.c: Likewise.
27824 * loader/i386/bsd.c: Likewise.
27825 * loader/i386/bsdXX.c: Likewise.
27826 * loader/i386/efi/linux.c: Likewise.
27827 * loader/i386/efi/xnu.c: Likewise.
27828 * loader/i386/ieee1275/linux.c: Likewise.
27829 * loader/i386/linux.c: Likewise.
27830 * loader/i386/multiboot.c: Likewise.
27831 * loader/i386/pc/linux.c: Likewise.
27832 * loader/i386/pc/multiboot2.c: Likewise.
27833 * loader/i386/xnu.c: Likewise.
27834 * loader/ieee1275/multiboot2.c: Likewise.
27835 * loader/macho.c: Likewise.
27836 * loader/machoXX.c: Likewise.
27837 * loader/multiboot2.c: Likewise.
27838 * loader/multiboot_loader.c: Likewise.
27839 * loader/powerpc/ieee1275/linux.c: Likewise.
27840 * loader/sparc64/ieee1275/linux.c: Likewise.
27841 * loader/xnu.c: Likewise.
27842 * loader/xnu_resume.c: Likewise.
27843 * mmap/i386/pc/mmap.c: Likewise.
27844 * normal/menu_viewer.c: Likewise.
27845 * partmap/acorn.c: Likewise.
27846 * partmap/amiga.c: Likewise.
27847 * partmap/apple.c: Likewise.
27848 * script/lexer.c: Likewise.
27849 * term/gfxterm.c: Likewise.
27850 * term/i386/pc/serial.c: Likewise.
27851 * term/i386/pc/vga.c: Likewise.
27852 * term/ieee1275/ofconsole.c: Likewise.
27853 * term/terminfo.c: Likewise.
27854 * video/bitmap.c: Likewise.
27855 * video/efi_gop.c: Likewise.
27856 * video/efi_uga.c: Likewise.
27857 * video/fb/video_fb.c: Likewise.
27858 * video/i386/pc/vbe.c: Likewise.
27859 * video/readers/tga.c: Likewise.
27860 * video/video.c: Likewise.
27861
0ad46fd7 278622009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27863
27864 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27865 * commands/lspci.c: Likewise.
27866 * commands/probe.c: Likewise.
27867 * commands/xnu_uuid.c: Likewise.
27868 * conf/i386-coreboot.rmk: Likewise.
27869 * conf/i386-efi.rmk: Likewise.
27870 * conf/i386-ieee1275.rmk: Likewise.
27871 * conf/i386-pc.rmk: Likewise.
27872 * conf/powerpc-ieee1275.rmk: Likewise.
27873 * conf/sparc64-ieee1275.rmk: Likewise.
27874 * conf/x86_64-efi.rmk: Likewise.
27875 * fs/i386/pc/pxe.c: Likewise.
27876 * gettext/gettext.c: Likewise.
27877 * include/grub/efi/graphics_output.h: Likewise.
27878 * include/grub/i386/pc/memory.h: Likewise.
27879 * kern/env.c: Likewise.
27880 * kern/i386/qemu/startup.S: Likewise.
27881 * lib/i386/pc/biosnum.c: Likewise.
27882 * lib/i386/relocator.c: Likewise.
27883 * lib/i386/relocator_asm.S: Likewise.
27884 * lib/relocator.c: Likewise.
27885 * loader/i386/bsd.c: Likewise.
27886 * loader/i386/multiboot.c: Likewise.
27887 * loader/i386/pc/chainloader.c: Likewise.
27888 * loader/i386/xnu.c: Likewise.
27889 * loader/xnu.c: Likewise.
27890 * normal/main.c: Likewise.
27891 * normal/menu_text.c: Likewise.
27892 * util/getroot.c: Likewise.
27893 * util/grub-mkconfig_lib.in: Likewise.
27894 * util/grub.d/00_header.in: Likewise.
27895 * util/i386/pc/grub-mkimage.c: Likewise.
27896 * util/mkisofs/eltorito.c: Likewise.
27897 * util/mkisofs/exclude.h: Likewise.
27898 * util/mkisofs/hash.c: Likewise.
27899 * util/mkisofs/iso9660.h: Likewise.
27900 * util/mkisofs/joliet.c: Likewise.
27901 * util/mkisofs/mkisofs.c: Likewise.
27902 * util/mkisofs/mkisofs.h: Likewise.
27903 * util/mkisofs/multi.c: Likewise.
27904 * util/mkisofs/name.c: Likewise.
27905 * util/mkisofs/rock.c: Likewise.
27906 * util/mkisofs/tree.c: Likewise.
27907 * util/mkisofs/write.c: Likewise.
27908 * video/efi_gop.c: Likewise.
27909
009ec743
VS
279102009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27911
27912 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27913 size counting.
27914
0ad46fd7 279152009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27916
27917 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27918 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27919
d3d30ea0
VS
279202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27921
27922 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27923 (GRUB_MOD_INIT(memrw)): Update help line.
27924
a34f5c70
VS
279252009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27926
27927 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27928 Use grub_extcmd_t. All users updated.
27929 (options): New variable.
27930 (grub_cmd_read): Restructure for readability. Support "-v" option.
27931 (grub_cmd_write): Restructure for readability.
27932
0ad46fd7 279332009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27934
27935 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27936
0ad46fd7 279372009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27938
27939 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27940 with the actual contents of the correspondending make variable.
27941 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27942 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27943 specifying `*.lst' and `efiemu??.o'
27944
0ad46fd7 279452009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27946
27947 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27948 after function name.
27949 Noticed by Rene Engelhard <rene@debian.org>.
27950
dc77a799
VS
279512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27952
27953 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27954 (options): New variable.
27955 (iospace): Likewise.
27956 (grub_lspci_iter): List IO spaces if "-i" was given.
27957 (grub_cmd_lspci): Parse options.
27958 (GRUB_MOD_INIT(lspci)): Use extcmd.
27959 (GRUB_MOD_FINI(lspci)): Likewise.
27960
0ad46fd7 279612009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27962
27963 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27964 `function' keyword.
27965 Patch by Tony Mancill <tmancill@debian.org>.
27966
b5d5993b
VS
279672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27968
27969 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27970 (grub_uhci_portstatus): Likewise.
27971 (grub_uhci_portstatus): Add necessary delay.
11d18281 27972 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 27973
941903f2 279742009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 27975
941903f2 27976 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27977 (GRUB_MOD_INIT): Likewise.
27978 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 27979 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27980 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 27981 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27982 (enable_rom_area): Likewise.
27983 (GRUB_MOD_INIT): Likewise.
27984 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27985 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27986 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27987 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27988 * commands/hexdump.c (options): Likewise.
27989 * commands/i386/cpuid.c (options): Likewise.
27990 (GRUB_MOD_INIT): Likewise.
27991 * commands/i386/pc/drivemap.c (options): Likewise.
27992 (GRUB_MOD_INIT): Likewise.
27993 * commands/i386/pc/halt (options): Likewise.
27994 (GRUB_MOD_INIT): Likewise.
27995 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27996 * commands/i386/pc/pxecmd.c (options): Likewise.
27997 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27998 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27999 * commands/keystatus.c (options): Likewise.
28000 (GRUB_MOD_INIT): Likewise.
28001 * commands/loadenv.c (options): Likewise.
28002 * commands/ls.c (options): Likewise.
28003 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28004 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28005 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28006 * commands/parttool.c (helpmsg): Likewise.
28007 * commands/probe.c (options): Likewise.
28008 * commands/read.c (GRUB_MOD_INIT): Likewise.
28009 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28010 * commands/search.c (options): Likewise.
28011 * commands/sleep.c (options): Likewise.
28012 * commands/test.c (GRUB_MOD_INIT): Likewise.
28013 * commands/true.c (GRUB_MOD_INIT): Likewise.
28014 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28015 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28016 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28017 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28018 `$(XGETTEXT)'.
98a50553 28019 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28020
0ad46fd7 280212009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28022
ef3c2c3a 28023 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28024 instead of specifying them explicit.
28025
7922f68b
RM
280262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28027
28028 * NEWS: Add grub-probe support for GNU/Hurd.
28029
537ce47f
RM
280302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28031
28032 * NEWS: gettext was added after 1.97.
28033
9b214e3a
RM
280342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28035
28036 * util/mkisofs/msdos_partition.h: New file (based on
28037 include/grub/msdos_partition.h).
28038 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28039 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28040 (ld_options, main): Recognize --protective-msdos-label.
28041 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28042 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28043 (padblock_write): If `use_protective_msdos_label' is set, patch a
28044 protective DOS-style label in the output image.
28045
28046 * util/grub-mkrescue.in: Use --protective-msdos-label.
28047
e9309813
RM
280482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28049
28050 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28051 boot.
28052
0ae56929
RM
280532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28054
28055 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28056 variables.
28057 (ld_options, main): Recognize `--embedded-boot'.
28058 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28059 declarations.
28060 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28061 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28062 (padblock_write): Likewise. Rewrite to support embedded boot image.
28063
28064 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28065 for BIOS-based disk boot instead of only ElTorito.
28066
b15937b1
RM
280672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28068
28069 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28070 build (not needed for bootstrap).
28071
52cc3ce0
RM
280722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28073
28074 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28075 from i386-pc build (not needed for bootstrap).
28076 Rewrite a pair of strings.
28077
36f5ff04
RM
280782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28079
28080 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28081
973c6c85 280822009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28083
28084 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28085
05d21547
AB
280862009-12-21 Andreas Born <futur.andy@googlemail.com>
28087
28088 * kern/env.c (grub_env_context_open): Mark exported variable for
28089 reexport.
28090
0175d51f
AB
280912009-12-21 Andreas Born <futur.andy@googlemail.com>
28092
28093 * kern/env.c (grub_env_export): Create nonexistent variables before
28094 exporting.
28095
7f39d92f 280962009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28097
7f39d92f 28098 * include/grub/auth.h: Include `<grub/i18n.h>'.
28099 (GRUB_GET_PASSWORD): Gettextizze string.
28100 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28101 menu_text.c.
28102 (grub_utf8_to_ucs4_alloc): Fix indentation.
28103 (grub_print_ucs4): Likewise.
28104 (grub_getstringwidth): Likewise.
28105 (print_message_indented): New declaration.
28106 * normal/auth.c: Include `<grub/i18n.h>'.
28107 (grub_auth_check_authentication): Gettexttize string.
28108 * normal/cmdline.c: Include `<grub/i18n.h>'.
28109 (grub_cmdline_get): Gettextizze.
28110 * normal/color.c: Include `<grub/i18n.h>'.
28111 (grub_parse_color_name_pair): Gettexttize strings.
28112 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28113 string (use `print_message_indented').
28114 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28115 `include/grub/normal.h'.
28116 (print_message_indented): Renamed to ...
28117 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28118 used in normal/main.c).
28119 (print_message): Use `grub_print_message_indented' instead of
28120 `print_message_indented'.
28121 (print_timeout): Likewise.
28122 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28123 (grub_normal_print_device_info): Gettexttize strings.
28124 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28125
3041d898
VS
281262009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28127
28128 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28129 of arguments. Return number of tokens and not arguments. All users
28130 updated.
28131
de15bf8e
VS
281322009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28135 non-MSDOS paritions.
28136
e0a6ca52
VS
281372009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28138
28139 * include/grub/types.h (UNUSED): Removed since it conflicts with
28140 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28141 Reported by Grégoire Sutre.
28142
b99518d1 281432009-12-19 Carles Pina i Estany <carles@pina.cat>
28144
28145 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28146 (grub_print_ucs4_alloc): Likewise.
28147 (grub_getstringwidth): Likewise.
28148 * normal/main.c (grub_normal_init_page): Gettextize version string.
28149 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28150 (getstringwidth): Renamed to ...
28151 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28152 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28153 (grub_print_ucs4): Remove `static' qualifer (now used in
28154 normal/main.c).
28155 * po/POTFILES: Add normal/main.c.
28156
bfd5e52b 281572009-12-19 Carles Pina i Estany <carles@pina.cat>
28158
28159 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28160 (print_message_indented): Add `margin_left' and `margin_right'
28161 parameters.
28162 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28163 strings.
28164 (print_timeout): Use `print_message_indented' to print the message.
28165 Deletes `second_stage' parameter.
28166 (run_menu): Update `print_timeout' calls.
28167
5a1ad2b9
VS
281682009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28169
28170 Fix console palette on OpenFirmware.
28171
28172 * term/ieee1275/ofconsole.c (MAX): Removed.
28173 (colors): Redone based on VGA palette.
28174 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28175 colors are supported.
28176 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28177
b045f00a
VS
281782009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28179
28180 Fix potential EfiEmu double prepare.
28181
28182 * efiemu/main.c (prepared): New variable
28183 (grub_efiemu_unload): Set prepare to '0'.
28184 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28185
28186 set_virtual_address_map support.
28187
28188 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28189 prototype.
28190 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28191 prototype.
28192 (grub_efiemu_crc32): Likewise.
28193 (grub_efiemu_crc64): Likewise.
28194 (grub_efiemu_set_virtual_address_map): Likewise.
28195 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28196 New definition.
28197 (grub_autoefi_set_virtual_address_map): Likewise.
28198 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28199 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28200 Restructure flow to accomodate it.
28201 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28202 (grub_efiemu_crc): Recompute CRC32.
28203 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28204 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28205 * efiemu/symbols.c (relocated_handle): New variable.
28206 (grub_efiemu_free_syms): Free relocated_handle.
28207 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28208 (grub_efiemu_write_sym_markers): New function.
28209 (grub_efiemu_set_virtual_address_map): Likewise.
28210
28211 Newer XNU parameters.
28212
28213 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28214 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28215 (grub_xnu_fill_devicetree): New prototype.
28216 (grub_xnu_heap_real_start): New variable.
28217 * loader/xnu.c (get_name_ptr): New function.
28218 (grub_xnu_load_driver): Fill namelen and name.
28219
28220 64-bit xnu support.
28221
28222 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28223 and 'loader/macho64.c'.
28224 * conf/i386-pc.rmk: Likewise.
28225 * conf/x86_64-efi.rmk: Likewise.
28226 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28227 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28228 * include/grub/macho.h (grub_macho_segment64): New structure.
28229 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28230 (grub_macho_size32): ... to this.
28231 (grub_macho32_get_entry_point): Renamed from ...
28232 (grub_macho_get_entry_point32): ... to this.
28233 (grub_macho_contains_macho64): New prototype.
28234 (grub_macho_size64): Likewise.
28235 (grub_macho_get_entry_point64): Likewise.
28236 (grub_macho32_load): Renamed from ...
28237 (grub_macho_load32): ... to this.
28238 (grub_macho32_filesize): Renamed from ...
28239 (grub_macho_filesize32): ... to this.
28240 (grub_macho32_readfile): Renamed from ...
28241 (grub_macho_readfile32): ... to this.
28242 (grub_macho_filesize64): New prototype.
28243 (grub_macho_readfile64): Likewise.
28244 (grub_macho_parse32): Likewise.
28245 (grub_macho_parse64): Likewise.
28246 * loader/macho.c: Split into ...
28247 * loader/machoXX.c: ... and this. Replace 32 with XX.
28248 * loader/macho32.c: New file.
28249 * loader/macho64.c: Likewise.
28250 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28251 (grub_cmd_xnu_kernel): Make 32-bit only.
28252 (grub_cmd_xnu_kernel64): New function.
28253 (grub_xnu_load_driver): Support Mach-O 64.
28254 (grub_cmd_xnu_mkext): Likewise.
28255 * util/grub.d/30_os-prober.in (osx_entry): New function.
28256 Generate entries for 64-bit boot too.
28257
28258 Eliminate ad-hoc tree format in XNU and EfiEmu.
28259
28260 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28261 * efiemu/pnvram.c: Rewritten to use environment variables.
28262 All users updated.
28263
28264 Inline utf16_to_utf8.
28265
28266 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28267 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28268 All users updated.
28269 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28270
28271 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28272 * commands/usbtest.c (grub_usb_get_string): ... move here.
28273 (usb_print_str): Fix error handling.
28274 * include/grub/usb.h (grub_usb_get_string): Remove.
28275
28276 UTF-8 to UTF-16 transformation.
28277
28278 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28279 (charset_mod_SOURCES): New variable.
28280 (charset_mod_CFLAGS): Likewise.
28281 (charset_mod_LDFLAGS): Likewise.
28282 * include/grub/utf.h: New file.
28283 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28284
28285 Support for device properties.
28286
28287 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28288 (grub_xnu_devprop_device_header): Likewise.
28289 (grub_xnu_devprop_device_descriptor): Likewise.
28290 (grub_xnu_devprop_add_device): New prototype.
28291 (grub_xnu_devprop_remove_device): Likewise.
28292 (grub_xnu_devprop_remove_property): Likewise.
28293 (grub_xnu_devprop_add_property_utf8): Likewise.
28294 (grub_xnu_devprop_add_property_utf16): Likewise.
28295 (grub_cpu_xnu_init): Likewise.
28296 (grub_cpu_xnu_fini): Likewise.
28297 (grub_cpu_xnu_unload): Likewise.
28298 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28299 (property_descriptor): Likewise.
28300 (devices): New variable.
28301 (grub_xnu_devprop_remove_property): New function.
28302 (grub_xnu_devprop_add_device): Likewise.
28303 (grub_xnu_devprop_remove_device): Likewise.
28304 (grub_xnu_devprop_add_property): Likewise.
28305 (grub_xnu_devprop_add_property_utf8): Likewise.
28306 (grub_xnu_devprop_add_property_utf16): Likewise.
28307 (hextoval): Likewise.
28308 (grub_cpu_xnu_fill_devprop): Likewise.
28309 (grub_cmd_devprop_load): Likewise.
28310 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28311 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28312 (cmd_devprop_load): New variable.
28313 (grub_cpu_xnu_init): New function.
28314 (grub_cpu_xnu_fini): Likewise.
28315 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28316 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28317 (grub_cmd_xnu_devtree): Likewise.
28318 (hextoval): New function.
28319 (unescape): Likewise.
28320 (grub_xnu_fill_devicetree): Likewise.
28321
28322 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28323 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28324
0945f181
VS
283252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28326
28327 Workaround for broken ATI VBE.
28328
28329 * video/i386/pc/vbe.c (last_set_mode): New variable.
28330 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28331 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28332 (grub_video_vbe_setup): Don't check for reserved flag.
28333
0ad46fd7 283342009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28335
28336 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28337 the `find' command.
28338
c179ebe4
VS
283392009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28340
28341 UUID support for HFS.
28342
28343 * fs/hfs.c (grub_hfs_uuid): New function.
28344 (grub_hfs_fs): New value .uuid.
28345 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28346
0ad46fd7 283472009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28348
28349 Fix a segfault with parsing unknown long options.
28350
28351 * util/grub-mkrelpath.c (options): Zero terminate it.
28352
c4a3e41a
CPE
283532009-12-13 Carles Pina i Estany <carles@pina.cat>
28354
28355 * include/grub/misc.h (grub_puts): New declaration.
28356 (grub_puts_): Likewise.
a22008a6 28357 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28358 (grub_puts_): Likewise.
28359
2e8a7602
RM
283602009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28361
28362 * util/grub-probe.c (probe): Improve error message.
28363
b50b77b9
RM
283642009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28365
28366 * loader/i386/multiboot_elfxx.c
28367 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28368 initialization.
28369
283702009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28371
28372 Relocator framework
28373
28374 * loader/i386/xnu_helper.S: Removed. All users updated.
28375 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28376 (relocator_mod_SOURCES): New variable.
28377 (relocator_mod_CFLAGS): Likewise.
28378 (relocator_mod_LDFLAGS): Likewise.
28379 (relocator_mod_ASFLAGS): Likewise.
28380 * conf/x86_64.rmk: Likewise.
28381 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28382 (grub_multiboot_payload_entry_offset): Likewise.
28383 (grub_multiboot_forward_relocator): Likewise.
28384 (grub_multiboot_forward_relocator_end): Likewise.
28385 (grub_multiboot_backward_relocator): Likewise.
28386 (grub_multiboot_backward_relocator_end): Likewise.
28387 (grub_multiboot_payload_eip): New variable.
28388 (grub_multiboot_payload_orig): Likewise.
28389 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28390 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28391 * include/grub/i386/memory.h
28392 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28393 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28394 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28395 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28396 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28397 * include/grub/i386/relocator.h: New file.
28398 * include/grub/x86_64/relocator.h: Likewise.
28399 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28400 (XNU_RELOCATOR): New macro.
28401 (grub_xnu_launcher_start): Remove.
28402 (grub_xnu_launcher_end): Likewise.
28403 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28404 (grub_xnu_heap_real_start): Remove.
28405 (grub_xnu_heap_start): Change to void *. All users updated.
28406 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28407 * lib/i386/relocator.c: New file.
28408 * lib/i386/relocator_asm.S: Likewise.
28409 * lib/i386/relocator_backward.S: Likewise.
28410 * lib/mips/relocator.c: Likewise.
28411 * lib/mips/relocator_asm.S: Likewise.
28412 * lib/relocator.c: Likewise.
28413 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28414 (entry): Removed.
28415 (playground): Likewise.
28416 (grub_multiboot_payload_orig): New variable.
28417 (grub_multiboot_payload_dest): Likewise.
28418 (grub_multiboot_payload_size): Likewise.
28419 (grub_multiboot_payload_eip): Likewise.
28420 (grub_multiboot_payload_esp): Likewise.
28421 (grub_multiboot_boot): Use grub_relocator32_boot.
28422 (grub_multiboot_unload): Free relocators.
28423 (grub_multiboot): Setup stack. Use relocators.
28424 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28425 (grub_multiboot_load_elfXX): Use relocators.
28426 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28427 (grub_multiboot_payload_size): Likewise.
28428 (grub_multiboot_payload_dest): Likewise.
28429 (grub_multiboot_payload_entry_offset): Likewise.
28430 (grub_multiboot_forward_relocator): Likewise.
28431 (grub_multiboot_backward_relocator): Likewise.
28432 (grub_multiboot_real_boot): Likewise.
28433 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28434 (grub_xnu_entry_point): Likewise.
28435 (grub_xnu_arg1): Likewise.
28436 (grub_xnu_stack): Likewise.
28437 (grub_xnu_launch): Removed.
28438 (grub_xnu_boot_resume): New function.
28439 (grub_xnu_boot): Use relocators.
28440 * loader/i386/xnu_helper.S: Removed.
28441 * loader/xnu.c (grub_xnu_heap_start): New variable.
28442 (grub_xnu_heap_size): Likewise.
28443 (grub_xnu_heap_malloc): Use relocators.
28444 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28445
29eb90c6
VS
284462009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28447
28448 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28449 anything.
28450
31027430
CPE
284512009-12-13 Carles Pina i Estany <carles@pina.cat>
28452
28453 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28454 GRUB_ERR_NONE before calling grub_env_set.
28455
dc0c71d9
RM
284562009-12-12 Robert Millan <rmh@aybabtu.com>
28457
28458 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28459 * genmk.rb (video): New variable.
28460 (CLEANFILES, VIDEOFILES): Add #{video}.
28461 (#{video}): New target rule.
28462 * genvideolist.sh: New file.
28463 * Makefile.in (pkglib_DATA): Add video.lst.
28464 (video.lst): New target rule.
28465 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28466 `video.lst'.
28467 * util/grub.d/30_os-prober.in: Replace `vbe' with
28468 ${GRUB_VIDEO_BACKEND}.
28469
2a4bfcf0
RM
284702009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28471
28472 * THANKS: Add David Miller.
28473
2a3aa4d5
RM
284742009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28475
28476 libpciaccess support.
28477
28478 * Makefile.in (LIBPCIACCESS): New variable.
28479 (enable_grub_emu_pci): Likewise.
28480 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28481 util/pci.c and commands/lspci.c.
28482 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28483 * configure.ac (grub-emu-pci): New option.
28484 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28485 (grub_pci_device_unmap_range): Likewise.
28486 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28487 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28488 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28489 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28490 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28491 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28492 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28493 * include/grub/pciutils.h: New file.
28494 * util/pci.c: Likewise.
28495
0ad46fd7 284962009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28497
28498 * util/misc.c: Don't include <errno.h> twice.
28499
0ad46fd7 285002009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28501
28502 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28503 name in an error message.
28504 (grub_biosdisk_rw): Likewise.
28505
2e59983c
VS
285062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28507
28508 Eliminate NTFS 4Gib barrier.
28509
28510 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28511 (read_run_data): Likewise.
28512 (grub_ntfs_read_run_list): Likewise.
28513 (grub_ntfs_read_block): Likewise.
28514 (grub_ntfs_iterate_dir): Likewise.
28515 (read_mft): Likewise.
28516 (read_data): Likewise.
28517 Use COM_LOG_LEN.
28518 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28519 to avoid 64-bit division
28520 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28521 (grub_ntfs_rlst): Use grub_disk_addr_t.
28522
71ee178a
VS
285232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28524
28525 Eliminate grub-fstest 4Gib barrier.
28526
28527 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28528 (read_file): Fix error reporting.
28529
2520d4b8
VS
285302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28531
28532 Eliminate hexdump 4Gib barrier.
28533
28534 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28535 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28536
e1f27065
VS
285372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28538
28539 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28540 Fixes amarsh bug.
28541
1a0f7f45
RM
285422009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28543
28544 Remove miscellaneous files in distclean target.
28545
28546 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28547
c631d9fb
CW
285482009-12-09 Colin Watson <cjwatson@ubuntu.com>
28549
28550 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28551 if they're already set. This resolves the conflict between my
28552 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28553 fixing the --grub-probe option again.
28554 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28555 change on 2009-10-06, so that we now once again source
28556 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28557
7c7b6106
RM
285582009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28559
28560 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28561 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28562 `util/devicemap.c'.
28563
e3069ec1
CPE
285642009-12-08 Carles Pina i Estany <carles@pina.cat>
28565
28566 * include/grub/misc.h (grub_printf_): New declaration.
28567 * kern/misc.c (grub_printf_): New definition.
28568 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28569 instead of `grub_printf' and `_'.
28570 * normal/menu_entry.c (store_completion): Likewise.
28571 (run): Likewise.
28572 (grub_menu_entry_run): Likewise.
28573 * normal/menu_text.c (grub_wait_after_message): Likewise.
28574 (notify_booting): Likewise.
28575 (notify_fallback): Likewise.
28576 (notify_execution_failure): Likewise.
28577
d6ceebf1
CW
285782009-12-07 Colin Watson <cjwatson@ubuntu.com>
28579
28580 * configure.ac: Check for vasprintf.
28581 * util/misc.c (asprintf): Move allocation from here ...
28582 (vasprintf): ... to here. New function.
28583 (xasprintf): New function.
28584 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28585 prototypes.
28586 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28587 * util/grub-mkfont.c (write_font): Likewise.
28588 * util/grub-probe.c (probe): Likewise.
28589 * util/hostdisk.c (make_device_name): Likewise.
28590
de6daa8b
DM
285912009-12-06 David S. Miller <davem@sunset.davemloft.net>
28592
28593 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28594 anything even prefixed with 'cdrom' as a cdrom.
28595
0ad46fd7 285962009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28597
28598 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28599 mount points.
28600
98d3dc02
CPE
286012009-12-05 Carles Pina i Estany <carles@pina.cat>
28602
28603 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28604 grub_gettext_msg_list.
28605 (grub_gettext_gettranslation_from_position): Return const char *
28606 and not char *.
a2c1332b 28607 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28608 returns from the list if existing there.
28609 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28610 (grub_gettext_delete_list): Delete the list.
28611 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28612 lang environment variable is changed.
28613 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28614
b283f108
VS
286152009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28616
28617 Rename kernel.mod to kernel.img.
28618
28619 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28620 (kernel_mod_EXPORTS): Rename to ...
28621 (kernel_img_EXPORTS): ... this.
28622 (kernel_mod_SOURCES): Rename to ...
28623 (kernel_img_SOURCES): ... this.
28624 (kernel_mod_HEADERS): Rename to ...
28625 (kernel_img_HEADERS): ... this. All users updated.
28626 (kernel_mod_CFLAGS): Rename to ...
28627 (kernel_img_CFLAGS): ... this.
28628 (kernel_mod_ASFLAGS): Rename to ...
28629 (kernel_img_ASFLAGS): ... this.
28630 (kernel_mod_LDFLAGS): Rename to ...
28631 (kernel_img_LDFLAGS): ... this.
28632 * conf/x86_64-efi.rmk: Likewise.
28633 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28634 (read_kernel_image): ... this. All users updated.
28635 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28636
69055f8a
CPE
286372009-12-05 Carles Pina i Estany <carles@pina.cat>
28638
28639 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28640 (print_spaces): New function.
28641 (grub_print_ucs4): New function.
28642 (getstringwidth): New function.
28643 (print_message_indented): New function.
28644 (print_message): Gettexttize strings using print_message_indented.
28645 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28646 width.
28647 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 28648 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
28649 Gettextize.
28650 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28651 string.
28652 (run): Likewise.
28653 (grub_menu_entry_run): Likewise.
28654 * PO/POTFILES: Add normal/menu_entry.c.
28655
f616f51c
VS
286562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28657
28658 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28659
57bbe3be
CPE
286602009-12-05 Carles Pina i Estany <carles@pina.cat>
28661
28662 * util/grub-install.in: Install gettext .mo files.
28663 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28664
013d67a1
CPE
286652009-12-05 Carles Pina i Estany <carles@pina.cat>
28666
28667 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28668 grub_dprintf.
28669
fb954db0
RM
286702009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28671
28672 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28673 non-firmware-dependant one in realmode.S takes precedence.
28674
6b8474f8
RM
286752009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28676
28677 * commands/halt.c: Replace misc arch-specific headers with
28678 `<grub/misc.h>'.
28679 * commands/reboot.c: Likewise.
28680 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28681 `<grub/misc.h>'.
28682 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28683 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28684 (kernel_img_SOURCES): ... to here.
28685
28686 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28687 * include/grub/i386/pc/init.h: Likewise.
28688 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28689 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28690
28691 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28692
28693 * include/grub/i386/halt.h: Remove.
28694 * include/grub/i386/reboot.h: Likewise.
28695
28696 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28697
4b2e6ca2
DM
286982009-12-03 David S. Miller <davem@sunset.davemloft.net>
28699
28700 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28701 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28702 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28703 "progname.h"
28704 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28705 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28706 (usage): Add missing comma in printf.
28707
5239348f
RM
287082009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28709
28710 Use the same reboot approach on i386 coreboot and qemu as we do on
28711 BIOS.
28712
28713 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28714 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28715 * kern/i386/reboot.c: Remove.
28716 * include/grub/i386/reboot.h (grub_reboot): Export function.
28717 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28718 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28719 0xf000:0xfff0 instead of 0xffff:0x0000.
28720 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28721 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28722
ef34cbd4
RM
287232009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28724
28725 Fix $srcdir != $objdir build.
28726
28727 * Makefile.in (po/%.po): Rewrite as ...
28728 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28729
dc9837ea
ST
287302009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28731
28732 Fix GNU/Hurd grub-install crash.
28733 * util/grub-probe.c (probe): Try to access `path' only when it is not
28734 NULL.
28735
2f857f98
VS
287362009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28737
28738 Correct module naming.
28739
28740 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28741 (GRUB_MOD_INIT(efi_uga)): ... to this
28742 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28743 (GRUB_MOD_FINI(efi_uga)): ... to this
28744 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28745 (GRUB_MOD_INIT(efi_gop)): ... to this
28746 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28747 (GRUB_MOD_FINI(efi_gop)): ... to this
28748
c5448046
RM
287492009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28750
28751 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28752 translatable.
28753 (usage): Translate `arg' strings using gettext().
28754 Thanks to Jordi Mallach for the suggestion.
28755
c85184ad
VS
287562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28757
28758 GOP support. Based on patch from Bean
28759 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28760
28761 * video/efi_gop.c: New file.
28762 * include/grub/efi/graphics_output.h: Likewise.
28763 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28764 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28765 variables.
28766 * conf/x86_64-efi.rmk: Likewise.
28767
8a4c48d8
VS
287682009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28769
28770 Rename efi_fb to efi_uga.
28771
28772 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28773 'efi_uga.mod'.
28774 (efi_fb_mod_SOURCES): Rename this ...
28775 (efi_uga_mod_SOURCES): ... to this.
28776 (efi_fb_mod_CFLAGS): Rename this ...
28777 (efi_uga_mod_CFLAGS): ... to this.
28778 (efi_fb_mod_LDFLAGS): Rename this ...
28779 (efi_uga_mod_LDFLAGS): ... to this.
28780 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28781 'efi_uga.mod'.
28782 (efi_fb_mod_SOURCES): Rename this ...
28783 (efi_uga_mod_SOURCES): ... to this.
28784 (efi_fb_mod_CFLAGS): Rename this ...
28785 (efi_uga_mod_CFLAGS): ... to this.
28786 (efi_fb_mod_LDFLAGS): Rename this ...
28787 (efi_uga_mod_LDFLAGS): ... to this.
28788 * video/efi_fb.c: Move this ...
28789 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28790
fb6c1a7b
RM
287912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28792
28793 * po/README: New file. Explain our PO file workflow.
28794
3bc7896c
RM
287952009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28796
28797 * po/ChangeLog: Remove. Move relevant entries back to ...
28798 * ChangeLog: ... here.
28799 * po/ca.po: Remove (now handled by TLP).
28800 * po/id.po: Likewise.
28801 * po/zh_CN.po: Likewise.
28802 * Makefile.in (LINGUAS): Initialize in a way that supports
28803 empty set.
28804
9ed4841d
RM
288052009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28806
28807 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28808 reliing on po/LINGUAS.
28809 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28810 (po/%.po): ... this.
28811
0ad46fd7 288122009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28813
28814 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28815 (main): Use `program_name' instead of nonexistent `progname'.
28816
e30dd392
FZ
288172009-11-26 Felix Zielcke <fzielcke@z-51.de>
28818
28819 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28820 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28821
7656de4f
RM
288222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28823
28824 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28825 commit.
28826 * conf/i386-efi.rmk: Likewise.
28827 * conf/i386-ieee1275.rmk: Likewise.
28828 * conf/powerpc-ieee1275.rmk: Likewise.
28829 * conf/sparc64-ieee1275.rmk: Likewise.
28830 * conf/x86_64-efi.rmk: Likewise.
28831
db77c4d4
FZ
288322009-11-26 Felix Zielcke <fzielcke@z-51.de>
28833
28834 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28835
a755bb04
FZ
288362009-11-26 Felix Zielcke <fzielcke@z-51.de>
28837
28838 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28839
8a4c07fd
RM
288402009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28841
28842 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28843 (grub_mkdevicemap_SOURCES): New variable.
28844 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28845 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28846 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28847 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28848 (grub_mkdevicemap_SOURCES): Remove.
28849 * conf/i386-efi.rmk: Likewise.
28850 * conf/i386-ieee1275.rmk: Likewise.
28851 * conf/i386-pc.rmk: Likewise.
28852 * conf/powerpc-ieee1275.rmk: Likewise.
28853 * conf/sparc64-ieee1275.rmk: Likewise.
28854 * conf/x86_64-efi.rmk: Likewise.
28855 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28856 (usage): Fix strings to use `program_name'.
28857 (main): Initialize gettext.
28858 * util/grub-editenv.c: Likewise.
28859 * util/grub-emu.c: Likewise.
28860 * util/grub-fstest.c: Likewise.
28861 * util/grub-mkdevicemap.c: Likewise.
28862 * util/grub-mkfont.c: Likewise.
28863 * util/grub-mkrelpath.c: Likewise.
28864 * util/grub-pe2elf.c: Likewise.
28865 * util/grub-probe.c: Likewise.
28866 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28867 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28868 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28869
28870 * util/misc.c: Include `"progname.h"'.
28871 (progname): Remove variable.
28872 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28873
6f61ed55
FZ
288742009-11-25 Felix Zielcke <fzielcke@z-51.de>
28875
28876 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28877 printf and print a newline after the menuentry header line.
28878 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28879
f022876b
FZ
288802009-11-25 Felix Zielcke <fzielcke@z-51.de>
28881
28882 autoconf >= 2.60 support $(localedir).
28883
28884 * INSTALL: Note that autoconf 2.60 is required.
28885 * configure.ac (AC_PREREQ): Bump to 2.60.
28886 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28887 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28888
6717926e
YB
288892009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28890
28891 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28892 aclocal is run.
28893
08806a54
RM
288942009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28895
28896 * normal/main.c (grub_normal_read_line): Fix off-by-one
28897 buffer overflow.
28898
13b33fba
RM
288992009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28900
28901 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28902 "parser.grub" in grub_command_execute() call.
28903
4a8572e9
CPE
289042009-11-24 Carles Pina i Estany <carles@pina.cat>
28905
28906 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28907 * conf/i386-efi.rmk: Likewise.
28908 * conf/i386-ieee1275.rmk: Likewise.
28909 * conf/i386-pc.rmk: Likewise.
28910 * conf/powerpc-ieee1275.rmk: Likewise.
28911 * conf/sparc64-ieee1275.rmk: Likewise.
28912 * conf/x86_64-efi.rmk: Likewise.
28913 * gettext/gettex.c: Include <grub/i18n.h>.
28914 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28915 here ...
28916 * include/grub/i18n.h: ... to here
28917 * include/grub/i18n.h: ... to here.
28918 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28919 (grub_gettext_dummy): Move above user.
4a8572e9 28920
bee48093
FZ
289212009-11-24 Felix Zielcke <fzielcke@z-51.de>
28922
28923 * util/Makefile.in (install-local): Convert a `for' into a normal
28924 shell expansion.
28925
a031e91c
RM
289262009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28927
28928 * autogen.sh: Add automake call.
28929 * config.guess: Remove.
28930 * config.sub: Likewise.
28931 * install-sh: Likewise.
28932
26bec39d
FZ
289332009-11-24 Felix Zielcke <fzielcke@z-51.de>
28934
28935 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28936
8e2532fd
FZ
289372009-11-24 Felix Zielcke <fzielcke@z-51.de>
28938
28939 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28940 function to a normal shell `for'.
28941
fefa1b7d
FZ
289422009-11-24 Felix Zielcke <fzielcke@z-51.de>
28943
28944 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28945
4501250b
FZ
289462009-11-24 Felix Zielcke <fzielcke@z-51.de>
28947
28948 * util/grub-mkrelpath.c: New file.
28949 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28950 (grub_mkrelpath_SOURCES): New variable.
28951 * include/grub/util/misc.h: New function prototype.
28952 * util/misc.c (make_system_path_relative_to_its_root): New function.
28953
28954 * util/grub-mkconfig_lib.in (bindir): New variable.
28955 (grub_mkrelpath): Likewise.
28956 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28957
28958 * util/probe.c (probe): Make the file path relative to its root.
28959 Change a info message to use the GRUB path. Enable again the
28960 check if we can read the file with GRUB facilities.
28961
28962 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28963 to its root.
28964
11d9778b
FZ
289652009-11-24 Felix Zielcke <fzielcke@z-51.de>
28966
28967 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28968 platform.
28969
4465287d
FZ
289702009-11-24 Felix Zielcke <fzielcke@z-51.de>
28971
28972 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28973 strncmp().
28974
62b47f22
FZ
289752009-11-24 Felix Zielcke <fzielcke@z-51.de>
28976
28977 * util/getroot.c (grub_util_is_dmraid): New function.
28978 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28979 devices as normal ones, not as LVM.
28980
1eafb9b9 289812009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
28982
28983 * conf/common.rmk: Add grub-gettext_lib target and updates
28984 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28985 LDFLAGS.
28986 * gettext/gettext.c: New file. (Reads mo files).
28987 * include/grub/file.h (grub_file_pread): New prototype.
28988 * include/grub/i18n.h (_): New prototype.
28989 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28990 prototypes.
28991 * kern/misc.c (grub_gettext_dummy): New function.
28992 * normal/menu_text.c: Include <grub/i18n.h>.
28993 * normal/menu_text.c (print_timeout): Gettexttize string.
28994 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
28995 * po/POTFILES: Add `normal/menu_text.c'.
28996 * po/ca.po: Add new translations.
c3ea6bd4
CPE
28997 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28998 gettext module and defines locale_dir and lang in grub.cfg.
28999 * NEWS: Add gettext support.
29000
0fdb2568
RM
290012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29002
29003 * util/hostdisk.c: Include `<grub/i18n.h>'.
29004 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29005 (make_device_name): Rewrite using asprintf.
29006 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29007 (find_system_device): If a device is not found, generate one just
29008 by reusing the OS path name.
29009 (read_device_map): Make it permissible for device.map not to exist.
29010
f515aa62
RM
290112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29012
29013 * script/sh/execute.c: Move from here ...
29014 * script/execute.c: ... to here. Update all users.
29015 * script/sh/function.c: Move from here ...
29016 * script/function.c: ... to here. Update all users.
29017 * script/sh/lexer.c: Move from here ...
29018 * script/lexer.c: ... to here. Update all users.
29019 * script/sh/main.c: Move from here ...
29020 * script/main.c: ... to here. Update all users.
29021 * script/sh/parser.y: Move from here ...
29022 * script/parser.y: ... to here. Update all users.
29023 * script/sh/script.c: Move from here ...
29024 * script/script.c: ... to here. Update all users.
29025
f84b481b
RM
290262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29027
29028 * configure.ac: Detect all `emu' platforms. Define
29029 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29030 --enable-grub-emu logic. Disable include/grub/machine
29031 symlink on `emu' platforms.
29032
29033 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29034 * gensymlist.sh.in: Likewise.
29035
29036 * include/grub/i386/coreboot/machine.h: Remove file.
29037 * include/grub/i386/efi/machine.h: Likewise.
29038 * include/grub/i386/ieee1275/machine.h: Likewise.
29039 * include/grub/i386/pc/machine.h: Likewise.
29040 * include/grub/i386/qemu/machine.h: Likewise.
29041 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29042 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29043 * include/grub/x86_64/efi/machine.h: Likewise.
29044
29045 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29046 * commands/halt.c: Likewise.
29047 * commands/reboot.c: Likewise.
29048 * include/grub/autoefi.h: Likewise.
29049 * include/grub/i386/at_keyboard.h: Likewise.
29050 * include/grub/i386/kernel.h: Likewise.
29051 * include/grub/i386/loader.h: Likewise.
29052 * include/grub/i386/pc/memory.h: Likewise.
29053 * kern/dl.c: Likewise.
29054 * kern/i386/coreboot/init.c: Likewise.
29055 * loader/i386/bsd.c: Likewise.
29056 * loader/i386/linux.c: Likewise.
29057 * loader/multiboot_loader.c: Likewise.
29058 * term/i386/pc/serial.c: Likewise.
29059 * term/usb_keyboard.c: Likewise.
29060
29061 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29062 `<grub/machine/machine.h>'
29063 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29064 * util/misc.c: Remove `<grub/machine/machine.h>' and
29065 `<grub/machine/time.h>'.
29066
29067 * Makefile.in (enable_grub_emu): Remove variable.
29068 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29069
29070 * conf/any-emu.rmk: New file.
29071 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29072 (grub_emu_init.c): Move from here ...
29073 * conf/any-emu.rmk: ... to here.
29074
29075 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29076 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29077 * conf/any-emu.rmk: ... to here.
29078
4efeab03
RM
290792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29080
29081 * include/grub/parser.h (grub_parser_register): Document need
29082 of `name' parameter.
29083 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29084 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29085 "sh" to "grub".
29086
ea1dd8bf
RM
290872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29088
29089 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29090 `$(XGETTEXT)'.
29091 * include/grub/i18n.h (N_): New macro.
29092 * util/mkisofs/mkisofs.h: Likewise.
29093 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29094 around N_().
29095 (usage): Use gettext() to translate help strings when printing them.
29096
0c140626
RM
290972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29098
29099 Based on patch from Bean
29100 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29101
29102 * video/efi_fb.c: New file.
29103 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29104 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29105 variables.
29106 * conf/x86_64-efi.rmk: Likewise.
29107
87d58298
RM
291082009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29109
29110 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29111 * util/i386/pc/grub-setup.c: Likewise.
29112
994cc3a3
ST
291132009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29114
29115 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29116 <hurd/fs.h>
29117 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29118 file_get_storage_info to implement grub_guess_root_device.
29119
26a61d6a
FZ
291202009-11-21 Felix Zielcke <fzielcke@z-51.de>
29121
29122 * Makefile.in (target): Use make's builtin $(shell) function
29123 instead of calling directly $(SHELL) to create the locale directories,
29124 inside the $(foreach) function.
29125
74ff1dd5
FZ
291262009-11-21 Felix Zielcke <fzielcke@z-51.de>
29127
29128 * util/grub-mkrescue.in: Print an error and usage if output option
29129 has not been given.
29130
0b787d0e
FZ
291312009-11-21 Felix Zielcke <fzielcke@z-51.de>
29132
29133 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29134 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29135 root and /boot are on different devices.
29136
1164b270
RM
291372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29138
29139 Fix build for srcdir != objdir.
29140
29141 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29142 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29143 $(srcdir).
29144 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29145 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29146 reference for input.
29147
13774a2f
RM
291482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29149
29150 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29151 or hardlinking it). Remove -J option, Joliet is not compatible with
29152 multiple source directories.
29153
efda854e
RM
291542009-11-21 Carles Pina i Estany <carles@pina.cat>
291552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29156
29157 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29158 (process_input_dir): New function. Process an arbitrary input
29159 directory.
29160 Misc adjustments to support both "override mode" and system-wide mode.
29161
6c09890c
FZ
291622009-11-20 Felix Zielcke <fzielcke@z-51.de>
29163
29164 * configure.ac (UNIFONT_BDF): Rename to ...
29165 (FONT_SOURCE): ... this. Update all users.
29166
a797824f
FZ
291672009-11-20 Felix Zielcke <fzielcke@z-51.de>
29168
29169 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29170 to the list of unifont files to look for.
29171
cd4f42b0
RM
291722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29173
29174 Patch from Joe Auricchio <jauricchio@gmail.com>
29175 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29176 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29177 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29178
393c783d
FZ
291792009-11-19 Felix Zielcke <fzielcke@z-51.de>
29180
29181 * Makefile.in (install-local): Add a missing backslash.
29182
b2f1e327
FZ
291832009-11-19 Felix Zielcke <fzielcke@z-51.de>
29184
29185 * include/grub/x86_64/io.h: New file.
29186
f577f7a0
RM
291872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29188
29189 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29190 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29191 Include `"progname.h"'.
29192 (main): Initialize gettext.
29193 * util/i386/pc/grub-setup.c: Gettexttize.
29194 * util/i386/pc/grub-mkimage.c: Likewise.
29195
29196 * Makefile.in (po/*.po): Redefine as ...
29197 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29198
3bc7896c
RM
29199 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29200
c37943b6
RM
292012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29202
29203 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29204 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29205 (program_name): Remove.
29206 (main): Initialize gettext support.
6323f705
RM
29207 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29208 Include `<libintl.h>'.
29209 (_): New macro.
c37943b6
RM
29210
29211 * util/mkisofs/eltorito.c: Gettexttize.
29212 * util/mkisofs/joliet.c: Likewise.
29213 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29214 * util/mkisofs/multi.c: Likewise.
29215 * util/mkisofs/rock.c: Likewise.
29216 * util/mkisofs/tree.c: Likewise.
29217 * util/mkisofs/write.c: Likewise.
29218
3bc7896c
RM
29219 * po/POTFILES: Update with new files.
29220
5ce77c6e
RM
292212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29222
29223 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29224 * util/mkisofs/iso9660.h: Likewise.
29225 * util/mkisofs/joliet.c: Likewise.
29226 * util/mkisofs/mkisofs.c: Likewise.
29227 * util/mkisofs/mkisofs.h: Likewise.
29228 * util/mkisofs/rock.c: Likewise.
29229 * util/mkisofs/tree.c: Likewise.
29230 * util/mkisofs/write.c: Likewise.
29231
29232 * util/mkisofs/eltorito.c (rcsid): Remove.
29233 * util/mkisofs/hash.c: Likewise.
29234 * util/mkisofs/joliet.c: Likewise.
29235 * util/mkisofs/name.c: Likewise.
29236 * util/mkisofs/rock.c: Likewise.
29237 * util/mkisofs/tree.c: Likewise.
29238 * util/mkisofs/write.c: Likewise.
29239
1dabbc77
RM
292402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29241
29242 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29243 instead of static allocation.
29244 * util/mkisofs/match.h: Likewise.
29245
633877cb
RM
292462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29247
3bc7896c
RM
29248 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29249 and `util/grub.d/10_linux.in'.
633877cb
RM
29250 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29251 translatable Shell files.
29252
af1c0c85
RM
292532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29254
29255 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29256
769ae37b
RM
292572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29258
29259 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29260 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29261 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29262 Add gettext initialization.
29263 (kfreebsd_entry): Make menuentry output translatable.
29264
292652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29266
29267 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29268 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29269 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29270 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29271 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29272 * po/LINGUAS: New file.
769ae37b
RM
29273
292742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29275
29276 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29277 other things).
29278 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29279 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29280 bindtextdomain() calls for gettext initialization.
29281
292822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29283
29284 * gnulib/progname.c: New file (imported from Gnulib).
29285 * gnulib/progname.h: Likewise.
29286 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29287 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29288 (usage): Replace `progname' with `program_name'.
29289 (main): Use set_program_name() for program name initialization.
29290
292912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29292
29293 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29294 from here ...
29295 * Makefile.in (CPPFLAGS): ... to here.
29296
292972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29298
29299 * aclocal.m4: Move from here ...
29300 * acinclude.m4: ... to here.
29301 * autogen.sh: Add call to `aclocal'.
29302 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29303
293042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29305
29306 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29307 (LINGUAS): New variable.
29308 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29309 (install-local): Install MO files.
29310 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29311 * include/grub/i18n.h: New file.
3bc7896c
RM
29312 * po/POTFILES: New file.
29313 * po/ca.po: New file.
769ae37b
RM
29314 * util/grub.d/10_linux.in (bindir): New variable.
29315 Add gettext initialization.
29316 (linux_entry): Make menuentry output translatable.
29317 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29318 (usage): Make --help output translatable.
29319 (main): Initialize gettext.
29320
02c0a6ad
RM
293212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29322
29323 * import_gcry.py: New file (written by Vladimir with minor
29324 adjustments).
29325 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29326 ciphers.
29327 * INSTALL: Document that Python is required for bootstrap.
29328
293292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29330
29331 Import ciphers from libgcrypt 1.4.4.
29332
29333 * lib/libgcrypt/cipher/ChangeLog
29334 * lib/libgcrypt/cipher/ac.c
29335 * lib/libgcrypt/cipher/arcfour.c
29336 * lib/libgcrypt/cipher/bithelp.h
29337 * lib/libgcrypt/cipher/blowfish.c
29338 * lib/libgcrypt/cipher/camellia-glue.c
29339 * lib/libgcrypt/cipher/camellia.c
29340 * lib/libgcrypt/cipher/camellia.h
29341 * lib/libgcrypt/cipher/cast5.c
29342 * lib/libgcrypt/cipher/cipher.c
29343 * lib/libgcrypt/cipher/crc.c
29344 * lib/libgcrypt/cipher/des.c
29345 * lib/libgcrypt/cipher/dsa.c
29346 * lib/libgcrypt/cipher/ecc.c
29347 * lib/libgcrypt/cipher/elgamal.c
29348 * lib/libgcrypt/cipher/hash-common.c
29349 * lib/libgcrypt/cipher/hash-common.h
29350 * lib/libgcrypt/cipher/hmac-tests.c
29351 * lib/libgcrypt/cipher/md.c
29352 * lib/libgcrypt/cipher/md4.c
29353 * lib/libgcrypt/cipher/md5.c
29354 * lib/libgcrypt/cipher/primegen.c
29355 * lib/libgcrypt/cipher/pubkey.c
29356 * lib/libgcrypt/cipher/rfc2268.c
29357 * lib/libgcrypt/cipher/rijndael-tables.h
29358 * lib/libgcrypt/cipher/rijndael.c
29359 * lib/libgcrypt/cipher/rmd.h
29360 * lib/libgcrypt/cipher/rmd160.c
29361 * lib/libgcrypt/cipher/rsa.c
29362 * lib/libgcrypt/cipher/seed.c
29363 * lib/libgcrypt/cipher/serpent.c
29364 * lib/libgcrypt/cipher/sha1.c
29365 * lib/libgcrypt/cipher/sha256.c
29366 * lib/libgcrypt/cipher/sha512.c
29367 * lib/libgcrypt/cipher/tiger.c
29368 * lib/libgcrypt/cipher/twofish.c
29369 * lib/libgcrypt/cipher/whirlpool.c
29370
af2f93ac
RM
293712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29372
29373 Fix build for systems without error().
29374
29375 * gnulib/error.c: New file (imported from Gnulib).
29376 * gnulib/error.h: Likewise.
29377 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29378 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29379 (this variable is now used by error()).
29380
73fb3dd5
FZ
293812009-11-16 Felix Zielcke <fzielcke@z-51.de>
29382
814f5e96
FZ
29383 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29384 instead of relying that char is signed.
73fb3dd5 29385
a691ca33
VS
293862009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29387
29388 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29389 blocksize different from specified.
29390 (grub_pxefs_read): Likewise.
29391
2af8f0f4
FZ
293922009-11-16 Felix Zielcke <fzielcke@z-51.de>
29393
29394 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29395
29396 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29397 (grub_ata_readwrite): Likewise. Update 2 format strings.
29398 (grub_atapi_read): Likewise.
29399
29400 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29401 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29402 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29403 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29404 (ata_mod_LDFLAGS): Move from here ...
29405 * conf/i386.rmk: ... to here ...
29406 * conf/x86_64-efi.rmk: ... and here.
29407 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29408 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29409
83bdecaf
RM
294102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29411
29412 Relicense multiboot.h, with RMS' blessing.
29413
29414 * include/multiboot.h: Change to X11 license.
29415
fd6fd3d7
RM
294162009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29417
29418 Support --version in grub-mkisofs.
29419
29420 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29421 (OPTION_VERSION): New macro.
29422 (ld_options): Recognize --version.
29423 (usage): Move `program_name' from here ...
29424 (program_name): ... to here. Add `static' qualifier.
29425 (main): Recognize `OPTION_VERSION'.
29426
16a88c49
FZ
294272009-11-15 Felix Zielcke <fzielcke@z-51.de>
29428
29429 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29430 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29431
a4158476
RM
294322009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29433
29434 Fix help2man generation for mkisofs.
29435
29436 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29437 (usage): Send output to stdout (rather than stderr).
29438
fc2208b0
RM
294392009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29440
29441 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29442 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29443 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29444 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29445 (bin_SCRIPTS): Add `grub-mkfloppy'.
29446 (grub_mkfloppy_SOURCES): New variable.
29447
29448 * util/grub-mkrescue.in: New file.
29449 * util/i386/pc/grub-mkfloppy.in: New file.
29450
29451 * util/i386/coreboot/grub-mkrescue.in: Remove.
29452 * util/i386/pc/grub-mkrescue.in: Remove.
29453
8d0edf4a
RM
294542009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29455
29456 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29457 from here ...
29458 * include/multiboot.h (struct multiboot_header): ... to here. Update
29459 all users.
29460 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29461 from here ...
29462 * include/multiboot.h (struct multiboot_info): ... to here. Update
29463 all users.
29464 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29465 from here ...
29466 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29467 Update all users.
29468 * include/grub/multiboot.h (struct grub_mod_list): Move
29469 from here ...
29470 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29471 Update all users.
29472
a73f5969
RM
294732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29474
29475 * include/multiboot2.h (multiboot_word): Rename from this ...
29476 (multiboot2_word): ... to this. Update all users.
29477 (multiboot_header): Rename from this ...
29478 (multiboot2_header): ... to this. Update all users.
29479 (multiboot_tag_header): Rename from this ...
29480 (multiboot2_tag_header): ... to this. Update all users.
29481 (multiboot_tag_start): Rename from this ...
29482 (multiboot2_tag_start): ... to this. Update all users.
29483 (multiboot_tag_name): Rename from this ...
29484 (multiboot2_tag_name): ... to this. Update all users.
29485 (multiboot_tag_module): Rename from this ...
29486 (multiboot2_tag_module): ... to this. Update all users.
29487 (multiboot_tag_memory): Rename from this ...
29488 (multiboot2_tag_memory): ... to this. Update all users.
29489 (multiboot_tag_unused): Rename from this ...
29490 (multiboot2_tag_unused): ... to this. Update all users.
29491 (multiboot_tag_end): Rename from this ...
29492 (multiboot2_tag_end): ... to this. Update all users.
29493
1c8927f0
RM
294942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29495
29496 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29497 this platform we should support Multiboot1 first.
29498
29499 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29500 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29501 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29502
6e1e0d89
RM
295032009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29504
29505 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29506 of write calls (converting them to fwrite() if they aren't already).
29507 (get_torito_desc): Likewise.
29508 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29509
7f2b34d8
RM
295102009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29511
29512 * util/i386/pc/grub-install.in: Move from here ...
29513 * util/grub-install.in: ... to here. Update all users.
29514
c0ef3311
CW
295152009-11-11 Colin Watson <cjwatson@ubuntu.com>
29516
29517 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29518
e1f240ff
RM
295192009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29520
29521 Support for El Torito without floppy emulation.
29522
29523 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29524 (init_boot_catalog): Improve error handling.
29525 (get_torito_desc): Don't use floppy emulation unless requested by
29526 user. Patch boot information table when requested via
29527 `-boot-info-table'.
29528 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29529 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29530 (use_boot_info_table): New variables.
29531 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29532 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29533 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29534 `--eltorito-emul-floppy'.
29535 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29536 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29537 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29538 (use_boot_info_table, get_731): New prototypes.
29539 * util/mkisofs/write.c (get_731): New function.
29540
af7d4de5
FZ
295412009-11-11 Felix Zielcke <fzielcke@z-51.de>
29542
29543 Fix the generation of the man page.
29544
29545 * util/pc/i386/grub-install.in: Source
29546 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29547
2c55dbc0
RM
295482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29549
29550 Large file support for grub-mkisofs.
29551
29552 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29553 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29554 (session_start): Upgrade type to `uint64_t'. Update all users.
29555 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29556 (struct directory_entry): Upgrade type of `starting_block' and
29557 `size' to `uint64_t'. Update all users.
29558 (struct deferred): Remove unused structure.
29559 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29560 Update all users.
29561 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29562 file is larger than `UINT32_MAX'.
29563 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29564 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29565 return value.
29566 (struct deferred_write): Upgrade type of `extent' and `size' to
29567 `uint64_t'. Update all users.
29568 (last_extent_written): Upgrade type to `uint64_t'. Update all
29569 users.
29570 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29571 Update all users. Upgrade type of `remain' to `int64_t' and
29572 `use' to `size_t'. Use error() to handle fread() errors.
29573 (write_files): Rely on write_one_file() rather than calling
29574 xfwrite() directly.
29575
6a9cead5
FZ
295762009-11-09 Felix Zielcke <fzielcke@z-51.de>
29577
29578 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29579
4825d790
RM
295802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29581
29582 * util/mkisofs/fnmatch.c: Remove.
29583 * util/mkisofs/getopt1.c: Likewise.
29584 * util/mkisofs/getopt.c: Likewise.
29585 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29586 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29587 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29588 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29589 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29590
29591 * configure.ac: Detect `mingw32msvc' host_os.
29592 Check for lstat(), getuid() and getgid().
29593
29594 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29595 instances of `u_char' with `uint8_t'.
29596
29597 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29598 [!HAVE_GETUID] (getuid): New function (stub).
29599 [!HAVE_GETGID] (getgid): Likewise.
29600 [!HAVE_LSTAT] (lstat): Likewise.
29601 [!S_IROTH] (S_IROTH): New macro (dummy).
29602 [!S_IRGRP] (S_IRGRP): Likewise.
29603
84b860d8
RM
296042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29605
29606 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29607 conditional expression).
29608
66e9b712
RM
296092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29610
29611 Import from Gnulib.
29612
29613 * gnulib/fnmatch.c: New file.
29614 * gnulib/fnmatch.h: Likewise.
29615 * gnulib/fnmatch_loop.c: Likewise.
29616 * gnulib/getopt.c: Likewise.
29617 * gnulib/getopt.h: Likewise.
29618 * gnulib/getopt1.c: Likewise.
29619 * gnulib/getopt_int.h: Likewise.
29620 * gnulib/gettext.h: Likewise.
29621
34f4a5b0
RM
296222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29623
29624 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29625 * normal/handler.c (read_handler_list): Likewise.
29626
ac451143
RM
296272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29628
29629 Misc cleanup.
29630
29631 * kern/command.c (grub_register_command_prio): Use
29632 grub_zalloc() instead of explicitly zeroing data.
29633 * kern/list.c: Include `<grub/mm.h>'.
29634 (grub_named_list_find): Replace `0' with `NULL'.
29635 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29636 (fs_module_list): Change type to `grub_named_list_t'. Update all
29637 users.
29638 * normal/dyncmd.c (read_command_list): Add space between function
29639 call and parenthesis.
29640 * normal/handler.c (read_handler_list): Likewise.
29641
4089b167
RM
296422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29643
29644 * normal/auth.c (punishment_delay): Moved from here ...
29645 (grub_auth_strcmp): ... to here (inside function).
29646
325f5037
RM
296472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29648
29649 * include/grub/list.h (struct grub_named_list): Remove `const'
29650 qualifier from `name'.
29651 (struct grub_prio_list): Likewise.
29652
7aea29a3
RM
296532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29654
29655 * normal/auth.c: Include `<grub/time.h>'.
29656 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29657
3fd6f044
RM
296582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29659
29660 * normal/auth.c (punishment_delay): New variable.
29661 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29662 (grub_auth_check_authentication): Punish failed login attempts with
29663 an incremental (2^N) delay.
29664
a4cd68e4
RM
296652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29666
29667 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29668 path with $(srcdir).
29669
7ad12f43
VS
296702009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29671
29672 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29673
c1129f03
RM
296742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29675
29676 * util/i386/coreboot/grub-mkrescue.in: New file.
29677 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29678 variables.
29679
29680 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29681 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29682 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29683 requirements.
29684 * util/mkisofs/defaults.h: New file.
29685 * util/mkisofs/eltorito.c: Likewise.
29686 * util/mkisofs/exclude.h: Likewise.
29687 * util/mkisofs/fnmatch.c: Likewise.
29688 * util/mkisofs/getopt.c: Likewise.
29689 * util/mkisofs/getopt1.c: Likewise.
29690 * util/mkisofs/hash.c: Likewise.
29691 * util/mkisofs/include/fctldefs.h: Likewise.
29692 * util/mkisofs/include/mconfig.h: Likewise.
29693 * util/mkisofs/include/prototyp.h: Likewise.
29694 * util/mkisofs/include/statdefs.h: Likewise.
29695 * util/mkisofs/iso9660.h: Likewise.
29696 * util/mkisofs/joliet.c: Likewise.
29697 * util/mkisofs/match.c: Likewise.
29698 * util/mkisofs/match.h: Likewise.
29699 * util/mkisofs/mkisofs.c: Likewise.
29700 * util/mkisofs/mkisofs.h: Likewise.
29701 * util/mkisofs/multi.c: Likewise.
29702 * util/mkisofs/name.c: Likewise.
29703 * util/mkisofs/rock.c: Likewise.
29704 * util/mkisofs/tree.c: Likewise.
29705 * util/mkisofs/write.c: Likewise.
29706
ec8bb77d
VS
297072009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29708
29709 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29710 being insecure.
29711
3716b12c
RM
297122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29713
29714 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29715 `grub-mkimage' (and use $0 when possible).
29716
b97b7b91
RM
297172009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29718
29719 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29720 error message for excessively large memory map.
29721
04114812
RM
297222009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29723
29724 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29725 executable bit.
29726
e4eb2373
RM
297272009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29728
29729 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29730 message for coreboot users.
29731
c926e1d5 297322009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29733
29734 Fix build with GNU gold.
29735
29736 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29737 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29738 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29739 link addresses.
29740 * aclocal.m4: Likewise.
29741
86e5b1db 297422009-11-04 Felix Zielcke <fzielcke@z-51.de>
29743
29744 * configure.ac (AC_PREREQ): Bump to 2.59d.
29745 * INSTALL: Make it more clear when Autoconf and Ruby are
29746 needed and when to run `./autogen.sh'.
29747
246cd78f 297482009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29749
29750 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29751 OSes.
29752
4f9dfb37 297532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29754
29755 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29756
b82bd5e1 297572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29758
29759 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29760 giving it to GNU Mach.
29761
ff1a9bca 297622009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29763
29764 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29765 GNU partition number to get internal GRUB partition number.
29766
61697d9c 297672009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29768
29769 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29770 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29771
a50569e1 297722009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29773
29774 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29775 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29776 case.
29777
5b153867 297782009-11-01 Felix Zielcke <fzielcke@z-51.de>
29779
29780 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29781
d9e2cd70 297822009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29783
29784 Fix build problem.
29785
29786 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29787 `-isystem=$(srcdir)/include'.
29788
805111a4 297892009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29790
29791 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29792 checked (grub-install doesn't currently rely on it).
29793
fa6e945f 297942009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29795
29796 Revert SVN r2660.
29797
29798 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29799 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29800 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29801 * conf/i386-ieee1275.rmk: Likewise.
29802 * conf/i386-pc.rmk: Likewise.
29803 * conf/powerpc-ieee1275.rmk: Likewise.
29804 * conf/sparc64-ieee1275.rmk: Likewise.
29805 * conf/x86_64-efi.rmk: Likewise.
29806
cee15086 298072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29808
29809 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29810
95b9239e 298112009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29812
29813 * include/grub/misc.h: Stop checking for APPLE_CC.
29814
2ed19dfd 298152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29816
29817 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29818 doesn't cause an infinite call loop.
29819
fdcdde19 298202009-10-28 Felix Zielcke <fzielcke@z-51.de>
29821
29822 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29823 strings.
29824
cefabfe1 298252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29826
29827 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29828 variable.
29829 * Makefile.in: Likewise.
29830
ed96ab6d 298312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29832
29833 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29834
0579b753 298352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29836
29837 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29838
478df409 298392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29840
29841 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29842
083d1679 298432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29844
29845 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29846 from here ...
29847 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29848
5947ae32 298492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29850
29851 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29852 in $(MAKEINFO) invocation. This makes it clear in output that
29853 errors are being ignored.
29854
94180ff6 298552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29856
29857 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29858 from here ...
29859 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29860 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29861 * conf/i386-ieee1275.rmk: Likewise.
29862 * conf/i386-pc.rmk: Likewise.
29863 * conf/powerpc-ieee1275.rmk: Likewise.
29864 * conf/sparc64-ieee1275.rmk: Likewise.
29865 * conf/x86_64-efi.rmk: Likewise.
29866
9031b03a 298672009-10-26 Colin Watson <cjwatson@ubuntu.com>
29868
29869 * util/grub-editenv.c (main): If only a command is given, use
29870 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29871 (usage): FILENAME is now optional and has a default.
29872
e4f6809b 298732009-10-26 Colin Watson <cjwatson@ubuntu.com>
29874
29875 Improve grub-mkconfig performance when there are several menu
29876 entries on a single filesystem.
29877
29878 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29879 prepare_grub_to_access_device.
29880 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29881 * util/grub.d/30_os-prober.in: Likewise.
29882
67937d4d 298832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29884
29885 * util/grub.d/10_freebsd.in: Remove.
29886 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29887 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29888
ee3756cc 298892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29890
5c35048e 29891 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29892
4dea1c6f 298932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29894
29895 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29896 grub_util_error() call.
29897
042484d7 298982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29899
29900 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29901 `reserved_first_sector' member.
29902 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29903 `reserved_first_sector' to 1.
29904 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29905 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29906 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29907 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29908 filesystems which begin at first sector.
29909 (options): New option --skip-fs-probe.
29910 (main): Handle --skip-fs-probe and pass it to setup().
29911
d64448a7 299122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29913
29914 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29915 (memset): Fix function prototype.
29916
508d42ec 299172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
299182009-10-25 Vasily Averin <vvs@parallels.com>
29919
29920 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29921 `dirent.direntlen == 0'.
29922
b240e30c 299232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29924
29925 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29926 `cpio'.
29927 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29928
346e7fbe 299292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29930
29931 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29932 `__trampoline_setup' and `__ucmpdi2'.
29933 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29934 that libgcc provides.
29935
cdb308b0 299362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29937
29938 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29939 * include/grub/sparc64/libgcc.h (memset): Likewise.
29940 * include/grub/misc.h (memset, memcmp): New function prototypes.
29941
fb26abc2 299422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29943
29944 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29945 `cpio'.
29946 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29947
f6693890 299482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29949
29950 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29951 * docs/grub.cfg: Compensate for recent change in multiboot
29952 loader (since 2009-08-14 it won't pass filename to payload).
29953 * util/grub.d/10_hurd.in: Likewise.
29954
0933cdc0 299552009-10-21 Felix Zielcke <fzielcke@z-51.de>
29956
29957 * config.guess: Update to latest version from config git
29958 repository.
29959 * config.sub: Likewise.
29960
3b2fe8c2 299612009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29962
29963 Fix build on sparc64.
29964
29965 * configure.ac: Perform checks for libgcc symbols before
29966 adding `-nostdlib' to LDFLAGS.
29967
46695a62 299682009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29969
29970 Let user specify OpenBSD root device.
29971
29972 * loader/i386/bsd.c (openbsd_root): New variable.
29973 (openbsd_opts): New option 'root'.
29974 (OPENBSD_ROOT_ARG): New macro.
29975 (grub_openbsd_boot): Use 'openbsd_root'.
29976 (grub_cmd_openbsd): Fill 'openbsd_root'.
29977
d2b6b7fc 299782009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29979
29980 * NEWS: Misc adjustments.
29981
421bd7ac 299822009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29983
29984 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29985
f1d29d87 299862009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29987
29988 * configure.ac: Bump version to 1.97.
29989
6f3cd880 299902009-10-16 Colin Watson <cjwatson@ubuntu.com>
29991
29992 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29993 -mno-3dnow on x86 architectures. Some toolchains enable these
29994 features by default, but they rely on registers that aren't enabled
29995 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29996
035f7122 299972009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29998
29999 Make entry text a bit more readable.
30000
30001 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30002
44998e58 300032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30006
cd2851b3 300072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30008
30009 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30010 operations.
30011
c6f3b249 300122009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30013
30014 * configure.ac: Add missing dollar.
30015
6b5886ba 300162009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30017
30018 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30019
30020 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30021 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30022 exports.
30023 * include/grub/sparc64/libgcc.h: Likewise. Use
30024 preprocessor conditionals.
30025
e9d66f6d 300262009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30027
30028 * conf/common.rmk (grub-dumpbios): Remove rule.
30029 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30030 * util/grub-dumpbios.in: Remove file.
30031
9155bc17 300322009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30033
30034 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30035 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30036
30037 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30038 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30039 users.
30040
30041 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30042 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30043 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30044 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30045 users.
30046
bf7f7a18 300472009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30048
30049 * term/tparm.c: Switch to GPLv3.
30050
86564c26 300512009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30052
30053 * include/grub/i386/cpuid.h: Add header protection.
30054
5c936493 300552009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30056
30057 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30058
30059 * include/grub/i386/cpuid.h: New file.
30060 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30061 (has_longmode): Rename to ...
30062 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30063 `static' attribute.
30064 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30065 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30066 on a CPU that doesn't implement AMD64 instruction set.
30067
186e7cf2 300682009-10-06 Colin Watson <cjwatson@ubuntu.com>
30069
30070 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30071 that version.texi is rebuilt on version number changes.
30072
83b65c4a 300732009-10-06 Colin Watson <cjwatson@ubuntu.com>
30074
30075 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30076 Fixes bug #27602.
30077
d244281c 300782009-10-06 Colin Watson <cjwatson@ubuntu.com>
30079
30080 * util/i386/pc/grub-install.in: Source
30081 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30082 that the --grub-probe option will work.
30083 * util/sparc64/ieee1275/grub-install.in: Likewise.
30084
da25306d 300852009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30086
30087 * configure.ac: Bump version to 1.97~beta4.
30088
e8ee83c0 300892009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30090
30091 Resync grub-mkdevicemap in x86_64-efi.
30092
30093 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30094 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30095 `util/devicemap.c'.
30096
50dcabcf 300972009-10-01 Colin Watson <cjwatson@ubuntu.com>
30098
30099 * util/grub-editenv.c (create_envblk_file): Write new block with a
30100 .new suffix and then rename it into place, to ensure atomic
30101 creation.
30102
0e51c3a7 301032009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30104
30105 Do not automatically install headers.
30106
30107 * Makefile.in (include_DATA): Remove. Update all users.
30108
31299a95 301092009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30110
30111 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30112 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30113
30114 * util/osdetect.lua: Remove.
30115 * script/lua/lauxlib.c: Likewise.
30116 * script/lua/ldebug.c: Likewise.
30117 * script/lua/grub_main.c: Likewise.
30118 * script/lua/lauxlib.h: Likewise.
30119 * script/lua/ldebug.h: Likewise.
30120 * script/lua/ltablib.c: Likewise.
30121 * script/lua/liolib.c: Likewise.
30122 * script/lua/lstrlib.c: Likewise.
30123 * script/lua/lualib.h: Likewise.
30124 * script/lua/ldo.c: Likewise.
30125 * script/lua/ldump.c: Likewise.
30126 * script/lua/ldo.h: Likewise.
30127 * script/lua/loslib.c: Likewise.
30128 * script/lua/lundump.c: Likewise.
30129 * script/lua/grub_lib.c: Likewise.
30130 * script/lua/ldblib.c: Likewise.
30131 * script/lua/lundump.h: Likewise.
30132 * script/lua/lmem.c: Likewise.
30133 * script/lua/grub_lib.h: Likewise.
30134 * script/lua/lmathlib.c: Likewise.
30135 * script/lua/lstate.c: Likewise.
30136 * script/lua/ltm.c: Likewise.
30137 * script/lua/lvm.c: Likewise.
30138 * script/lua/lmem.h: Likewise.
30139 * script/lua/lstate.h: Likewise.
30140 * script/lua/ltm.h: Likewise.
30141 * script/lua/ltable.c: Likewise.
30142 * script/lua/lvm.h: Likewise.
30143 * script/lua/llex.c: Likewise.
30144 * script/lua/lgc.c: Likewise.
30145 * script/lua/grub_lua.h: Likewise.
30146 * script/lua/loadlib.c: Likewise.
30147 * script/lua/lfunc.c: Likewise.
30148 * script/lua/lopcodes.c: Likewise.
30149 * script/lua/lparser.c: Likewise.
30150 * script/lua/ltable.h: Likewise.
30151 * script/lua/llex.h: Likewise.
30152 * script/lua/lgc.h: Likewise.
30153 * script/lua/lfunc.h: Likewise.
30154 * script/lua/lbaselib.c: Likewise.
30155 * script/lua/lopcodes.h: Likewise.
30156 * script/lua/lparser.h: Likewise.
30157 * script/lua/lzio.c: Likewise.
30158 * script/lua/linit.c: Likewise.
30159 * script/lua/lobject.c: Likewise.
30160 * script/lua/llimits.h: Likewise.
30161 * script/lua/lstring.c: Likewise.
30162 * script/lua/lzio.h: Likewise.
30163 * script/lua/lapi.c: Likewise.
30164 * script/lua/lcode.c: Likewise.
30165 * script/lua/lua.h: Likewise.
30166 * script/lua/lobject.h: Likewise.
30167 * script/lua/lstring.h: Likewise.
30168 * script/lua/lapi.h: Likewise.
30169 * script/lua/lcode.h: Likewise.
30170 * script/lua/luaconf.h: Likewise.
30171
cb8a2c38 301722009-09-26 Colin Watson <cjwatson@ubuntu.com>
30173
30174 * docs/grub.texi (Command-line and menu entry commands): Document
30175 date and echo commands.
30176
6b9b6276 301772009-09-24 Pavel Roskin <proski@gnu.org>
30178
30179 * include/grub/kernel.h (struct grub_module_header): Remove
30180 `grub_module_header_types'. Make `type' unsigned. Make `size'
30181 32-bit on all platforms.
30182 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30183 8-bit field. Use grub_host_to_target32() for `size'.
30184 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30185 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30186 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30187
4e5a02a7 301882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30189
30190 Fix "lost keypress" bug in at_keyboard.
30191
30192 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30193 Checks for readyness of input buffer (without flushing it).
30194 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30195 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30196
c6dcedf6 301972009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30198
30199 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30200 size check within GRUB_MACHINE_PCBIOS section.
30201
74c958b1 302022009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30203
30204 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30205 return value.
30206 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30207 KEYBOARD_ISREADY check.
30208 (grub_at_keyboard_checkkey): Rename to ...
30209 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30210 Remove gratuitous cast.
30211
ff420223 302122009-09-23 Colin Watson <cjwatson@ubuntu.com>
30213
30214 * configure.ac: Call AC_PROG_MKDIR_P.
30215 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30216 version.texi in $(builddir) rather than $(srcdir).
30217 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30218 to makeinfo's @include search path.
30219
d96875df 302202009-09-23 Felix Zielcke <fzielcke@z-51.de>
30221
30222 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30223
9b3f8365 302242009-09-23 Felix Zielcke <fzielcke@z-51.de>
30225
30226 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30227 for `*.dpkg-new'.
30228
c44c90db 302292009-09-21 Colin Watson <cjwatson@ubuntu.com>
30230
30231 Build info documentation. Some code borrowed from Automake.
30232
30233 * configure.ac: Check for makeinfo.
30234 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30235 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30236 docs/version.texi.
30237 (MOSTLYCLEANFILES): Add vti.tmp.
30238 (docs/version.texi, docs/stamp-vti): Update automatically.
30239 (docs/grub.info): Build info documentation. Use --force and ignore
30240 errors for now.
30241 (all-local): Add $(INFOS).
30242 (install-local): Install info files.
30243 (uninstall): Uninstall info files.
30244 * docs/version.texi: Remove from revision control. This file is
30245 automatically generated on build now.
30246 * gendistlist.sh: Add `*.info'.
30247
e0b37bb5 302482009-09-21 Felix Zielcke <fzielcke@z-51.de>
30249
30250 * kern/term.c: Fix indentation.
30251
5a78865b 302522009-09-21 Felix Zielcke <fzielcke@z-51.de>
30253
30254 * util/hostdisk.c: Fix a comment.
30255
dace7e8a 302562009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30257
30258 Fix regression introduced in r2539.
30259
30260 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30261 to 0xA1.
30262
a83d079b 302632009-09-19 Colin Watson <cjwatson@ubuntu.com>
30264
30265 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30266 os-prober. Under normal operation, it does not print anything to
30267 stderr; if it does, we need to debug it, and throwing away stderr
30268 makes that excessively difficult.
a83d079b 30269
be94a509 302702009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30271
30272 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30273
63f745e8 302742009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30275
30276 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30277 AC_LANG_PROGRAM from autoconf.
30278 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30279 prototypes (fixes warning).
30280
30281 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30282 `--disable-werror' was used.
30283
bbb2a70f 302842009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30285
30286 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30287 uninitialized `lastaddr'.
30288
77c24f1d 302892009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30290
0f0b8c87 30291 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30292
07197f23 302932009-09-14 Colin Watson <cjwatson@ubuntu.com>
30294
30295 * commands/test.c (get_fileinfo): Return immediately if
30296 grub_fs_probe fails.
30297
dabf1798 302982009-09-14 José Martínez <xosemp@gmail.com>
30299
30300 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30301
d52109a7 303022009-09-14 Colin Watson <cjwatson@ubuntu.com>
30303
30304 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30305 output.
30306
56532179 303072009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30308
30309 * configure.ac: Remove --enable-grub-pe2elf. Only build
30310 grub-pe2elf when needed by the build system itself.
30311 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30312
8ef070f5 303132009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30314
30315 * configure.ac: Bump version to 1.97~beta3.
30316 * docs/version.texi: Likewise.
30317
61229557 303182009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30319
30320 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30321 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30322 from here ...
30323 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30324 (grub_linux_setup_video): ... to here (with some adjustments).
30325
5c9f8d84 303262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30327
30328 Fix memory corruption issue (spotted by Colin Watson).
30329
30330 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30331 causing returned size to be stored in an incorrect memory location.
30332 Fix use of uninitialized value when storing the returned size.
30333
e8f5d6e9 303342009-09-12 Yves Blusseau <blusseau@zetam.org>
30335
30336 Change clean rules to properly remove files
30337
30338 * genmk.rb: add new clean rules
30339 * Makefile.in (clean): add the new targets
30340 (mostlyclean): likewise
30341
cda2a409 303422009-09-11 Colin Watson <cjwatson@ubuntu.com>
30343
30344 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30345 to grub_uint64_t.
30346 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30347 non-resident files.
30348
86695375 303492009-09-11 Colin Watson <cjwatson@ubuntu.com>
30350
30351 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30352 part of bug #27349.
30353
8aa1541a 303542009-09-10 Felix Zielcke <fzielcke@z-51.de>
30355
30356 * util/grub-mkconfig.in: Make the created config mode 400 and
30357 print a warning if it fails.
30358
48d9bb0a 303592009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30360
30361 * util/grub.d/40_custom.in: Ask user to type custom entries below
30362 comment, rather than below 'exec tail' line.
30363
3b0521be 303642009-09-10 Colin Watson <cjwatson@ubuntu.com>
30365
30366 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30367 visible in grub.cfg.
30368
50051d55 303692009-09-10 Colin Watson <cjwatson@ubuntu.com>
30370
30371 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30372 file.
30373
c0d34387 303742009-09-10 Felix Zielcke <fzielcke@z-51.de>
30375
30376 * docs/grub.cfg: Add an example menu entry for memtest86+.
30377
80a608f3 303782009-09-09 Felix Zielcke <fzielcke@z-51.de>
30379
a2094832 30380 * config.guess: Update to latest version from config git.
80a608f3 30381 * config.sub: Likewise.
30382
99423078 303832009-09-08 Colin Watson <cjwatson@ubuntu.com>
30384
30385 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30386 unknown-command case. Fixes bug #27320.
30387
44454e4c 303882009-09-08 Felix Zielcke <fzielcke@z-51.de>
30389
30390 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30391 `help' if the command exists.
30392
e30d87ad 303932009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30394
30395 * INSTALL: Require GCC 4.1.3 or later.
30396
9a86f1ec 303972009-09-06 Yves Blusseau <blusseau@zetam.org>
30398
30399 * Makefile.in (RMKFILES): add i386-qemu.rmk
30400 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30401 $(srcdir)/stamp-h.in
30402
7f26d466 304032009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30404
30405 * util/grub-probe.c (probe): Comment out buggy codepath, which
30406 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30407 should be re-enabled after 1.97.
30408
3a613259 304092009-09-05 Felix Zielcke <fzielcke@z-51.de>
30410
30411 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30412 find searches for.
30413
197f76c7 304142009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30417 unnecessary calls to grub_error.
30418
70ba68ce 304192009-09-04 Colin Watson <cjwatson@ubuntu.com>
30420
30421 * NEWS: Mention `keystatus' and Unicode fonts.
30422
4ff0d7a4 304232009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30424
30425 * configure.ac: Bump version to 1.97~beta2.
30426 * docs/version.texi: Likewise.
30427
77c55a87 304282009-09-03 Colin Watson <cjwatson@ubuntu.com>
30429
30430 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30431 containing unwind information in some cases where it previously did
30432 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30433 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30434 discussion.
30435
f79572cd 304362009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30437
30438 Embedding loadenv module into grub-emu
30439
30440 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30441 commands/loadenv.c
30442 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30443 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30444 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30446 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30447 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30448
93a81088 304492009-09-03 Magnus Granberg <zorry@ume.nu>
30450
30451 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30452 include -fPIE in the default specs.
30453 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30454 to TARGET_CFLAGS.
30455
160034b2 304562009-09-03 Felix Zielcke <fzielcke@z-51.de>
30457
30458 * INSTALL: Note that GNU Bison 2.3 or later is required.
30459
087c07c4 304602009-09-03 Colin Watson <cjwatson@ubuntu.com>
30461
30462 * kern/i386/pc/startup.S: Fix typo.
30463
cbf978c0 304642009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30465
30466 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30467 according to GCS.
30468
304692009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30470
30471 * docs/grub.texi (Naming convention): Describe one-based partition
30472 numbering.
30473 (Device syntax): Likewise.
30474 (File name syntax): Likewise.
30475 (Block list syntax): Likewise.
30476 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30477 menu.lst.
30478 (File name syntax): Likewise.
30479 (Command-line and menu entry commands): Document acpi, blocklist,
30480 crc, export, insmod, keystatus, ls, set, and unset commands.
30481
f3e8cdfd 304822009-09-02 Colin Watson <cjwatson@ubuntu.com>
30483
30484 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30485 to avoid implying that only one of --shift, --ctrl, or --alt may be
30486 used.
30487
c0bc232b 304882009-09-02 Colin Watson <cjwatson@ubuntu.com>
30489
30490 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30491 rather than comparing against S_IFREG, which will almost never work.
30492
aa0f752d 304932009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30494
30495 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30496 (write_blocklists): Likewise.
30497
ecb3166a 304982009-09-01 Colin Watson <cjwatson@ubuntu.com>
30499
30500 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30501 argument to grub_printf.
30502
c403a125 305032009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30504
30505 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30506 non GNU test.
31aba781 30507
b5e7312c 305082009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30509
30510 * kern/file.c (grub_file_read): Spelling fix
30511
fe00f472 305122009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30513
30514 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30515 loading of headers in some cases.
30516
cc55302e 305172009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30518
30519 * configure.ac: Bump version to 1.97~beta1.
30520 * docs/version.texi: Likewise.
30521
5c90cdd2 305222009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30523
30524 * include/grub/i386/xnu.h: Add license header.
30525 include grub/err.h explicitly.
30526
c90edae4 305272009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30528
30529 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30530 to `ufs' in the vfs.root.mountfrom kernel parameter.
30531
d8888b5c 305322009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30533
30534 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30535
30536 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30537 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30538
30539 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30540 `ARRAY_SIZE' macro.
30541
6f07b921 305422009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30543
30544 * kern/file.c (grub_file_read): Check offset.
30545 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30546 * fs/jfs.c (grub_jfs_read_file): Likewise.
30547 * fs/ntfs.c (grub_ntfs_read): Likewise.
30548 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30549 * fs/minix.c (grub_minix_read_file): Correct offset check.
30550 * fs/ufs.c (grub_ufs_read_file): Likewise.
30551
b4f34077 305522009-08-28 Colin Watson <cjwatson@ubuntu.com>
30553
30554 * term/i386/pc/console.c (bios_data_area): Cast
30555 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30556
e7c69859 305572009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30558
30559 1-bit optimised blitters.
30560
30561 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30562 prototype.
30563 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30564 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30565 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30566 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30567 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30568 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30569 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30570 function.
30571 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30572 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30573 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30574 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30575 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30576 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30577 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30578 when possible.
30579 * video/video.c (grub_video_get_blit_format): Return
30580 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30581
a57da43f 305822009-08-28 Colin Watson <cjwatson@ubuntu.com>
30583
30584 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30585 the first argument to grub_printf.
30586
4cbe67e5 305872009-08-28 Colin Watson <cjwatson@ubuntu.com>
305882009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30589
30590 Add `getkeystatus' terminal method. Add a new `keystatus' command
30591 to query it.
30592
30593 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30594 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30595 modifier key bitmasks.
30596 (struct grub_term_input): Add `getkeystatus' member.
30597 (grub_getkeystatus): Add prototype.
30598 * kern/term.c (grub_getkeystatus): New function.
30599
30600 * include/grub/i386/pc/memory.h
30601 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30602 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30603 Data Area layout.
30604 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30605 (grub_console_term_input): Set `getkeystatus' member.
30606 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30607 constants.
30608 (grub_usb_keyboard_getreport): Likewise.
30609 (grub_usb_keyboard_checkkey): Likewise.
30610 (grub_usb_keyboard_getkeystatus): New function.
30611 (grub_usb_keyboard_term): Set `getkeystatus' member.
30612
30613 * commands/keystatus.c: New file.
30614 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30615 (keystatus_mod_SOURCES): New variable.
30616 (keystatus_mod_CFLAGS): Likewise.
30617 (keystatus_mod_LDFLAGS): Likewise.
30618 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30619 commands/keystatus.c.
30620 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30621 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30622 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30623 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30624 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30625 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 30626
6e2a9085 306272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30628
30629 Split befs.mod and afs.mod into *_be.mod and *.mod
30630
30631 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30632 (grub_fstest_SOURCES): Likewise.
30633 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30634 (afs_be_mod_SOURCES): New variable.
30635 (afs_be_mod_CFLAGS): Likewise.
30636 (afs_be_mod_LDFLAGS): Likewise.
30637 (befs_be_mod_SOURCES): Likewise.
30638 (befs_be_mod_CFLAGS): Likewise.
30639 (befs_be_mod_LDFLAGS): Likewise.
30640 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30641 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30642 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30643 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30644 (grub_emu_SOURCES): Likewise.
30645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30646 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30647 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30648 * fs/afs_be.c: New file.
30649 * fs/befs_be.c: New file.
30650 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30651 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30652 (U16): Replaced with ...
30653 (grub_afs_to_cpu16): ...this. All users updated.
30654 (U32): Replaced with ...
30655 (grub_afs_to_cpu32): ...this. All users updated.
30656 (U64): Replaced with ...
30657 (grub_afs_to_cpu64): ...this. All users updated.
30658 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30659 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 30660 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 30661 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30662 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30663 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30664 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30665 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30666 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30667 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30668 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30669
32a71655 306702009-08-26 Bean <bean123ch@gmail.com>
30671
30672 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30673 64-bit number.
30674 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30675 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30676 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30677
552bf6c5 306782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30679
30680 NetBSD memory map support.
30681
30682 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30683 (grub_netbsd_btinfo_mmap_header): New structure.
30684 (grub_netbsd_btinfo_mmap_entry): Likewise.
30685 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30686
1ae2078c 306872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30688
30689 Enable bsd.mod on coreboot.
30690
30691 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30692 (bsd_mod_SOURCES): New variable.
30693 (bsd_mod_CFLAGS): Likewise.
30694 (bsd_mod_LDFLAGS): Likewise.
30695 (bsd_mod_ASFLAGS): Likewise.
30696 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30697 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30698
beefc598 306992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30700
30701 Cleanup NetBSD root support.
30702
30703 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30704 grub_bsd_get_device.
30705 Fix typo.
30706
3b76e68b 307072009-08-25 Felix Zielcke <fzielcke@z-51.de>
30708
30709 * util/grub.d/00_header.in: Move check for the video backend of
30710 gfxterm from here ...
30711 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30712 a suitable video backend.
30713
aea664ea 307142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30715
30716 Fix breakage in grub-setup.
30717
30718 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30719 "msdos_partition_map".
30720
ff747d50 307212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30722
30723 Fix breakage in normal/auth.c.
30724
30725 * normal/auth.c (grub_iswordseparator): New function.
30726
e7e1f93f 307272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30728
30729 Authentication support.
30730
30731 * commands/password.c: New file.
30732 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30733 (password_mod_SOURCES): New variable.
30734 (password_mod_CFLAGS): Likewise.
30735 (password_mod_LDFLAGS): Likewise.
30736 (normal_mod_SOURCES): Add normal/auth.c.
30737 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30738 normal/auth.c.
30739 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30740 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30741 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30743 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30744 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30745 * include/grub/auth.h: New file.
30746 * include/grub/err.h (grub_err_t): New enum value
30747 GRUB_ERR_ACCESS_DENIED.
30748 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30749 'users'.
30750 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30751 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30752 users updated.
30753 * normal/auth.c: New file.
30754 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30755 (grub_cmdline_run): Don't allow to go to command line without
30756 authentication.
30757 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30758 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30759 menuentry without superuser rights.
30760 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30761 user isn't a superuser.
30762
70f1161d 307632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30764
30765 Save space by inlining misc.c functions.
30766
30767 * kern/misc.c (grub_iswordseparator): Made static.
30768 * kern/misc.c (grub_strcat): Moved from here ...
30769 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30770 * kern/misc.c (grub_strncat): Moved from here ...
30771 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30772 * kern/misc.c (grub_strcasecmp): Moved from here ...
30773 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30774 * kern/misc.c (grub_strncasecmp): Moved from here ...
30775 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30776 * kern/misc.c (grub_isalpha): Moved from here ...
30777 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30778 * kern/misc.c (grub_isdigit): Moved from here ...
30779 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30780 * kern/misc.c (grub_isgraph): Moved from here ...
30781 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30782 * kern/misc.c (grub_tolower): Moved from here ...
30783 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30784
48e40bff 307852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30786
30787 * script/sh/function.c (grub_script_function_find): Cut error message
30788 not to flood terminal.
30789 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30790 limit.
30791 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30792
c385bfc3 307932009-08-24 Colin Watson <cjwatson@ubuntu.com>
30794
30795 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30796 `report' grub_uint8_t *.
30797 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30798 Use a 50-millisecond timeout rather than just repeating
30799 grub_usb_keyboard_getreport 50 times.
30800 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30801
2d21e3e8 308022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30803
30804 Rename *_partition_map to part_*
30805
30806 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30807 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30808 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30809 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30810 All users updated.
30811 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30812 All users updated.
30813 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30814 * util/grub-probe.c (probe_partmap): Don't transform partition name
30815 to get module name.
30816
dd103c4e 308172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30818
30819 Fix OpenBSD and NetBSD support.
30820
30821 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30822 memory address conflict.
30823 (OPENBSD_MMAP_ACPI): New definition.
30824 (OPENBSD_MMAP_NVS): Likewise.
30825 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30826 and OPENBSD_MMAP_NVS.
30827 Add memory map terminator
30828 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30829 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30830
16c84d74 308312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30832
30833 Let user specify NetBSD root device.
30834
30835 * loader/i386/bsd.c (netbsd_root): New variable.
30836 (netbsd_opts): New option 'root'.
30837 (NETBSD_ROOT_ARG): New macro.
30838 (grub_netbsd_boot): Use 'netbsd_root'.
30839 (grub_bsd_unload): Free 'netbsd_root'.
30840 (grub_cmd_netbsd): Fill 'netbsd_root'.
30841
adb29902 308422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30843
30844 Support for 64-bit NetBSD.
30845
30846 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30847 point when booting non-FreeBSD.
30848
f5ae9f74 308492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30850
30851 Support --no-smp and --no-acpi for NetBSD.
30852
30853 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30854 (NETBSD_AB_NOACPI): Likewise.
30855 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30856 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30857
de74f136 308582009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30859
30860 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30861 errors.
30862 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30863 errors. Call grub_error when needed.
30864
e9a925da 308652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30866
30867 * commands/search.c (search_fs): Try searching without autoload first.
30868 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30869 filesystem module explicitly for faster booting.
30870
5174302b 308712009-08-23 Colin Watson <cjwatson@ubuntu.com>
30872
30873 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30874
c8c80635 308752009-08-23 Colin Watson <cjwatson@ubuntu.com>
30876
30877 * util/grub.d/30_os-prober.in: Disable os-prober if
30878 `GRUB_DISABLE_OS_PROBER' was set to true.
30879
71acf5e5 308802009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30881
30882 * partmap/pc.c: Rename to ...
30883 * partmap/msdos.c: ... this. Update all users.
30884 (grub_pc_partition_map): Rename to ...
30885 (grub_msdos_partition_map): ... this. Update all users.
30886
30887 * parttool/pcpart.c: Rename to ...
30888 * parttool/msdospart.c: ... this. Update all users.
30889
30890 * include/grub/pc_partition.h: Rename to ...
30891 * include/grub/msdos_partition.h: ... this. Update all users.
30892 (grub_pc_partition_bsd_entry): Rename to ...
30893 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30894 (grub_pc_partition_disk_label): Rename to ...
30895 (grub_msdos_partition_disk_label): ... this. Update all users.
30896 (grub_pc_partition_entry): Rename to ...
30897 (grub_msdos_partition_entry): ... this. Update all users.
30898 (grub_pc_partition_mbr): Rename to ...
30899 (grub_msdos_partition_mbr): ... this. Update all users.
30900 (grub_pc_partition): Rename to ...
30901 (grub_msdos_partition): ... this. Update all users.
30902 (grub_pc_partition_is_empty): Rename to ...
30903 (grub_msdos_partition_is_empty): ... this. Update all users.
30904 (grub_pc_partition_is_extended): Rename to ...
30905 (grub_msdos_partition_is_extended): ... this. Update all users.
30906 (grub_pc_partition_is_bsd): Rename to ...
30907 (grub_msdos_partition_is_bsd): ... this. Update all users.
30908
30909 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30910 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30911 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30912 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30913 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30914 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30915 (gpt_mod_LDFLAGS): Rename to ...
30916 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30917 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30918 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30919 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30920 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30921 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30922 (part_gpt_mod_LDFLAGS): ... this.
30923 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30924 `pcpart.mod' to `msdospart.mod'.
30925 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30926 to ...
30927 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30928 (msdospart_mod_LDFLAGS): ... this.
30929
c11fded5 309302009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30931
30932 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30933 (openbsd_opts): Likewise.
30934 (netbsd_opts): Likewise.
30935 (freebsd_flags): Added 0 terminator.
30936 (openbsd_flags): Likewise.
30937 (netbsd_flags): Likewise.
30938 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30939 (grub_cmd_freebsd): Transformed into extended command.
30940 (grub_cmd_openbsd): Likewise.
30941 (grub_cmd_netbsd): Likewise.
30942 (cmd_freebsd): Changed type to grub_extcmd_t.
30943 (cmd_openbsd): Likewise.
30944 (cmd_netbsd): Likewise.
30945 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30946 grub_cmd_openbsd as extended commands.
30947 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30948 cmd_netbsd and cmd_openbsd
30949
11d1c769 309502009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30951
30952 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30953
7a9094e5 309542009-08-21 Pavel Roskin <proski@gnu.org>
30955
5496c37e 30956 * Makefile.in (install-local): When checking if a file is in the
30957 build directory, use "test -e" to detect symlinks.
30958
7a9094e5 30959 * Makefile.in (install-local): Remove all files in
30960 $(DESTDIR)$(pkglibdir) before installing new files there.
30961
e53cea11 309622009-08-18 Felix Zielcke <fzielcke@z-51.de>
30963
30964 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30965 grub-mkelfimage.
30966
9aced544 309672009-08-18 Felix Zielcke <fzielcke@z-51.de>
30968
30969 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30970 explicitly specified by the user.
30971
b7da6bab 309722009-08-18 Pavel Roskin <proski@gnu.org>
30973
30974 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30975 grub_uint8_t pointer for data.
30976 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30977 Likewise.
30978 * video/fb/fbutil.c: Remove unnecessary casts.
30979
19f1b335 309802009-08-17 Michal Suchanek <hramrach@centrum.cz>
30981
30982 VBE cleanup.
30983
30984 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30985 (grub_vbe_set_video_mode): Save active mode info
30986 only after setting the mode.
30987 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30988 second argument.
30989
2f467aa9 309902009-08-17 Michal Suchanek <hramrach@centrum.cz>
30991
30992 Rename variables for clarity.
30993
30994 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30995 (active_vbe_mode_info): ... this. All users updated.
30996 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30997 All users updated.
30998 (initial_mode): Rename to ...
30999 (initial_vbe_mode): ... this. All users updated.
31000 (mode_in_use): Rename to ..
31001 (vbe_mode_in_use): ... this. All users updated.
31002 (mode_list): Rename to ..
31003 (vbe_mode_list): ... this. All users updated.
31004 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31005 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31006 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31007 'mode_list_size' to 'vbe_mode_list_size'.
31008 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31009 'best_mode_info' to 'best_vbe_mode_info' and
31010 'best_mode' to 'best_vbe_mode'
31011
6025fcd7 310122009-08-17 Michal Suchanek <hramrach@centrum.cz>
31013
31014 Remove duplicate grub_video_fb_get_video_ptr.
31015
31016 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31017 (grub_video_fb_get_video_ptr): ... this.
31018 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31019 * video/fb/fbutil.c: Add comment about addressing.
31020 (get_data_ptr): Rename to ...
31021 (grub_video_fb_get_video_ptr): ... this. All users updated.
31022 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31023
cc8c6faf 310242009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31025
31026 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31027 grub_dprintf() that was just added.
31028
08aa61f0 310292009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31030
31031 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31032 (DEFAULT_VIDEO_MODE): Remove macros.
31033 (grub_linux_boot): Remove assumption that Linux has FB support,
31034 and use "text" as default video mode.
31035
7cef4f75 310362009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31037
31038 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31039 grub_dprintf.
31040 * fs/fat.c (grub_fat_read_data): Likewise.
31041
e1f39873 310422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31043
31044 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31045 payload.
31046 (grub_module): Likewise.
31047
c166d79e 310482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31049
31050 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31051 mbi->cmdline but free playground.
31052
c60cee8e 310532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31054
31055 Handle group offset on UFS1.
31056
31057 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31058 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31059
c0d8b5d4 310602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31061
31062 Split ufs.mod into ufs1.mod and ufs2.mod.
31063
31064 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31065 (grub_fstest_SOURCES): Likewise.
31066 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31067 (ufs_mod_SOURCES): Remove.
31068 (ufs_mod_CFLAGS): Likewise.
31069 (ufs_mod_LDFLAGS): Likewise.
31070 (ufs1_mod_SOURCES): New variable.
31071 (ufs1_mod_CFLAGS): Likewise.
31072 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31073 (ufs2_mod_SOURCES): New variable.
31074 (ufs2_mod_CFLAGS): Likewise.
31075 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31076 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31077 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31078 Likewise.
31079 (grub_emu_SOURCES): Likewise.
31080 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31081 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31082 (grub_setup_SOURCES): Likewise.
31083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31084 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31085 (grub_setup_SOURCES): Likewise.
31086 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31087 Likewise.
31088 * fs/ufs2.c: New file.
31089 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31090
d3539132 310912009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31092
31093 Framebuffer split.
31094
31095 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31096 subsystem at the end.
31097 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31098 (video_fb_mod_SOURCES): New variable.
31099 (video_fb_mod_CFLAGS): Likewise.
31100 (video_fb_mod_LDFLAGS): Likewise.
31101 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31102 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31103 * video/i386/pc/vbeblit.c: Moved from here ...
31104 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31105 * video/i386/pc/vbefill.c: Moved from here ...
31106 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31107 * video/i386/pc/vbeutil.c: Moved from here ...
31108 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31109 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31110 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31111 * include/grub/i386/pc/vbefill.h: Moved from here ...
31112 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31113 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31114 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31115 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31116 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31117 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31118 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31119 (grub_video_adapter): Added 'get_info_and_fini'.
31120 (grub_video_get_info_and_fini): New prototype.
31121 (grub_video_set_mode): make modestring const char *.
31122 * loader/i386/linux.c (grub_linux_setup_video): Use
31123 grub_video_get_info_and_fini.
31124 (grub_linux_boot): Move modesetting just before booting.
31125 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31126 grub_video_get_info_and_fini.
31127 * video/i386/pc/vbe.c: Moved framebuffer part ...
31128 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31129 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31130 grub_video_fbstd_colors and grub_video_fb_set_palette.
31131 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31132 grub_video_fb_init.
31133 (grub_video_vbe_fini): Use grub_video_fb_fini.
31134 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31135 render_target and use grub_video_fb_set_active_render_target and
31136 grub_video_fb_set_palette.
31137 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31138 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31139 (grub_video_vbe_adapter): Use framebuffer.
31140 * video/video.c (grub_video_get_info_and_fini): New function.
31141 (grub_video_set_mode): Make modestring const char *.
31142 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31143 values are already initialised.
31144
d404ee56 311452009-08-14 Pavel Roskin <proski@gnu.org>
31146
31147 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31148 ABS and APPLE_CC.
31149 * boot/i386/pc/diskboot.S: Likewise.
31150 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31151 sectors allow compilation on MacOSX.
31152 * conf/i386-pc.rmk: Enable unconditional compilation of
31153 lnxboot.img.
31154
9a10df16 311552009-08-13 Colin Watson <cjwatson@ubuntu.com>
31156
31157 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31158 * util/grub.d/00_header.in: Enter interruptible sleep if
31159 GRUB_HIDDEN_TIMEOUT is set.
31160
be3c9ca7 311612009-08-13 Yves Blusseau <blusseau@zetam.org>
31162
31163 * include/grub/symbol.h: Add the LOCAL macro.
31164 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31165 starting with "L_".
31166
1f9e557e 311672009-08-13 Pavel Roskin <proski@gnu.org>
31168
9ca62843 31169 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31170 any modern compilers we support.
31171
1f9e557e 31172 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31173 Use local labels starting with "L_" so that Apple assembler
31174 knows they are local.
31175
81623db6 311762009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31177
31178 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31179 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31180 (bsd_kernel_types): ... this enum.
31181
31182 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31183 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31184 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31185
31186 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31187 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31188 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31189 messages.
31190
f5d35e7a 311912009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31192
31193 * util/grub-dumpdevtree: Moved from here ...
31194 * util/i386/efi/grub-dumpdevtree: ... to here.
31195 (hexify): New function. Converts a string to its hex version.
31196 Generate hex versions of "efi" and "device-properties" by calling
31197 hexify() on the ASCII strings rather than by hardcoding numbers.
31198
d1e1d527 311992009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31200
31201 * fs/jfs.c: Update copyright year.
31202
1ebbe064 312032009-08-08 Felix Zielcke <fzielcke@z-51.de>
31204
31205 * util/grub.d/00_header.in: Fix a comment.
31206 * util/grub.d/10_linux.in: Likewise.
31207 * util/grub.d/10_windows.in: Likewise.
31208 * util/grub.d/10_hurd.in: Likewise.
31209
a78c8d24 312102009-08-08 Felix Zielcke <fzielcke@z-51.de>
31211
31212 * util/grub-mkconfig.in: Allow the user to specify the used font
31213 with GRUB_FONT.
31214
29a6b9e8 312152009-08-08 Pavel Roskin <proski@gnu.org>
31216
b5f16cc4 31217 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31218 available, xfs.mod needs it now.
31219
2f5cb827 31220 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31221 the "g" modifier in sed when the intention is to strip something
31222 once. This fixes comparison of kernels with multiple dashes.
31223
29a6b9e8 31224 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31225 on it. Add missing space before closing bracket. Fix
31226 misleading formatting.
31227
892a3d98 312282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31229
31230 * docs/grub.texi: Major overhaul. Remove all sections that are
31231 specific to GRUB Legacy, or mostly composed of Legacy-specific
31232 information.
31233
ed94253f 312342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31235
31236 * docs/version.texi: New file. Provides version information for
31237 grub.texi.
31238
126d6628 312392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31240
31241 * docs/grub.texi: Update CVS information to SVN.
31242 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31243
998b5aa9 312442009-08-07 Felix Zielcke <fzielcke@z-51.de>
31245
31246 * util/grub-mkconfig.in: Remove a wrong `fi'.
31247
818e094a 312482009-08-07 Felix Zielcke <fzielcke@z-51.de>
31249
31250 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31251 (grub_jfs_uuid): New function.
31252 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31253
b969c52f 312542009-08-07 Felix Zielcke <fzielcke@z-51.de>
31255
31256 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31257 of it to ...
31258 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31259 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31260
7a4894cc 312612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31262
31263 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31264 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31265 Update all users.
31266
31267 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31268 not just "vmlinu[zx]".
31269 Moved from here ...
31270 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31271 all users.
31272
31273 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31274 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31275 all users.
31276
4e2171f8 312772009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31278
31279 * util/grub.d/10_freebsd.in: Use an absolute device path for
31280 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31281
6dcfcb32 312822009-08-06 Felix Zielcke <fzielcke@z-51.de>
31283
31284 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31285 handling of multiple abstraction modules.
31286
f56a8756 312872009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31288
31289 Fix a bug resulting in black screen when loading Linux using a
31290 packed video mode.
31291
31292 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31293 function.
31294
31295 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31296 (grub_vbe_bios_getset_dac_palette_width): New function.
31297 (grub_vbe_bios_get_dac_palette_width)
31298 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31299 grub_vbe_bios_getset_dac_palette_width()).
31300
31301 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31302 check for return status.
31303 (grub_vbe_get_video_mode_info): When getting information for a packed
31304 mode (<= 8 bpp), obtain DAC palette width using
31305 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31306 {red,green,blue}_mark_size.
31307
222671b2 313082009-08-04 Felix Zielcke <fzielcke@z-51.de>
31309
ecb1a6d9 31310 * commands/search.c (options): Fix help output to match actual code.
222671b2 31311
f84114f5 313122009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31313
31314 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31315 of homegrown code.
31316
bd288a20 313172009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31318
31319 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31320 on XFS or ReiserFS.
31321
8aab5e25 313222009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31323
31324 Support Apple partition map with sector size different from 512 bytes.
31325
31326 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31327 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31328 and 'apart.partmap_size'.
31329
6ad6258a 313302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
313312009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31332
31333 Fix cpuid command.
31334
31335 * commands/i386/cpuid.c (options): New variable.
31336 (grub_cmd_cpuid): Return real error.
31337 (GRUB_MOD_INIT(cpuid)): Declare options.
31338
67459bc6 313392009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31340
31341 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31342 valid.
31343
fbc6ab54 313442009-07-31 Bean <bean123ch@gmail.com>
31345
31346 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31347 log2_inode.
31348 (grub_fshelp_node): Move inode field to the end.
31349 (grub_xfs_data): Remove inode field.
31350 (grub_xfs_inode_block): Calculate inode size using sblock.
31351 (grub_xfs_inode_offset): Likewise.
31352 (grub_xfs_read_inode): Calculate inode size using sblock.
31353 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31354 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31355 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31356 to match inode size.
31357 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31358 not accessible when data is null.
31359 (grub_xfs_open): Likewise.
31360
f45d6cfc 313612009-07-31 Bean <bean123ch@gmail.com>
31362
31363 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31364 Don't change pv->disk if it's already set.
31365
31366 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31367 (grub_raid_register): ... here.
31368 (grub_raid_rescan): Removed.
31369
31370 * include/grub/raid.h (grub_raid_rescan): Removed.
31371
31372 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31373 (fstest): Replace grub_raid_rescan with module fini function followed
31374 by init function.
31375
31376 * util/grub-probe.c: Add include file <grub/raid.h>.
31377 (probe_raid_level): New function.
31378 (probe): Detect abstraction by walking the disk device, support two
31379 level of abstraction (LVM on RAID) when detecting partition map.
31380
24443b5a 313812009-07-31 Pavel Roskin <proski@gnu.org>
31382
31383 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31384 to grub_zalloc(), it was erroneous.
31385 Reported by Bean <bean123ch@gmail.com>
31386
a275d9e7 313872009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31388
31389 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31390 embedding zone, not only the first one.
a275d9e7 31391
56c5a47f 313922009-07-29 Joe Auricchio <jauricchio@gmail.com>
31393
31394 * term/gfxterm.c (clear_char): New function.
31395 (grub_virtual_screen_setup): Use clear_char.
31396 (scroll_up): Likewise.
31397 (grub_virtual_screen_cls): Likewise.
31398
67bb323a 313992009-07-29 Felix Zielcke <fzielcke@z-51.de>
31400
31401 * util/deviceiter.c (get_acceleraid_disk_name): New static
31402 function.
31403 (grub_util_iterate_devices): Handle Accelraid devices.
31404 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31405
388a7c75 314062009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31407
31408 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31409 separator for the suggested gfxpayload string (';' collides with the
31410 parser and needs escaping).
31411
3bb7abcf 314122009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31413
31414 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31415 Clear direction flag before jumping to OS.
31416 (grub_multiboot2_real_boot): Likewise.
31417
2ddd36d7 314182009-07-28 Felix Zielcke <fzielcke@z-51.de>
31419
31420 * util/i386/pc/grub-install: Fix parsing of --disk-module
31421 option.
31422
c521b62b 314232009-07-28 Felix Zielcke <fzielcke@z-51.de>
31424
31425 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31426 when embedding.
31427
880e0a0c 314282009-07-26 Felix Zielcke <fzielcke@z-51.de>
31429
31430 * util/grub-mkconfig.in (package_version): New variable.
31431 Use it do display the version.
31432
2366e356 314332009-07-25 Felix Zielcke <fzielcke@z-51.de>
31434
31435 * kern/file.c (grub_file_open): Revert to previous check with
31436 grub_errno.
31437
7ad8c80e 314382009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31439
31440 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31441 from help line. It's out of sync with code.
31442
72b9658b 314432009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31444
31445 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31446 entries on failed boot.
31447
77435277 314482009-07-25 Felix Zielcke <fzielcke@z-51.de>
31449
31450 * kern/file.c (grub_file_open): Fix an error check.
31451
fcaa8b21 314522009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31453
35d16c74 31454 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31455 partition map couldn't be identified.
fcaa8b21 31456
48904cd1 314572009-07-23 Pavel Roskin <proski@gnu.org>
31458
ef3c317f 31459 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31460 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31461 case of little endian words becomes just an optimization.
31462 Respect const modifier.
ad8ea1f4 31463 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31464
48904cd1 31465 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31466 to avoid loss of upper bits if align is unsigned and shorter
31467 than addr.
31468
260c9a89 314692009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31470
31471 UUID support for UFS
31472
31473 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31474 (grub_ufs_uuid): New function.
31475 (grub_ufs_fs): add .uuid
31476
f76ce889 314772009-07-21 Pavel Roskin <proski@gnu.org>
31478
31479 * kern/dl.c (grub_dl_check_header): Make static.
31480
6a6cbcaf 314812009-07-21 Felix Zielcke <fzielcke@z-51.de>
31482
31483 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31484 add drivemap for Vista. It breaks Windows 7.
31485
cffcddb2 314862009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31487
31488 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31489 128 bytes
31490
1ef44b80 314912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31492
31493 Add BFS support
31494
31495 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31496 (grub_fstest_SOURCES): Likewise.
31497 (pkglib_MODULES): Add befs.mod.
31498 (befs_mod_SOURCES): New variable.
31499 (befs_mod_CFLAGS): Likewise.
31500 (befs_mod_LDFLAGS): Likewise.
31501 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31502 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31503 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31504 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31505 (grub_setup_SOURCES): Likewise.
31506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31507 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31508 (grub_setup_SOURCES): Likewise.
31509 * fs/befs.c: New file.
31510 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31511 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31512 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31513 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31514 (B_KEY_INDEX_ALIGN): New declaration.
31515 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31516 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31517 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31518 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31519 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31520 (grub_afs_mount) [MODE_BFS]: Likewise.
31521 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31522 (grub_afs_fs): Use GRUB_AFS_FSNAME
31523 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31524 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31525 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31526 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31527
4f253044 315282009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31529
31530 * util/getroot.c (find_root_device): Add support for MacOSX.
31531 * util/hostdisk.c: Likewise.
31532
57a55913 315332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31534
31535 * font/font.c (find_glyph): Check whether a font is present to avoid
31536 segmentation fault.
75421ca9 31537
315382009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31539
31540 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31541
e98cd0c2 315422009-07-20 Pavel Roskin <proski@gnu.org>
31543
31544 * configure.ac: Trim excessively wordy excuses.
31545
1d2d169a 315462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31547
31548 Add symlink, mtime and label support to AtheFS.
31549
31550 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31551 (grub_afs_iterate_dir): Handle symlinks.
31552 (grub_afs_open): Use grub_afs_read_symlink.
31553 (grub_afs_dir): Likewise.
31554 Pass mtime.
31555 (grub_afs_label): New function.
31556 (grub_afs_fs): Add grub_afs_label.
31557 (grub_afs_read_symlink): New function.
31558
186f3189 315592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31560
31561 Fix AtheFS support.
31562
31563 * fs/afs.c: Fix comments style.
31564 (grub_afs_blockrun): Declare as packed.
31565 (grub_afs_datastream): Likewise.
31566 (grub_afs_bnode): Likewise.
31567 (grub_afs_btree): Likewise.
31568 (grub_afs_sblock): Likewise.
31569 Declare `name' as char.
31570 (grub_afs_inode): Declare as packed.
31571 Change void *vnode to grub_uint32_t unused.
31572 (grub_afs_iterate_dir): Check that key_size is positive.
31573 (grub_afs_mount): Don't read superblock twice.
75421ca9 31574 (grub_afs_dir): Don't free node in case of error,
186f3189 31575 grub_fshelp_find_file already handles this.
31576 (grub_afs_open): Likewise.
31577
5680109e 315782009-07-19 Pavel Roskin <proski@gnu.org>
31579
31580 * Makefile.in: Remove LIBLZO and enable_lzo.
31581 * conf/i386-pc.rmk: Remove lzo support.
31582 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31583 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31584 support.
31585 * kern/i386/pc/lzo1x.S: Remove.
31586 * kern/i386/pc/startup.S: Remove lzo support.
31587 * util/i386/pc/grub-mkimage.c: Likewise.
31588
ac70fa32 315892009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31590
31591 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31592 * fs/xfs.c (grub_xfs_dir): Likewise.
31593 * fs/afs.c (grub_afs_dir): Likewise.
31594 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31595 (grub_iso9660_open): Likewise.
31596 * fs/jfs.c (grub_jfs_open): Likewise.
31597 * fs/ext2.c (grub_ext2_dir): Likewise.
31598 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31599 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31600
eab58da2 316012009-07-16 Pavel Roskin <proski@gnu.org>
31602
d2838156 31603 * configure.ac: Never add "-c" to CFLAGS.
31604
55c70904 31605 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31606
43e6200c 31607 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31608 grub_cv_cc_efiemu should be used.
31609
ce7a733d 31610 * configure.ac: Typo fixes.
31611
eab58da2 31612 * kern/mm.c (grub_zalloc): New function.
31613 (grub_debug_zalloc): Likewise.
31614 * include/grub/mm.h: Declare grub_zalloc() and
31615 grub_debug_zalloc().
31616 * util/misc.c (grub_zalloc): New function.
31617 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31618 instead of grub_malloc(), remove unneeded initializations.
31619 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31620 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31621 * commands/parttool.c (grub_cmd_parttool): Likewise.
31622 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31623 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31624 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31625 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31626 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31627 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31628 (grub_cmd_efiemu_pnvram): Likewise.
31629 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31630 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31631 (grub_iso9660_iterate_dir): Likewise.
31632 * fs/jfs.c (grub_jfs_opendir): Likewise.
31633 * fs/ntfs.c (list_file): Likewise.
31634 (grub_ntfs_mount): Likewise.
31635 * kern/disk.c (grub_disk_open): Likewise.
31636 * kern/dl.c (grub_dl_load_core): Likewise.
31637 * kern/elf.c (grub_elf_file): Likewise.
31638 * kern/env.c (grub_env_context_open): Likewise.
31639 (grub_env_set): Likewise.
31640 (grub_env_set_data_slot): Likewise.
31641 * kern/file.c (grub_file_open): Likewise.
31642 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31643 * loader/i386/multiboot.c (grub_module): Likewise.
31644 * loader/xnu.c (grub_xnu_create_key): Likewise.
31645 (grub_xnu_create_value): Likewise.
31646 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31647 (read_config_file): Likewise.
31648 * normal/menu_entry.c (make_screen): Likewise.
31649 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31650 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31651 * script/sh/script.c (grub_script_parse): Likewise.
31652 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31653 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31654 * video/readers/png.c (grub_png_output_byte): Likewise.
31655 (grub_video_reader_png): Likewise.
31656
830afef7 316572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 31658
31659 Enable all targets that can be built by default
31660
830afef7 31661 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 31662 grub-mkfont and grub-fstest if they can be built
31663
ee293aee 316642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31665
31666 Fix hang and segmentation fault in grub-emu-usb
31667
31668 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31669 * util/usb.c (grub_libusb_devices): likewise
31670 (grub_libusb_init): rename to ...
31671 (GRUB_MOD_INIT (libusb)):...this
31672 (grub_libusb_fini): rename to ..
31673 (GRUB_MOD_FINI (libusb)):...this
31674 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31675 * include/grub/disk.h (grub_raid_init): removed, it's useless
31676 (grub_raid_fini): likewise
31677 (grub_lvm_init): likewise
31678 (grub_lvm_fini): likewise
31679 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31680 by grub_init_all
31681
94414221 316822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31683
31684 Fix libusb
31685
31686 * Makefile.in (LIBUSB): new macro
31687 * genmk.rb (Utility/print_tail): new method
31688 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31689 (top level): call util.print_tail at the end.
31690
59ade63d 316912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31692
31693 Make FreeBSD accept zpool.cache
31694
31695 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31696 type is /boot/zfs/zpool.cache
31697
a58da8c7 316982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31699
31700 Fix 64-bit efiemu
31701
31702 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31703 correct wrong typedef
31704 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31705
20591577 317062009-07-15 Pavel Roskin <proski@gnu.org>
31707
560ca572 31708 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31709 * kern/disk.c (struct grub_disk_cache): Likewise.
31710
e8e8e4fd 31711 * commands/probe.c (options): Typo fix.
31712
fde24e10 31713 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31714 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31715 accordingly.
31716 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31717
379c54c1 31718 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31719 the end of "Error" to make the message more readable.
31720
7bd8f5bf 31721 * boot/i386/pc/boot.S (kernel_segment): Remove.
31722 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31723 for destination.
31724
40b132c5 31725 * boot/i386/pc/boot.S (boot_version): Remove.
31726 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31727 Remove.
31728
20591577 31729 * include/grub/i386/pc/boot.h: Sort all offsets.
31730 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31731 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31732 * boot/i386/pc/boot.S: Assert location of every offset listed in
31733 include/grub/i386/pc/boot.h.
31734
2df32b2c 317352009-07-13 Pavel Roskin <proski@gnu.org>
31736
44b5d879 31737 * include/grub/i386/coreboot/machine.h: Rename
31738 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31739 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31740 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31741
17dc3751 31742 * kern/dl.c: Force native word size to suppress warnings when
31743 compiling grub-emu.
31744
2df32b2c 31745 * kern/device.c (grub_device_iterate): Change struct part_ent to
31746 hold the name, not a pointer to it. Use one grub_malloc() per
31747 partition, not two. Free partition_name if grub_malloc() fails.
31748 Set ents to NULL only before grub_partition_iterate() is called.
31749
75c59f59 317502009-07-11 Bean <bean123ch@gmail.com>
31751
31752 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31753 childname.
31754
0ae1bf88 317552009-07-10 Bean <bean123ch@gmail.com>
317562009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31757
31758 * kern/ieee1275/openfw.c (grub_children_iterate)
31759 (grub_devalias_iterate): Fix size evaluation for property or path
31760 strings, which was broken since r2132.
31761
8279cade 317622009-07-07 Pavel Roskin <proski@gnu.org>
31763
7d8a52d3 31764 * commands/search.c (search_file): Merge into ...
31765 (search_fs): ... this. Accept search type as argument.
31766 (grub_cmd_search): Pass search type to search_fs().
31767
25f9a05a 31768 * include/grub/util/console.h: New file.
31769 * util/console.c: Use it instead of grub/machine/console.h.
31770 * util/grub-emu.c: Likewise.
31771
8279cade 31772 * lib/arg.c (find_long_option): Remove.
31773 (find_long): Add `len' argument, make `s' const char *.
31774 (grub_arg_parse): Parse long options in place, not in a
31775 temporary buffer.
31776
4a11b60f 317772009-07-06 Pavel Roskin <proski@gnu.org>
31778
99f68041 31779 * commands/search.c (search_fs): Fix potential NULL pointer
31780 dereference.
31781
4a11b60f 31782 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31783 function pointer.
31784
e110f4de 317852009-07-06 Daniel Mierswa <impulze@impulze.org>
31786
31787 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31788 comparison.
31789
46eeb6a2 317902009-07-05 Pavel Roskin <proski@gnu.org>
31791
bab74958 31792 * include/grub/i386/linux.h (struct linux_kernel_params):
31793 Restore padding3, it's still needed.
31794
46eeb6a2 31795 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31796 FreeBSD.
31797 * util/osdetect.lua: Likewise.
31798
b4a1dc79 317992009-07-05 Bean <bean123ch@gmail.com>
31800
31801 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31802
31803 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31804 (grub_lua_getenv): Likewise.
31805 (grub_lua_setenv): Likewise.
31806 (save_errno): New function.
31807 (push_result): Likewise.
31808 (grub_lua_enum_device): Likewise.
31809 (grub_lua_enum_file): Likewise.
31810 (grub_lua_file_open): Likewise.
31811 (grub_lua_file_close): Likewise.
31812 (grub_lua_file_seek): Likewise.
31813 (grub_lua_file_read): Likewise.
31814 (grub_lua_file_getline): Likewise.
31815 (grub_lua_file_getsize): Likewise.
31816 (grub_lua_file_getpos): Likewise.
31817 (grub_lua_file_eof): Likewise.
31818 (grub_lua_file_exist): Likewise.
31819 (grub_lua_add_menu): Likewise.
31820
31821 * script/lua/grub_lua.h (isupper): New inline function.
31822 (islower): Likewise.
31823 (ispunct): Likewise.
31824 (isxdigit): Likewise.
31825 (strcspn): Change to normal function.
31826 (strpbkr): New function declaration.
31827 (memchr): Likewise.
31828
31829 * script/lua/grub_main.c (scan_str): New function.
31830 (strcspn): Likewise.
31831 (strpbrk): Likewise.
31832 (memchr): Likewise.
31833
31834 * script/lua/linit.c (lualibs): Enable the string library.
31835
31836 * util/osdetect.lua: New file.
31837
2da92295 318382009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31839
31840 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31841 `capabilities' member.
31842
b2582ec9 318432009-07-02 Pavel Roskin <proski@gnu.org>
31844
31845 * genparttoollist.sh: Add missing newline at the end.
31846
32622956 318472009-07-01 Pavel Roskin <proski@gnu.org>
31848
87a7339e 31849 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31850
d23af54e 31851 * util/hostdisk.c (open_device): Remove `const' from
31852 `sysctl_size', as sysctlbyname() can change it (in this case it
31853 doesn't actually happen).
31854
c94b18a9 31855 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31856 using signed long int constants.
31857
c6cd3ef0 31858 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31859 constant to avoid a warning on FreeBSD.
31860
0df63420 31861 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31862 where it's needed.
31863
999577f1 31864 * Makefile.in: Install include/grub/machine symlink.
31865
6f41557f 31866 * Makefile.in: When installing symlinks, use "cp -fR", which
31867 works on FreeBSD and MacOSX.
31868 From Yves Blusseau <cl7m42e02@sneakemail.com>
31869
c8d22988 31870 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31871 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31872
1b96e952 31873 * util/misc.c: Move grub_reboot() and grub_halt() ...
31874 * util/grub-emu.c: ... here. Make main_env static.
31875 * include/grub/util/misc.h: Remove main_env.
31876
2ef0084d 31877 * kern/mm.c: Use correct format to print size_t.
31878
32622956 31879 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31880 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31881 * kern/powerpc/dl.c: Likewise.
31882 * kern/sparc64/dl.c: Likewise.
31883 * kern/x86_64/dl.c: Likewise.
31884
3f7f0cd0 318852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31886
31887 Fix grub-emu build on sparc64-ieee1275.
31888
75421ca9 31889 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31891
211d06b5 318922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31893
31894 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31895 (grub_reboot, grub_halt): New functions.
31896
31897 * util/i386/pc/misc.c: Delete. Update all users.
31898 * util/sparc64/ieee1275/misc.c: Likewise.
31899 * util/powerpc/ieee1275/misc.c: Likewise.
31900
aaf53e3c 319012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31902
31903 * conf/i386.rmk (setjmp_mod_SOURCES)
31904 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31905 * conf/common.rmk (setjmp_mod_SOURCES)
31906 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31907 to use $(target_cpu).
31908 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31909 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31910 * conf/powerpc-ieee1275.rmk: Likewise.
31911 * conf/sparc64-ieee1275.rmk: Likewise.
31912
31913 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31914 $(target_cpu) for kern/$(target_cpu)/dl.c.
31915 * conf/i386-efi.rmk: Likewise.
31916 * conf/i386-ieee1275.rmk: Likewise.
31917 * conf/x86_64-efi.rmk: Likewise.
31918 * conf/i386-coreboot.rmk: Likewise.
31919 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31920 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31921 kern/$(target_cpu)/cache.S.
31922 * conf/sparc64-ieee1275.rmk: Likewise.
31923
a337130b 319242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31925
31926 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31927 type to `grub_uint8_t', and adjust `padding9' accordingly.
31928
c6fe4d53 319292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31930
b09db61d 31931 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31932
c6fe4d53 31933 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31934 assembly in final jump, using register constraints.
31935
b09db61d 31936 (grub_linux_boot): For text mode, initialize `have_vga' using
31937 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31938
31939 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31940 right before the final jump.
31941
31942 Set `video_mode' to 0x3.
31943
31944 Document initialization of `video_page', `video_mode' and
31945 `video_ega_bx'.
31946
28333ad0 319472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31948
31949 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31950 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31951 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31952
02164e1b 319532009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31954
31955 Fix build on Debian / sparc.
31956
31957 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31958
18b6c557 319592009-06-28 Pavel Roskin <proski@gnu.org>
31960
85f2aab6 31961 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31962 fix a warning.
31963
18b6c557 31964 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31965
ad760f81 319662009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31967
31968 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31969 `err'.
31970
87a4623b 319712009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31972
31973 Revert r2338.
31974
31975 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31976 file can't be opened. grub_file_open() is already supposed to set
75421ca9 31977 grub_errno / grub_errmsg appropriately.
87a4623b 31978 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31979
8231fb77 319802009-06-27 Pavel Roskin <proski@gnu.org>
319812009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31982
31983 * include/grub/dl.h: Include grub/elf.h.
31984 (struct grub_dl): Add symtab field.
31985 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31986 GRUB_MODULES_MACHINE_READONLY.
31987 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31988 of the header for read-only modules.
31989 (grub_dl_unload): Free mod->symtab for read-only modules.
31990 * kern/i386/dl.c: Use mod->symtab.
31991 * kern/powerpc/dl.c: Likewise.
31992 * kern/sparc64/dl.c: Likewise.
31993 * kern/x86_64/dl.c: Likewise.
31994
31995 * conf/i386-qemu.rmk: New file.
31996 * kern/i386/qemu/startup.S: Likewise.
31997 * kern/i386/qemu/mmap.c: Likewise.
31998 * boot/i386/qemu/boot.S: Likewise.
31999 * include/grub/i386/qemu/time.h: Likewise.
32000 * include/grub/i386/qemu/serial.h: Likewise.
32001 * include/grub/i386/qemu/kernel.h: Likewise.
32002 * include/grub/i386/qemu/console.h: Likewise.
32003 * include/grub/i386/qemu/boot.h: Likewise.
32004 * include/grub/i386/qemu/init.h: Likewise.
32005 * include/grub/i386/qemu/machine.h: Likewise.
32006 * include/grub/i386/qemu/loader.h: Likewise.
32007 * include/grub/i386/qemu/memory.h: Likewise.
32008
32009 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32010 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32011 [qemu] (pkglib_IMAGES): Add `boot.img'.
32012 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32013 [qemu] (boot_img_FORMAT): New variables.
32014 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32015 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32016 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32017 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32018 [qemu] (kernel_img_FORMAT): New variables.
32019
32020 * configure.ac: Recognise `i386-qemu'.
32021
32022 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32023 (for no compression).
32024 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32025 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32026 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32027 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32028 ifdefs).
32029
97fe384e 320302009-06-27 Pavel Roskin <proski@gnu.org>
32031
32032 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32033 read.
32034 * efiemu/prepare32.c: Likewise.
32035 * efiemu/prepare64.c: Likewise.
32036
c402ab17 320372009-06-26 Pavel Roskin <proski@gnu.org>
32038
32039 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32040 * include/grub/elf.h: Define symbols without "32" or "64" based
32041 on GRUB_TARGET_WORDSIZE.
32042 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32043 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32044 ELF definitions.
32045 * efiemu/loadcore64.c: Likewise.
32046 * loader/i386/bsd32.c: Likewise.
32047 * loader/i386/bsd64.c: Likewise.
32048 * kern/dl.c: Remove own ELF definitions.
32049 * util/i386/efi/grub-mkimage.c: Likewise.
32050
9bbdfd4d 320512009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32052
32053 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32054 segment 0x0 unconditionally, because the reference generated by
32055 GAS is an absolute address.
32056
a42ce6e9 320572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32058
32059 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32060 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32061
c952cf92 320622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32063
32064 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32065 indexes. Check for -f explicitly.
cc3752ad 32066 (search_file): Improve error message.
32067 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32068
132a0a59 320692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32070
32071 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32072 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32073
387a140c 320742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32075
32076 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32077 * conf/i386-ieee1275.rmk: Likewise.
32078 * conf/i386-coreboot.rmk: Likewise.
32079
32080 * kern/i386/pc/startup.S (grub_stop): Remove function.
32081 * kern/i386/ieee1275/startup.S: Likewise.
32082 * kern/i386/coreboot/startup.S: Likewise.
32083 * kern/i386/misc.S (grub_stop): New function.
32084
41da9665 320852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32086
32087 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32088 * kern/i386/realmode.S (real_to_prot): ... to here.
32089
bf337234 320902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32091
32092 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32093 with `kernel.img'.
32094 (kernel_elf_SOURCES): Rename to ...
32095 (kernel_img_SOURCES): ... this.
32096 (kernel_elf_HEADERS): Rename to ...
32097 (kernel_img_HEADERS): ... this. Update all users.
32098 (kernel_elf_ASFLAGS): Rename to ...
32099 (kernel_img_ASFLAGS): ... this.
32100 (kernel_elf_CFLAGS): Rename to ...
32101 (kernel_img_CFLAGS): ... this.
32102 (kernel_elf_LDFLAGS): Rename to ...
32103 (kernel_img_LDFLAGS): ... this.
32104 * conf/i386-coreboot.rmk: Likewise.
32105 * conf/powerpc-ieee1275.rmk: Likewise.
32106
32107 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32108 with "kernel.img".
32109
f52196ff 321102009-06-21 Pavel Roskin <proski@gnu.org>
32111
c3cee413 32112 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32113 to match nested functions.
32114 * loader/sparc64/ieee1275/linux.c: Likewise.
32115
f52196ff 32116 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32117
58750afc 321182009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32119
32120 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32121 all i386 platforms.
32122
15355c7d 321232009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32124
32125 Fix asm file handling on ELF, and remove workarounds.
32126
32127 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32128 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32129 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32130 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32131
3f3ec72b 321322009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32133
32134 Load BSD ELF modules
32135
32136 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32137 and loader/i386/bsd64.c
32138 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32139 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32140 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32141 (grub_freebsd_load_elfmodule32): New declaration
32142 (grub_freebsd_load_elfmoduleobj64): Likewise
32143 (grub_freebsd_load_elf_meta32): Likewise
32144 (grub_freebsd_load_elf_meta64): Likewise
32145 (grub_freebsd_add_meta): Likewise
32146 (grub_freebsd_add_meta_module): Likewise
32147 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32148 (grub_freebsd_add_meta_module): Likewise and move module-specific
32149 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32150 (grub_cmd_freebsd): Add elf-kernel specific parts
32151 based on grub_freebsd_add_meta_module
32152 (grub_cmd_freebsd_module): Add type parsing moved from
32153 grub_freebsd_add_meta_module
32154 (grub_cmd_freebsd_module_elf): New function
32155 (cmd_freebsd_module_elf): New variable
32156 (GRUB_MOD_INIT): Register freebsd_module_elf
32157 * loader/i386/bsd32.c: New file
32158 * loader/i386/bsd64.c: Likewise
32159 * loader/i386/bsdXX.c: Likewise
32160 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32161 (grub_elf64_load): Likewise
32162 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32163 All users updated
32164 (grub_elf64_load_hook_t): Likewise
32165
0db15301 321662009-06-21 Colin Watson <cjwatson@ubuntu.com>
32167
32168 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32169 variable.
32170 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32171 don't write a menu entry for recovery mode.
32172
546796c1 321732009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32174
32175 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32176 after it's no longer needed.
32177
cd7310d5 321782009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32179
32180 * include/grub/i386/loader.h (grub_linux_prot_size)
32181 (grub_linux_tmp_addr, grub_linux_real_addr)
32182 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32183 GRUB_MACHINE_PCBIOS.
32184 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32185 common grub_util_info() call to ...
32186 (generate_image): ... here.
32187 Fix use of uninitialized memory, comparison of signed with
32188 unsigned integers and memory leak.
32189 Remove bogus module address message.
32190
ab32d3b5 321912009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32192
32193 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32194 grub_raid_register
32195 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32196
024ef597 321972009-06-19 Pavel Roskin <proski@gnu.org>
32198
32199 * configure.ac: Remove stray AC_MSG_CHECKING.
32200
3ac72b51 322012009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32202
32203 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32204
e14cd814 322052009-06-18 Pavel Roskin <proski@gnu.org>
32206
32207 * conf/common.rmk: Add fs_file.mod.
32208 * disk/fs_file.c: New file.
32209 * include/grub/disk.h (enum grub_disk_dev_id): Add
32210 GRUB_DISK_DEVICE_FILE_ID.
32211
26586d98 322122009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32213
32214 Fix build with Apple's toolchain. Part 2
32215
32216 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32217 a fake start
32218
26de2bcd 322192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32220
32221 Fix build with Apple's toolchain. Part 1
32222
32223 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32224 for long calls
32225 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32226 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32227 Apple's toolchain
32228
09b3490b 322292009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32230
32231 Fix warnings
32232
32233 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32234 (decomp_block): initialize ch
32235 use grub_memcpy instead of memcpy
32236
c22a006a 322372009-06-17 Pavel Roskin <proski@gnu.org>
32238
d3638678 32239 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32240 version, use declarations needed to use vga_text as the startup
32241 console.
32242
c22a006a 32243 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32244 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32245 the kernel.
32246 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32247 and grub_at_keyboard_fini(), it's done on module load and
32248 unload.
32249
05b129e0 322502009-06-17 Felix Zielcke <fzielcke@z-51.de>
32251
32252 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32253 file can't be found.
32254 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32255
cf24ed9e 322562009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32257
32258 Fix newline handling
32259
32260 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32261 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32262 (grub_script_yylex): don't segfault on unterminated script
32263 newline terminates command and variable
32264
74aa8e4b 322652009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32266
32267 avoid double grub_adjust_range call. Bug reported by David Simner
32268
32269 * kern/disk.c (grub_disk_write): change to raw disk access before
32270 calling disk_read
32271
1bd265f3 322722009-06-17 Colin Watson <cjwatson@ubuntu.com>
32273
32274 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32275 spaces, for the benefit of help2man.
32276 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32277
a2d08c06 322782009-06-16 Pavel Roskin <proski@gnu.org>
32279
32280 * kern/i386/halt.c: Include grub/machine/init.h.
32281 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32282
b97bcb19 322832009-06-16 Felix Zielcke <fzielcke@z-51.de>
32284
32285 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32286 drivemap menuentry.
32287
0644f96c 322882009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32289
32290 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32291 `echo' command.
32292
3ef17a2e 322932009-06-16 Pavel Roskin <proski@gnu.org>
32294
32295 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32296 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32297 save %dx, we only need %dl and we never change it.
32298 * boot/i386/pc/cdboot.S: Don't set the root drive.
32299 * boot/i386/pc/pxeboot.S: Likewise.
32300 * include/grub/i386/pc/boot.h: Remove
32301 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32302 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32303 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32304 * kern/i386/pc/init.c (make_install_device): Remove references
32305 to grub_root_drive.
32306 * kern/i386/pc/startup.S: Likewise.
32307 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32308
693fe637 323092009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32310
32311 xnu_uuid command
32312
32313 * commands/xnu_uuid.c: new file
32314 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32315 (xnu_uuid_mod_SOURCES): new variable
32316 (xnu_uuid_mod_CFLAGS): likewise
32317 (xnu_uuid_mod_LDFLAGS): likewise
32318 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32319 * conf/i386-ieee1275.rmk: likewise
32320 * conf/i386-pc.rmk: likewise
32321 * conf/powerpc-ieee1275.rmk: likewise
32322 * conf/sparc64-ieee1275.rmk: likewise
32323 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32324
c9da87d0 323252009-06-16 Pavel Roskin <proski@gnu.org>
32326
32327 * configure.ac: Avoid '==' in test command, it's not portable.
32328
9c6f4596 323292009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32330
32331 Probe command
32332
32333 * commands/probe.c: new file
32334 * conf/common.rmk (pkglib_MODULES): add probe.mod
32335 (probe_mod_SOURCES): new variable
32336 (probe_mod_CFLAGS): likewise
32337 (probe_mod_LDFLAGS): likewise
32338 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32339 * conf/i386-ieee1275.rmk: likewise
32340 * conf/i386-pc.rmk: likewise
32341 * conf/powerpc-ieee1275.rmk: likewise
32342 * conf/sparc64-ieee1275.rmk: likewise
32343
70b7f9fd 323442009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32345
32346 Fix handling of string like \"hello\" and "a
32347 b"
32348
32349 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32350 (grub_script_yylex): fix parsing of quoting, escaping and newline
32351
71c79a6b 323522009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32353
dd74360c 32354 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32355 handling
dd74360c 32356
0644f96c 323572009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32358
32359 * util/grub-mkconfig.in: Fix parsing of --output option.
32360
e40893c3 323612009-06-12 Pavel Roskin <proski@gnu.org>
32362
32363 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32364 genmk.rb don't need to be generated or installed.
32365
3a1acfe2 323662009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32367
32368 * commands/i386/pc/drivemap_int13h.S: add more comments
32369
3a4575d4 323702009-06-11 Pavel Roskin <proski@gnu.org>
32371
0658e928 32372 * Makefile.in (uninstall): Uninstall manuals.
32373
ca0388f0 32374 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32375 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32376 and update-grub_lib in two places.
32377 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32378
e3b27c39 32379 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32380 a compiler warning.
32381
3a4575d4 32382 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32383 `entry_lo' to fix variable shadowing.
32384
af1f4f55 323852009-06-11 Christian Franke <franke@computer.org>
32386
32387 * kern/misc.c (__enable_execute_stack): Add missing return type
32388 to prevent gcc warning.
32389
5225e649 323902009-06-11 Felix Zielcke <fzielcke@z-51.de>
32391
32392 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32393
7d83bd47 323942009-06-11 Pavel Roskin <proski@gnu.org>
32395
c1cb63ba 32396 * Makefile.in: Don't rely on any scripts being executable.
32397 Always use $(SHELL) to run shell scripts.
32398
7d83bd47 32399 * configure.ac: Always define ___main if using -nostdlib. This
32400 fixes tests on Cygwin.
32401
948f48e7 324022009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32403
32404 UDF fix
32405
7d83bd47 32406 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32407 is in bytes and not in blocks
7d83bd47 32408
8ada9bc1 324092009-06-11 Pavel Roskin <proski@gnu.org>
32410
32411 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32412 warning.
32413
25ad2323 324142009-06-11 Felix Zielcke <fzielcke@z-51.de>
32415
32416 * util/grub.d/30_os-prober.in: Fix a comment. Source
32417 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32418 to set the root device. Place drivemap command in the generated
32419 chain entry.
32420
e65acb0c 324212009-06-11 Pavel Roskin <proski@gnu.org>
32422
32423 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32424 have long been resolved.
32425
f285fe2d 324262009-06-11 Colin Watson <cjwatson@ubuntu.com>
32427
bd47b0b5 32428 * util/grub.d/10_linux.in: Capitalise "Linux".
32429
f285fe2d 32430 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32431
a0c62e4e 324322009-06-11 Pavel Roskin <proski@gnu.org>
32433
b6783cb2 32434 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32435 fix a gcc warning and ensure that the function won't ever exit.
32436
dde032e8 32437 * kern/i386/ieee1275/init.c: Add missing prototype for
32438 grub_stop_floppy().
32439
22cd079d 32440 * loader/ieee1275/multiboot2.c [__i386__]: Include
32441 grub/cpu/multiboot.h.
32442
a0c62e4e 32443 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32444 casts to short - they are not portable and cause warnings. Fix
32445 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32446
63963d17 324472009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32448
32449 Drivemap fixes
32450
32451 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32452 new function
32453 (grub_get_root_biosnumber_saved): new variable
32454 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32455 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32456 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32457 %dx after the call if necessary
32458 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32459 (boot_mod_SOURCES): remove
32460 (boot_mod_CFLAGS): remove
32461 (boot_mod_LDFLAGS): remove
32462 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32463 (boot_mod_SOURCES): new variable
32464 (boot_mod_CFLAGS): likewise
32465 (boot_mod_LDFLAGS): likewise
32466 * conf/i386-efi.rmk: likewise
32467 * conf/i386-ieee1275.rmk: likewise
32468 * conf/i386-pc.rmk: likewise
32469 * conf/powerpc-ieee1275.rmk: likewise
32470 * conf/sparc64-ieee1275.rmk: likewise
32471 * conf/x86_64-efi.rmk: likewise
32472 * include/grub/i386/pc/biosnum.h: new file
32473 * lib/i386/pc/biosnum.c: likewise
32474 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32475 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32476 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32477
33abf7ae 324782009-06-10 Pavel Roskin <proski@gnu.org>
32479
5ac35b35 32480 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32481 Use separate variables. Read only the file size at the end, but
32482 not the checksum that we don't use.
32483
5c5215d5 32484 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32485 Adjust all callers.
32486
27d5fef7 32487 * kern/ieee1275/openfw.c: Remove libc includes.
32488 * kern/ieee1275/cmain.c: Likewise.
32489 * include/grub/ieee1275/ieee1275.h: Likewise.
32490
33abf7ae 32491 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32492 compiler warnings.
32493
19d50c2b 324942009-06-10 Felix Zielcke <fzielcke@z-51.de>
32495
32496 * Makefile.in: Remove all trailing whitespace.
32497 * conf/i386-pc.rmk: Likewise.
32498 * conf/powerpc-ieee1275.rmk: Likewise.
32499 * conf/sparc64-ieee1275.rmk: Likewise.
32500 * docs/grub.texi: Likewise.
32501 * docs/texinfo.tex: Likewise.
32502 * disk/fs_uuid.c: Likewise.
32503 * disk/lvm.c: Likewise.
32504 * disk/scsi.c: Likewise.
32505 * disk/ata.c: Likewise.
32506 * disk/ieee1275/ofdisk.c: Likewise.
32507 * disk/i386/pc/biosdisk.c: Likewise.
32508 * disk/host.c: Likewise.
32509 * disk/raid.c: Likewise.
32510 * disk/efi/efidisk.c: Likewise.
32511 * disk/usbms.c: Likewise.
32512 * disk/memdisk.c: Likewise.
32513 * disk/loopback.c: Likewise.
32514 * kern/powerpc/dl.c: Likewise.
32515 * kern/device.c: Likewise.
32516 * kern/dl.c: Likewise.
32517 * kern/sparc64/dl.c: Likewise.
32518 * kern/ieee1275/ieee1275.c: Likewise.
32519 * kern/term.c: Likewise.
32520 * kern/fs.c: Likewise.
32521 * kern/i386/dl.c: Likewise.
32522 * kern/i386/pc/startup.S: Likewise.
32523 * kern/i386/pc/init.c: Likewise.
32524 * kern/i386/pc/mmap.c: Likewise.
32525 * kern/i386/pc/lzo1x.S: Likewise.
32526 * kern/i386/ieee1275/init.c: Likewise.
32527 * kern/i386/realmode.S: Likewise.
32528 * kern/i386/tsc.c: Likewise.
32529 * kern/partition.c: Likewise.
32530 * kern/corecmd.c: Likewise.
32531 * kern/file.c: Likewise.
32532 * kern/efi/efi.c: Likewise.
32533 * kern/efi/init.c: Likewise.
32534 * kern/efi/mm.c: Likewise.
32535 * kern/main.c: Likewise.
32536 * kern/err.c: Likewise.
32537 * kern/env.c: Likewise.
32538 * kern/disk.c: Likewise.
32539 * kern/generic/millisleep.c: Likewise.
32540 * kern/generic/rtc_get_time_ms.c: Likewise.
32541 * kern/misc.c: Likewise.
32542 * kern/parser.c: Likewise.
32543 * genmk.rb: Likewise.
32544 * configure.ac: Likewise.
32545 * boot/i386/pc/diskboot.S: Likewise.
32546 * boot/i386/pc/pxeboot.S: Likewise.
32547 * boot/i386/pc/boot.S: Likewise.
32548 * boot/i386/pc/lnxboot.S: Likewise.
32549 * boot/i386/pc/cdboot.S: Likewise.
32550 * parttool/pcpart.c: Likewise.
32551 * video/readers/tga.c: Likewise.
32552 * video/video.c: Likewise.
32553 * video/bitmap.c: Likewise.
32554 * lib/envblk.c: Likewise.
32555 * lib/i386/setjmp.S: Likewise.
32556 * fs/xfs.c: Likewise.
32557 * fs/afs.c: Likewise.
32558 * fs/fat.c: Likewise.
32559 * fs/ntfs.c: Likewise.
32560 * fs/udf.c: Likewise.
32561 * fs/affs.c: Likewise.
32562 * fs/iso9660.c: Likewise.
32563 * fs/hfs.c: Likewise.
32564 * fs/fshelp.c: Likewise.
32565 * fs/ext2.c: Likewise.
32566 * fs/jfs.c: Likewise.
32567 * fs/reiserfs.c: Likewise.
32568 * fs/hfsplus.c: Likewise.
32569 * fs/minix.c: Likewise.
32570 * fs/cpio.c: Likewise.
32571 * fs/sfs.c: Likewise.
32572 * fs/ufs.c: Likewise.
32573 * efiemu/prepare.c: Likewise.
32574 * efiemu/loadcore_common.c: Likewise.
32575 * efiemu/runtime/efiemu.sh: Likewise.
32576 * efiemu/runtime/efiemu.S: Likewise.
32577 * efiemu/runtime/efiemu.c: Likewise.
32578 * efiemu/pnvram.c: Likewise.
32579 * efiemu/main.c: Likewise.
32580 * efiemu/i386/pc/cfgtables.c: Likewise.
32581 * efiemu/i386/loadcore64.c: Likewise.
32582 * efiemu/i386/loadcore32.c: Likewise.
32583 * efiemu/loadcore.c: Likewise.
32584 * efiemu/symbols.c: Likewise.
32585 * efiemu/mm.c: Likewise.
32586 * include/grub/autoefi.h: Likewise.
32587 * include/grub/datetime.h: Likewise.
32588 * include/grub/term.h: Likewise.
32589 * include/grub/hfs.h: Likewise.
32590 * include/grub/lvm.h: Likewise.
32591 * include/grub/i386/tsc.h: Likewise.
32592 * include/grub/i386/linux.h: Likewise.
32593 * include/grub/i386/xnu.h: Likewise.
32594 * include/grub/i386/efiemu.h: Likewise.
32595 * include/grub/i386/pc/biosdisk.h: Likewise.
32596 * include/grub/i386/pc/memory.h: Likewise.
32597 * include/grub/i386/pc/vbe.h: Likewise.
32598 * include/grub/parttool.h: Likewise.
32599 * include/grub/video.h: Likewise.
32600 * include/grub/memory.h: Likewise.
32601 * include/grub/fs.h: Likewise.
32602 * include/grub/partition.h: Likewise.
32603 * include/grub/xnu.h: Likewise.
32604 * include/grub/efi/api.h: Likewise.
32605 * include/grub/efi/pe32.h: Likewise.
32606 * include/grub/efi/memory.h: Likewise.
32607 * include/grub/multiboot.h: Likewise.
32608 * include/grub/usbdesc.h: Likewise.
32609 * include/grub/multiboot2.h: Likewise.
32610 * include/grub/acpi.h: Likewise.
32611 * include/grub/efiemu/efiemu.h: Likewise.
32612 * include/grub/disk.h: Likewise.
32613 * include/grub/ieee1275/ieee1275.h: Likewise.
32614 * include/grub/net.h: Likewise.
32615 * include/grub/machoload.h: Likewise.
32616 * include/grub/macho.h: Likewise.
32617 * include/multiboot.h: Likewise.
32618 * genmoddep.awk: Likewise.
32619 * normal/main.c: Likewise.
32620 * normal/menu_entry.c: Likewise.
32621 * normal/menu_viewer.c: Likewise.
32622 * normal/completion.c: Likewise.
32623 * normal/cmdline.c: Likewise.
32624 * normal/misc.c: Likewise.
32625 * normal/datetime.c: Likewise.
32626 * bus/usb/usbtrans.c: Likewise.
32627 * bus/usb/ohci.c: Likewise.
32628 * bus/usb/uhci.c: Likewise.
32629 * bus/usb/usb.c: Likewise.
32630 * mmap/efi/mmap.c: Likewise.
32631 * mmap/i386/pc/mmap_helper.S: Likewise.
32632 * mmap/i386/pc/mmap.c: Likewise.
32633 * mmap/i386/mmap.c: Likewise.
32634 * mmap/i386/uppermem.c: Likewise.
32635 * mmap/mmap.c: Likewise.
32636 * commands/acpi.c: Likewise.
32637 * commands/echo.c: Likewise.
32638 * commands/blocklist.c: Likewise.
32639 * commands/loadenv.c: Likewise.
32640 * commands/usbtest.c: Likewise.
32641 * commands/boot.c: Likewise.
32642 * commands/parttool.c: Likewise.
32643 * commands/search.c: Likewise.
32644 * commands/cat.c: Likewise.
32645 * commands/i386/pc/play.c: Likewise.
32646 * commands/i386/pc/drivemap.c: Likewise.
32647 * commands/i386/pc/vbeinfo.c: Likewise.
32648 * commands/i386/pc/acpi.c: Likewise.
32649 * commands/i386/pc/vbetest.c: Likewise.
32650 * commands/ls.c: Likewise.
32651 * commands/cmp.c: Likewise.
32652 * commands/test.c: Likewise.
32653 * commands/efi/acpi.c: Likewise.
32654 * commands/gptsync.c: Likewise.
32655 * commands/help.c: Likewise.
32656 * partmap/amiga.c: Likewise.
32657 * partmap/apple.c: Likewise.
32658 * partmap/acorn.c: Likewise.
32659 * partmap/pc.c: Likewise.
32660 * partmap/sun.c: Likewise.
32661 * partmap/gpt.c: Likewise.
32662 * script/sh/lexer.c: Likewise.
32663 * script/sh/function.c: Likewise.
32664 * font/font.c: Likewise.
32665 * font/font_cmd.c: Likewise.
32666 * loader/powerpc/ieee1275/linux.c: Likewise.
32667 * loader/efi/chainloader.c: Likewise.
32668 * loader/multiboot_loader.c: Likewise.
32669 * loader/macho.c: Likewise.
32670 * loader/i386/multiboot.c: Likewise.
32671 * loader/i386/linux.c: Likewise.
32672 * loader/i386/pc/linux.c: Likewise.
32673 * loader/i386/pc/multiboot2.c: Likewise.
32674 * loader/i386/pc/chainloader.c: Likewise.
32675 * loader/i386/pc/xnu.c: Likewise.
32676 * loader/i386/bsd_trampoline.S: Likewise.
32677 * loader/i386/efi/linux.c: Likewise.
32678 * loader/i386/multiboot_elfxx.c: Likewise.
32679 * loader/i386/bsd_helper.S: Likewise.
32680 * loader/i386/bsd.c: Likewise.
32681 * loader/i386/linux_trampoline.S: Likewise.
32682 * loader/i386/xnu_helper.S: Likewise.
32683 * loader/i386/xnu.c: Likewise.
32684 * loader/i386/bsd_pagetable.c: Likewise.
32685 * loader/i386/multiboot_helper.S: Likewise.
32686 * loader/xnu.c: Likewise.
32687 * loader/xnu_resume.c: Likewise.
32688 * io/gzio.c: Likewise.
32689 * term/efi/console.c: Likewise.
32690 * term/terminfo.c: Likewise.
32691 * term/ieee1275/ofconsole.c: Likewise.
32692 * term/i386/pc/serial.c: Likewise.
32693 * term/i386/pc/vesafb.c: Likewise.
32694 * term/i386/pc/vga.c: Likewise.
32695 * term/usb_keyboard.c: Likewise.
32696 * term/gfxterm.c: Likewise.
32697 * aclocal.m4: Likewise.
32698 * util/lvm.c: Likewise.
32699 * util/grub.d/30_os-prober.in: Likewise.
32700 * util/grub.d/10_hurd.in: Likewise.
32701 * util/console.c: Likewise.
32702 * util/grub-macho2img.c: Likewise.
32703 * util/grub-probe.c: Likewise.
32704 * util/hostfs.c: Likewise.
32705 * util/i386/pc/grub-mkimage.c: Likewise.
32706 * util/i386/pc/grub-setup.c: Likewise.
32707 * util/i386/efi/grub-mkimage.c: Likewise.
32708 * util/grub-mkconfig.in: Likewise.
32709 * util/raid.c: Likewise.
32710 * util/resolve.c: Likewise.
32711 * util/grub-mkdevicemap.c: Likewise.
32712 * util/grub-emu.c: Likewise.
32713 * util/getroot.c: Likewise.
32714 * util/hostdisk.c: Likewise.
32715 * util/usb.c: Likewise.
32716 * util/grub-editenv.c: Likewise.
32717 * util/misc.c: Likewise.
32718
d2d49665 327192009-06-10 Felix Zielcke <fzielcke@z-51.de>
32720
32721 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32722 `genparttoollist.sh'.
32723 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32724 Add `*.sh' to the list find searches for and change `mdate.sh'
32725 to `mdate-sh'.
32726
fe052e37 327272009-06-10 Pavel Roskin <proski@gnu.org>
32728
2763ac18 32729 * include/grub/multiboot2.h: Provide compatibility defines for
32730 multiboot2.h.
32731 * include/multiboot2.h: Include stdint.h only if needed, using
32732 angle brackets.
32733 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32734 grub/multiboot2.h.
32735 * loader/ieee1275/multiboot2.c: Likewise.
32736 * loader/multiboot2.c: Likewise.
32737 * loader/multiboot_loader.c: Likewise.
32738
437e6adc 32739 * configure.ac: Use -nostdlib when probing for the target. It
32740 should not be required to have libc for the target.
32741
06a6836c 32742 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32743 they fail without libc headers for the target.
32744 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32745 exports.
32746 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32747 preprocessor conditionals.
32748
fe052e37 32749 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32750 build system doesn't need to be aware of the tar.c internals.
32751
afd22553 327522009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32753
afd22553 32754 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32755
6b787c4f 327562009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32757
32758 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32759 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32760
327612009-06-09 Felix Zielcke <fzielcke@z-51.de>
32762
32763 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32764 aren't available if ata.mod gets used.
6b787c4f 32765
473d1e45 327662009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32767
473d1e45 32768 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32769 initialising controller.
473d1e45 32770 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32771
255a27d4 327722009-06-08 Felix Zielcke <fzielcke@z-51.de>
32773
32774 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32775 to choose between ata and biosdisk module on i386-pc.
32776
473d1e45 327772009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32778
d55842d8 32779 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32780 Subclass and Programming Interface fields in terms of the 3 byte
32781 Class Code register.
32782 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32783
fa5db0b1 32784 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32785 interface is OHCI. Add grub_dprintf for symmetry with
32786 bus/usb/uhci.c.
32787 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32788 interface is UHCI. Add interf variable for programming
32789 interface. Print interface with class/subclass.
32790
c0947beb 32791 * bus/usb/ohci.c: Set interf with correct field.
32792
69da8877 32793 * bus/usb/uhci.c: Remove unneeded doubled lines.
32794 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32795 Remove whitespace inside comment.
32796
9e172e30 327972009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32798
32799 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32800 as fallback an equivalent option without depth.
32801
de65ee2b 328022009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32803
32804 Not fail if unable to retrieve C/H/S on LBA disks
32805
473d1e45 32806 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32807 if unable to retrieve C/H/S on LBA disks
32808
b57ea2c9 328092009-06-08 Pavel Roskin <proski@gnu.org>
32810
32811 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32812 about aliasing.
32813
af361263 328142009-06-08 Felix Zielcke <fzielcke@z-51.de>
32815
32816 * Makefile.in (uninstall): Remove all $lib_DATA files.
32817
4c9ec6b3 328182009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32819
32820 Bugfix: install on partitionless device
32821
32822 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32823 is a whole disk
32824
e76fc924 328252009-06-08 Felix Zielcke <fzielcke@z-51.de>
32826
32827 * Makefile.in (uninstall): Remove all $include_DATA files.
32828
ba5a0d05 328292009-06-08 Felix Zielcke <fzielcke@z-51.de>
32830
32831 * commands/true.c: New file. Implement the true and false commands.
32832 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32833 (true_mod_SOURCES): New variable.
32834 (true_mod_CFLAGS): Likewise.
32835 (true_mod_LDFLAGS): Likewise.
32836
c8048e32 328372009-06-05 Colin D Bennett <colin@gibibit.com>
32838
32839 Optimized font character lookup using binary search instead of linear
32840 search. Fonts now are required to have the character index ordered by
32841 code point.
32842
32843 * font/font.c (load_font_index): Verify that fonts have ordered
32844 character indices.
32845 (find_glyph): Use binary search instead of linear search to find a
32846 character in a font.
32847
408305be 328482009-06-05 Michael Scherer <misc@mandriva.org>
32849
32850 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32851 uses case sensitive btree.
32852 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32853 only for case insensitive filesystems.
32854
8ee1e0d9 328552009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32856
32857 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32858 * conf/common.rmk (search_mod_CFLAGS): likewise
32859
a9966eb1 328602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32861
473d1e45 32862 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32863 compensate a compiler bug
32864
9e7100fb 328652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32866
473d1e45 32867 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32868 instead of '\b'
473d1e45 32869
ede21d71 328702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32871
32872 Definitions for creating asm symbols with Apple's CC
32873
32874 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32875 [APPLE_CC] (VARIABLE): likewise
32876
9dbf7653 328772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32878
32879 Disable lnxboot.img when compiled
32880 with Apple's CC
32881
32882 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32883 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32884 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32885 [! APPLE_CC] (CODE_LENG): skip
32886 [! APPLE_CC] (setup_sects): likewise
32887 [! APPLE_CC]: skip filling
473d1e45 32888
e93cdc3d 328892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32890
32891 Address in trampolines based on 32-bit registers when compiled
32892 with Apple's CC
32893
473d1e45 32894 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32895 for addresses
32896 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32897
6c688477 328982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32899
32900 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32901
32902 * kern/misc.c [APPLE_CC] (memcpy): new function
32903 [APPLE_CC] (memmove): likewise
32904 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32905 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32906 (memset): likewise
32907 (abort): likewise
32908 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32909 APPLE_CC are defined
32910 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32911 (grub_assert_fail): make prototype conditional
32912
e37ffc5c 329132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32914
32915 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32916
473d1e45 32917 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32918 grub-macho2img
e37ffc5c 32919 (CLEANFILES): add grub-macho2img
32920 (grub_macho2img_SOURCES): new variable
32921 * kern/i386/pc/startup.S (bss_start): new variable
32922 (bss_end): likewise
32923 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32924 * util/grub-macho2img.c: new file
32925
cf00df31 329262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32927
32928 Use objconv when compiling with Apple's CC
32929
32930 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32931 (efiemu64.o): likewise
32932 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32933 when compiling with Apple's CC
32934 (efiemu64_s.o): likewise
32935 * configure.ac: check for objconv when compiling with Apple's CC
32936 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32937
d119a20c 329382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32939
32940 Define segment as well as section when compiling with
32941 Apple's CC
32942
32943 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32944 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32945 (efiemu_convert_pointer): likewise
32946 (efiemu_set_virtual_address_map): likewise
32947 (efiemu_convert_pointer): likewise
32948 (efiemu_getcrc32): likewise
32949 (init_crc32_table): likewise
32950 (reflect): likewise
32951 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32952 (GRUB_MOD_DEP): likewise
473d1e45 32953
c8600122 329542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32955
32956 Allow a compilation without -mcmodel=large
32957
32958 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32959 when compiled without -mcmodel=large
473d1e45 32960 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32961 without -mcmodel=large
473d1e45 32962 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32963 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32964
e8df1d4e 329652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32966
32967 Remove nested functions in efiemu core
32968
32969 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32970
cc6c3ac1 329712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32972
32973 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32974
32975 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32976 temporary storage
473d1e45 32977 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32978 using Apple's CC
cc6c3ac1 32979 (grub_cpu_is_tsc_supported): likewise
32980 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 32981
3e325901 329822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32983
32984 Absolute addressing through constant with Apple's cc
32985
32986 * kern/i386/pc/startup.S: Define necessary constants
32987 and address through it when using ABS with Apple's CC
32988 * boot/i386/pc/diskboot.S: likewise
32989 * boot/i386/pc/boot.S: likewise
32990 * boot/i386/pc/lnxboot.S: likewise
32991 * boot/i386/pc/cdboot.S: likewise
32992 * mmap/i386/pc/mmap_helper.S: likewise
32993 * commands/i386/pc/drivemap_int13h.S: likewise
32994
2b167a72 329952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32996
32997 Check if compiler is apple cc
32998
32999 * Makefile.in (ASFLAGS): new variable
33000 (TARGET_ASFLAGS): likewise
33001 (TARGET_MODULE_FORMAT): likewise
33002 (TARGET_APPLE_CC): likewise
33003 (OBJCONV): likewise
33004 (TARGET_IMG_CFLAGS): likewise
33005 (TARGET_CPPFLAGS): add includedir
33006 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33007 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33008 Check for linker script only if compiler isn't Apple's CC
33009 (TARGET_MODULE_FORMAT): set
33010 (TARGET_APPLE_CC): likewise
33011 (TARGET_ASFLAGS): likewise
33012 (ASFLAGS): likewise
33013 Check for objcopy only if compiler isn't Apple's CC
33014 Check for BSS symbol only if compiler isn't Apple's CC
33015 * genmk.rb: adapt nm options if we use Apple's utils
33016 * aclocal.m4 (grub_apple_cc): new test
33017 (grub_apple_target_cc): likewise
473d1e45 33018
fb14123e 330192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33020
33021 Simplify sed expressions and improve awk
33022
33023 * Makefile.in (install-local): simplify sed expression
33024 * gencmdlist.sh: likewise
33025 * genmoddep.awk: avoid adding module as a dependency of itself
33026
5b889789 330272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33028
33029 Add missing start symbols
33030
33031 * boot/i386/pc/boot.S: add start
fb14123e 33032 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33033
fd2bf2e3 330342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33035
33036 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33037
33038 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33039 (relocate_addresses): consider both r_addend and value at offset
33040 (make_mods_section): zerofill modinfo and header
33041 (convert_elf): write prefix here
473d1e45 33042
5389763d 330432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33044
33045 Use .asciz instead of .string
33046
33047 * i386/pc/diskboot.S: use .asciz instead of .string
33048 * i386/pc/boot.S: likewise
33049 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33050 (GRUB_MOD_NAME): likewise
473d1e45 33051
3eb5ed4e 330522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33053
33054 gfxpayload support
33055
33056 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33057 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33058 (grub_video_setup): remove
33059 (grub_video_set_mode): new prototype
33060 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33061 (vid_mode): remove
33062 (linux_vesafb_res): compile only on PCBIOS
33063 (grub_linux_boot): support gfxpayload
33064 * loader/i386/pc/xnu.c (video_hook): new function
33065 (grub_xnu_set_video): support gfxpayload
33066 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33067 (DEFAULT_VIDEO_HEIGHT): likewise
33068 (DEFAULT_VIDEO_FLAGS): likewise
33069 (DEFAULT_VIDEO_MODE): new definition
33070 (video_hook): new function
33071 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33072 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33073 loading xnu
33074 * video/video.c (grub_video_setup): removed
473d1e45 33075 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33076 grub_video_setup
33077
4b0e1143 330782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33079
33080 Avoid calling biosdisk in drivemap
33081
33082 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33083 (revparse_biosdisk): likewise
33084 (list_mappings): derive name from id directly
33085 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33086
fda6cb98 330872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33088
33089 Script fixes
33090
33091 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33092 (grub_lexer_param): add tokenonhold
33093 (grub_script_create_cmdline): remove cmdline. All callers updated
33094 (grub_script_function_create): make functionname
33095 grub_script_arg. All callers updated
33096 (grub_script_execute_argument_to_string): new prototype
33097 * kern/parser.c (state_transitions): reorder
33098 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33099 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33100 make global
33101 (grub_script_execute_cmdline): use new format
33102 * script/sh/function.c (grub_script_function_create): make functionname
33103 grub_script_arg. All callers updated
473d1e45 33104 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33105 (grub_script_yylex): remove
33106 (grub_script_yylex2): renamed to ...
33107 (grub_script_yylex): ...renamed
33108 parse the expressions like a${b}c
33109 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33110 (GRUB_PARSER_TOKEN_VAR): remove
33111 (GRUB_PARSER_TOKEN_NAME): likewise
33112 ("if"): declare as typeless
33113 ("while"): likewise
33114 ("function"): likewise
33115 ("else"): likewise
33116 ("then"): likewise
33117 ("fi"): likewise
33118 (text): remove
33119 (argument): likewise
33120 (script): accept empty scripts and make exit on error
33121 (arguments): use GRUB_PARSER_TOKEN_ARG
33122 (function): likewise
33123 (command): move error handling to script
33124 (menuentry): move grub_script_lexer_ref before
473d1e45 33125 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33126 argument. All callers updated
33127
f4448a07 331282009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33129
33130 Prevent GRUB from probing floppies during boot.
33131
33132 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33133 * commands/search.c (options): Add --no-floppy.
33134 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33135 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33136 --no-floppy when searching for UUIDs.
33137
2bf5885a 331382009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33139
33140 Simplify the code duplication in commands/search.c.
33141
33142 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33143 (search_fs): ... this. Update all users.
33144
f6fd460a 331452009-06-03 Felix Zielcke <fzielcke@z-51.de>
33146
33147 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33148
cbb3c83e 331492009-05-28 Pavel Roskin <proski@gnu.org>
33150
57788cfd 33151 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33152 Remove the original symlink explicitly.
33153
cbb3c83e 33154 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33155 just one slash. That's how grub_fshelp_find_file() does it.
33156
cd0d5e30 331572009-05-26 Pavel Roskin <proski@gnu.org>
33158
f0f8bbe2 33159 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33160 to `str'.
33161
cd0d5e30 33162 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33163 possibly unused.
33164
8c2cab51 331652009-05-25 Christian Franke <franke@computer.org>
33166
33167 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33168 register.
33169 (grub_atapi_identify): Add wait after drive select.
33170 (grub_ata_identify): Do more strict status register check before
33171 calling grub_atapi_identify (). Suppress error message if status
33172 register is 0x00 after command failure. Add status register
33173 check after PIO read to avoid bogus identify due to stuck DRQ.
33174 Thanks to Pavel Roskin for testing.
33175 (grub_device_initialize): Remove unsafe status register check.
33176 Thanks to 'phcoder' for problem report and patch.
33177 Prevent sign extension in debug message.
33178
230c0ad6 331792009-05-23 Colin D Bennett <colin@gibibit.com>
33180
33181 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33182 definition file, and functions defined in `normal/menu.c' have had
33183 their prototypes moved to `include/grub/menu.h' for consistency.
33184
33185 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33186 from normal.h.
33187 (grub_menu_get_entry): Likewise.
33188 (grub_menu_get_timeout): Likewise.
33189 (grub_menu_set_timeout): Likewise.
33190 (grub_menu_execute_entry): Likewise.
33191 (grub_menu_execute_with_fallback): Likewise.
33192 (grub_menu_entry_run): Likewise.
33193
33194 * include/grub/normal.h: Re-ordered and grouped function
33195 prototypes by file that the function is defined in.
33196 (grub_menu_execute_callback): Removed; moved to menu.h.
33197 (grub_menu_get_entry): Likewise.
33198 (grub_menu_get_timeout): Likewise.
33199 (grub_menu_set_timeout): Likewise.
33200 (grub_menu_execute_entry): Likewise.
33201 (grub_menu_execute_with_fallback): Likewise.
33202 (grub_menu_entry_run): Likewise.
33203 (grub_menu_addentry): Renamed from this ...
33204 (grub_normal_add_menu_entry): ... to this.
33205
33206 * normal/main.c (grub_menu_addentry): Renamed from this ...
33207 (grub_normal_add_menu_entry): ... to this.
33208
33209 * script/sh/execute.c (grub_script_execute_menuentry): Update
33210 reference to renamed grub_menu_addentry function.
33211
861f03a5 332122009-05-23 Felix Zielcke <fzielcke@z-51.de>
33213
33214 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33215
96b1619a 332162009-05-22 Pavel Roskin <proski@gnu.org>
33217
bf6a5fb2 33218 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33219 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33220 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33221 compiling for the i386 targets, but not for the utilities.
33222
96b1619a 33223 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33224 to grub_uint8_t.
33225 (grub_root_drive): Likewise.
33226 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33227 remove alignment.
33228 (grub_root_drive): Change size to byte.
33229 (grub_start_addr): Remove.
33230 (grub_end_addr): Likewise.
33231 (grub_apm_bios_info): Likewise.
33232
b729776b 332332009-05-21 Felix Zielcke <fzielcke@z-51.de>
33234
33235 * normal/i386: Remove.
33236 * normal/powerpc: Likewise.
33237 * normal/sparc64: Likewise.
33238 * normal/x86_64: Likewise.
33239
0a15ce80 332402009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33241
33242 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33243 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33244 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33245
33db9015 332462009-05-18 Colin D Bennett <colin@gibibit.com>
33247
d6da58e6 33248 Display error messages when parsing a Lua statement fails.
33249 Previously, executing a syntactically invalid statement like
33250 ")foo" or "bar;" would silently fail.
33db9015 33251
33252 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33253 (grub_lua_parse_line): Improved reporting of Lua parser and
33254 execution errors.
33db9015 33255
46422c89 332562009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33257
33258 Remove -Werror which causes build to fail on some systems
33259
33260 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33261 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33262 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33263
22f53a96 332642009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33265
33266 trampoline for linux on 64-bit platform
33267
18f547ad 33268 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33269 loader/i386/efi/linux_trampoline.S
33270 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33271 declaration
d6da58e6 33272 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33273 here
22f53a96 33274 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33275 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33276 trampoline
22f53a96 33277 (jumpvector): removed
33278 (grub_linux_trampoline_start): new declaration
33279 (grub_linux_trampoline_end): likewise
33280 (grub_linux_boot): use trampoline when on 64-bit platform
33281 * loader/i386/linux.c: likewise
33282
cb5a0f40 332832009-05-16 Pavel Roskin <proski@gnu.org>
33284
33285 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33286 const to avoid a warning.
33287 (grub_lua_setenv): Likewise.
33288 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33289 lmsg to fix a warning.
33290
334f2c28 332912009-05-16 Felix Zielcke <fzielcke@z-51.de>
33292
33293 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33294 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33295 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33296 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33297 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33298 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33299 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33300 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33301
59e5d3ec 333022009-05-16 Felix Zielcke <fzielcke@z-51.de>
33303
33304 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33305
9d87a1ba 333062009-05-16 Bean <bean123ch@gmail.com>
33307
33308 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33309 (lua_mod_SOURCES): New variable.
33310 (lua_mod_CFLAGS): Likewise.
33311 (lua_mod_LDFLAGS): Likewise.
33312
33313 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33314 (setjmp_mod_SOURCES): New variable.
33315 (setjmp_mod_CFLAGS): Likewise.
33316 (setjmp_LDFLAGS): Likewise.
33317
33318 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33319 (setjmp_mod_SOURCES): New variable.
33320 (setjmp_mod_CFLAGS): Likewise.
33321 (setjmp_LDFLAGS): Likewise.
33322
33323 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33324 (setjmp_mod_SOURCES): New variable.
33325 (setjmp_mod_CFLAGS): Likewise.
33326 (setjmp_LDFLAGS): Likewise.
33327
33328 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33329 (setjmp_mod_SOURCES): New variable.
33330 (setjmp_mod_CFLAGS): Likewise.
33331 (setjmp_LDFLAGS): Likewise.
33332
33333 * normal/i386/setjmp.S: Moved from here ...
33334 * lib/i386/setjmp.S: ... Moved here
33335 * normal/x86_64/setjmp.S: Moved from here ...
33336 * lib/x86_64/setjmp.S: ... Moved here
33337 * normal/powerpc/setjmp.S: Moved from here ...
33338 * lib/powerpc/setjmp.S: ... Moved here
33339 * normal/sparc64/setjmp.S: Moved from here ...
33340 * lib/sparc64/setjmp.S: ... Moved here
33341
33342 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33343 returns_twice in mingw.
33344
33345 * script/lua/grub_lib.c: New file.
33346 * script/lua/grub_lib.h: Likewise.
33347 * script/lua/grub_lua.h: Likewise.
33348 * script/lua/grub_main.c: Likewise.
33349 * script/lua/lapi.c: Likewise.
33350 * script/lua/lapi.h: Likewise.
33351 * script/lua/lauxlib.c: Likewise.
33352 * script/lua/lauxlib.h: Likewise.
33353 * script/lua/lbaselib.c: Likewise.
33354 * script/lua/lcode.c: Likewise.
33355 * script/lua/lcode.h: Likewise.
33356 * script/lua/ldblib.c: Likewise.
33357 * script/lua/ldebug.c: Likewise.
33358 * script/lua/ldebug.h: Likewise.
33359 * script/lua/ldo.c: Likewise.
33360 * script/lua/ldo.h: Likewise.
33361 * script/lua/ldump.c: Likewise.
33362 * script/lua/lfunc.c: Likewise.
33363 * script/lua/lfunc.h: Likewise.
33364 * script/lua/lgc.c: Likewise.
33365 * script/lua/lgc.h: Likewise.
33366 * script/lua/linit.c: Likewise.
33367 * script/lua/liolib.c: Likewise.
33368 * script/lua/llex.c: Likewise.
33369 * script/lua/llex.h: Likewise.
33370 * script/lua/llimits.h: Likewise.
33371 * script/lua/lmathlib.c: Likewise.
33372 * script/lua/lmem.c: Likewise.
33373 * script/lua/lmem.h: Likewise.
33374 * script/lua/loadlib.c: Likewise.
33375 * script/lua/lobject.c: Likewise.
33376 * script/lua/lobject.h: Likewise.
33377 * script/lua/lopcodes.c: Likewise.
33378 * script/lua/lopcodes.h: Likewise.
33379 * script/lua/loslib.c: Likewise.
33380 * script/lua/lparser.c: Likewise.
33381 * script/lua/lparser.h: Likewise.
33382 * script/lua/lstate.c: Likewise.
33383 * script/lua/lstate.h: Likewise.
33384 * script/lua/lstring.c: Likewise.
33385 * script/lua/lstring.h: Likewise.
33386 * script/lua/lstrlib.c: Likewise.
33387 * script/lua/ltable.c: Likewise.
33388 * script/lua/ltable.h: Likewise.
33389 * script/lua/ltablib.c: Likewise.
33390 * script/lua/ltm.c: Likewise.
33391 * script/lua/ltm.h: Likewise.
33392 * script/lua/lua.h: Likewise.
33393 * script/lua/luaconf.h: Likewise.
33394 * script/lua/lualib.h: Likewise.
33395 * script/lua/lundump.c: Likewise.
33396 * script/lua/lundump.h: Likewise.
33397 * script/lua/lvm.c: Likewise.
33398 * script/lua/lvm.h: Likewise.
33399 * script/lua/lzio.c: Likewise.
33400 * script/lua/lzio.h: Likewise.
33401
5e898c9d 334022009-05-16 Bean <bean123ch@gmail.com>
33403
33404 * include/grub/kernel.h (grub_module_header_types): Add type
33405 OBJ_TYPE_CONFIG.
33406
33407 * kern/main.c (grub_load_config): New function.
33408 (grub_main): Call grub_load_config to read boot config.
33409
33410 * grub-mkimage (generate_image): New parameter config_path.
33411 (options): New option --config.
33412 (main): Parse --config option, and pass it to generate_image.
33413
cf353a47 334142009-05-14 Christian Franke <franke@computer.org>
33415
33416 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33417 This fixes build on Cygwin.
33418
3834887f 334192009-05-14 Pavel Roskin <proski@gnu.org>
33420
33421 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33422 jump. This saves two bytes, so the typical case of 2 swapped
33423 drives would fit 32 bytes.
33424
8090fc01 334252009-05-13 Pavel Roskin <proski@gnu.org>
33426
ac963883 33427 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33428 grub_uint32_t to avoid a warning.
33429
8090fc01 33430 * loader/i386/linux.c (allocate_pages): When assigning
33431 real_mode_mem, cast through grub_size_t to fix a warning. The
33432 code already makes sure that the value would fit a pointer.
33433 (grub_linux_setup_video): Cast render_target->data to
33434 grub_size_t to fix a warning.
33435
18f547ad 334362009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33437
33438 * commands/i386/pc/drivemap.c: New file - implement drivemap
33439 command.
33440 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33441 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33442
6f6a8b28 334432009-05-13 Pavel Roskin <proski@gnu.org>
33444
33445 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33446 embedding_area_exists.
33447
15fbf4c4 334482009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33449
33450 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33451 it easier to understand / work with.
59978c8a 33452 Improve warning messages for cases where there's no embedding area,
33453 or when it is too small (or core.img too large).
15fbf4c4 33454
238e871f 334552009-05-13 Pavel Roskin <proski@gnu.org>
33456
0ab3a9a4 33457 * loader/i386/pc/multiboot2.c: Add necessary includes for
33458 grub_multiboot2_real_boot().
33459
a2c8c5f8 33460 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33461 PX record is always little-endian. We only need the lower 2
33462 bytes of the mode.
33463
faec96af 33464 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33465 facilitate code reuse.
33466 (grub_cpio_mount): Use "struct head", not a char buffer. This
33467 fixes a warning reported by gcc 4.4.
33468
238e871f 33469 * kernel/disk.c (grub_disk_read): Use void pointer for the
33470 buffer.
33471 (grub_disk_write): Use const void pointer for the buffer.
33472 Adjust all callers. Remove unnecessary casts.
33473
901d2f0c 334742009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33475
33476 * util/i386/pc/grub-install.in: Update copyright year.
33477
18f547ad 334782009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33479
33480 gptsync
33481
33482 * commands/gptsync.c: new file
33483 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33484 (gptsync_mod_SOURCES): new variable
33485 (gptsync_mod_CFLAGS): likewise
33486 (gptsync_mod_LDFLAGS): likewise
18f547ad 33487 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33488 new definition
33489 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33490 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33491 * conf/i386-ieee1275.rmk: likewise
33492 * conf/i386-pc.rmk: likewise
33493 * conf/powerpc-ieee1275.rmk: likewise
33494
b4ba690a 334952009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33496
33497 Fixed grub-emu
33498
33499 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33500 (grub_dl_ref): likewise
33501
317e1a44 335022009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33503
33504 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33505 split in two functions (one for msdos and one for gpt).
33506
041b8094 335072009-05-08 Pavel Roskin <proski@gnu.org>
33508
752473c2 33509 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33510 not modified.
33511
041b8094 33512 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33513 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33514 Initialize them with -1. Add sanity check for bad1. Eliminate
33515 nerr variable.
33516
172800ce 335172009-05-08 David S. Miller <davem@davemloft.net>
33518
33519 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33520
29aa5e81 335212009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33522
33523 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33524 existence.
29aa5e81 33525
96613b62 335262009-05-05 Felix Zielcke <fzielcke@z-51.de>
33527
33528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33529 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33530
eef73c8a 335312009-05-05 David S. Miller <davem@davemloft.net>
33532
33533 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33534
119494b5 335352009-05-05 Pavel Roskin <proski@gnu.org>
33536
33537 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33538 of grub_dl_ref() and grub_dl_unref().
33539 * commands/parttool.c: Remove preprocessor conditionals around
33540 grub_dl_ref() and grub_dl_unref().
33541 * fs/affs.c: Likewise.
33542 * fs/afs.c: Likewise.
33543 * fs/cpio.c: Likewise.
33544 * fs/ext2.c: Likewise.
33545 * fs/fat.c: Likewise.
33546 * fs/hfs.c: Likewise.
33547 * fs/hfsplus.c: Likewise.
33548 * fs/iso9660.c: Likewise.
33549 * fs/jfs.c: Likewise.
33550 * fs/minix.c: Likewise.
33551 * fs/ntfs.c: Likewise.
33552 * fs/reiserfs.c: Likewise.
33553 * fs/sfs.c: Likewise.
33554 * fs/udf.c: Likewise.
33555 * fs/ufs.c: Likewise.
33556 * fs/xfs.c: Likewise.
33557 * include/grub/dl.h: Likewise.
33558 * loader/xnu.c: Likewise.
33559
de5fd76e 335602009-05-04 Pavel Roskin <proski@gnu.org>
33561
33562 * commands/acpi.c: Remove unused variable my_mod.
33563 * partmap/amiga.c: Likewise.
33564 * partmap/apple.c: Likewise.
33565 * partmap/gpt.c: Likewise.
33566 * partmap/pc.c: Likewise.
33567 * partmap/sun.c: Likewise.
33568 * term/gfxterm.c: Likewise.
33569 * term/i386/pc/vesafb.c: Likewise.
33570 * term/i386/pc/vga.c: Likewise.
33571
983598ad 335722009-05-04 David S. Miller <davem@davemloft.net>
33573
33574 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33575 pointer args to grub_ieee1275_get_property().
33576
8aadec43 33577 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33578
9554b15e 33579 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33580 devices, and do not traverse down under controller nodes.
33581
67e23c90 33582 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33583 (grub_ofdisk_open): Use it to un-escape "," characters.
33584 * kern/disk.c (find_part_sep): New.
33585 (grub_disk_open): Use it to find the first non-escaped ','
33586 character in the disk name.
33587 * util/ieee1275/devicemap.c (escape_of_path): New.
33588 (grub_util_emit_devicemap_entry): Use it.
33589 * util/sparc64/ieee1275/grub-install.in: Update script to
33590 strip partition specifiers properly by not triggering on
33591 '\' escaped ',' characters.
33592
74bfdd2f 335932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33594
33595 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33596 to 0x300.
33597 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33598 resolutions.
33599 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33600 on documentation from Wikipedia).
33601
4241d2b1 336022009-05-04 Pavel Roskin <proski@gnu.org>
33603
33604 * disk/ata.c: Spelling fixes.
33605 * disk/raid.c: Likewise.
33606 * disk/usbms.c: Likewise.
33607 * disk/dmraid_nvidia.c: Likewise.
33608 * kern/ieee1275/openfw.c: Likewise.
33609 * kern/ieee1275/init.c: Likewise.
33610 * kern/ieee1275/cmain.c: Likewise.
33611 * boot/i386/pc/cdboot.S: Likewise.
33612 * video/readers/png.c: Likewise.
33613 * video/i386/pc/vbe.c: Likewise.
33614 * fs/udf.c: Likewise.
33615 * fs/hfs.c: Likewise.
33616 * fs/reiserfs.c: Likewise.
33617 * efiemu/runtime/efiemu.c: Likewise.
33618 * efiemu/main.c: Likewise.
33619 * efiemu/mm.c: Likewise.
33620 * include/grub/elf.h: Likewise.
33621 * include/grub/xnu.h: Likewise.
33622 * include/grub/usbdesc.h: Likewise.
33623 * include/grub/usb.h: Likewise.
33624 * include/grub/script_sh.h: Likewise.
33625 * include/grub/lib/LzmaEnc.h: Likewise.
33626 * include/grub/efiemu/efiemu.h: Likewise.
33627 * include/grub/command.h: Likewise.
33628 * normal/menu.c: Likewise.
33629 * normal/main.c: Likewise.
33630 * normal/datetime.c: Likewise.
33631 * bus/usb/uhci.c: Likewise.
33632 * mmap/i386/uppermem.c: Likewise.
33633 * mmap/mmap.c: Likewise.
33634 * commands/acpi.c: Likewise.
33635 * commands/test.c: Likewise.
33636 * partmap/apple.c: Likewise.
33637 * font/font.c: Likewise.
33638 * loader/sparc64/ieee1275/linux.c: Likewise.
33639 * loader/macho.c: Likewise.
33640 * loader/i386/bsd_trampoline.S: Likewise.
33641 * loader/i386/bsd.c: Likewise.
33642 * loader/xnu.c: Likewise.
33643 * term/i386/pc/vesafb.c: Likewise.
33644 * term/usb_keyboard.c: Likewise.
33645 * util/resolve.c: Likewise.
33646 * util/getroot.c: Likewise.
33647
0cfc0083 336482009-05-04 Felix Zielcke <fzielcke@z-51.de>
33649
33650 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33651
7c1d00cd 336522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33653
33654 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33655 build error.
33656
b01f0548 336572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33658
33659 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33660 parameter only available on BIOS.
33661
ecc3eb22 336622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33663
33664 Removed wrong semicolon in declaration
33665
33666 * grub/misc.h (grub_dprintf): remove semicolon
33667
112972a9 336682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33669
33670 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33671 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33672 is done by grub_cmd_linux() now).
33673 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33674 restore video to text mode.
33675 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33676 indicates lack of "vga=" parameter. "vga=0" is mapped to
33677 `GRUB_LINUX_VID_MODE_NORMAL'.
33678
afd5c115 336792009-05-04 Felix Zielcke <fzielcke@z-51.de>
33680
33681 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33682 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33683 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33684 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33685 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33686 `grub_script.tab.c'.
33687
33688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33689 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33691 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33692 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33693
faa517ce 33694 * Makefile.in: Remove duplicated 2008 in Copyright line.
33695
ae0c0bdc 336962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33697
473d1e45 33698 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33699 unconditionally.
33700 * include/grub/util/misc.h (grub_util_warn): New declaration.
33701
33702 * util/i386/pc/grub-install.in: Understand --force and pass it down
33703 to grub-setup.
33704
33705 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33706 down to setup().
33707 (setup): Improve error messages and add warnings when requested to
33708 install in odd layouts. Refuse to install using blocklists unless
33709 --force was set.
33710
18f547ad 337112009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33712
33713 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33714
6d260daa 337152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33716
33717 Updated copyright year
33718
33719 * fs/hfsplus.c: updated copyright year
18f547ad 33720
69f853f8 337212009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33722
33723 HFS+ UUID
33724
18f547ad 33725 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33726 in the space previously used by unused3
33727 (grub_hfsplus_uuid): new function
33728 (grub_hfsplus_fs): added uuid field
33729
4c402e73 337302009-05-03 Pavel Roskin <proski@gnu.org>
33731
33732 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33733 suppress warnings. It's no longer needed.
33734 * disk/host.c: Likewise.
33735 * disk/ata_pthru.c: Likewise.
33736 * disk/loopback.c: Likewise.
33737 * hook/datehook.c: Likewise.
33738 * parttool/pcpart.c: Likewise.
33739 * fs/i386/pc/pxe.c: Likewise.
33740 * fs/ntfscomp.c: Likewise.
33741 * efiemu/main.c: Likewise.
33742 * mmap/mmap.c: Likewise.
33743 * commands/crc.c: Likewise.
33744 * commands/hexdump.c: Likewise.
33745 * commands/hdparm.c: Likewise.
33746 * commands/acpi.c: Likewise.
33747 * commands/echo.c: Likewise.
33748 * commands/minicmd.c: Likewise.
33749 * commands/blocklist.c: Likewise.
33750 * commands/memrw.c: Likewise.
33751 * commands/loadenv.c: Likewise.
33752 * commands/usbtest.c: Likewise.
33753 * commands/lsmmap.c: Likewise.
33754 * commands/boot.c: Likewise.
33755 * commands/parttool.c: Likewise.
33756 * commands/configfile.c: Likewise.
33757 * commands/search.c: Likewise.
33758 * commands/ieee1275/suspend.c: Likewise.
33759 * commands/cat.c: Likewise.
33760 * commands/i386/pc/pxecmd.c: Likewise.
33761 * commands/i386/pc/play.c: Likewise.
33762 * commands/i386/pc/halt.c: Likewise.
33763 * commands/i386/pc/vbeinfo.c: Likewise.
33764 * commands/i386/pc/vbetest.c: Likewise.
33765 * commands/lspci.c: Likewise.
33766 * commands/date.c: Likewise.
33767 * commands/handler.c: Likewise.
33768 * commands/ls.c: Likewise.
33769 * commands/test.c: Likewise.
33770 * commands/cmp.c: Likewise.
33771 * commands/efi/loadbios.c: Likewise.
33772 * commands/efi/fixvideo.c: Likewise.
33773 * commands/halt.c: Likewise.
33774 * commands/help.c: Likewise.
33775 * commands/reboot.c: Likewise.
33776 * hello/hello.c: Likewise.
33777 * script/sh/main.c: Likewise.
33778 * loader/xnu.c: Likewise.
33779 * term/terminfo.c: Likewise.
33780 * term/i386/pc/serial.c: Likewise.
33781 * term/usb_keyboard.c: Likewise.
33782
515b5079 337832009-05-03 David S. Miller <davem@davemloft.net>
33784
33785 * normal/menu.c: Include grub/parser.h
33786
dfc31a22 337872009-05-03 Pavel Roskin <proski@gnu.org>
33788
2fee74f1 33789 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33790 not char*.
33791 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33792 Suggested by Javier Martín <lordhabbit@gmail.com>
33793
dfc31a22 33794 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33795 efiemu??.o doesn't exist.
33796 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33797 copying.
33798
18f547ad 337992009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33800
33801 FreeBSD 64-bit support
33802
18f547ad 33803 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33804 and loader/i386/bsd_trampoline.S
33805 (bsd_mod_ASFLAGS): new variable
33806 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33807 (FREEBSD_MODTYPE_KERNEL64): likewise
33808 (grub_bsd64_trampoline_start): likewise
33809 (grub_bsd64_trampoline_end): likewise
33810 (grub_bsd64_trampoline_selfjump): likewise
33811 (grub_bsd64_trampoline_gdt): likewise
33812 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33813 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33814 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33815 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33816 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33817 of "attrib" member
33818 * loader/i386/bsd_pagetable.c: new file
33819 * loader/i386/bsd_trampoline.S: likewise
33820 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33821 (ALIGN_VAR): likewise
33822 (entry_hi): new variable
33823 (kern_end_mdofs): likewise
33824 (is_64bit): likewise
33825 (grub_freebsd_add_meta): use ALIGN_VAR
33826 (grub_e820_mmap): new declaration
33827 (grub_freebsd_add_mmap): new function
33828 (grub_freebsd_add_meta_module): support 64 bit kernels
33829 (grub_freebsd_list_modules): use ALIGN_VAR
33830 (gdt_descriptor): new declaration
33831 (grub_freebsd_boot): support 64 bit kernels
33832 (grub_bsd_elf64_hook): new function
33833 (grub_bsd_load_elf): support elf64
33834
038c5720 338352009-05-03 Bean <bean123ch@gmail.com>
33836
33837 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33838 after we get the result of if statement.
33839
fc45fb58 338402009-05-03 Bean <bean123ch@gmail.com>
33841
33842 * Makefile.in (enable_efiemu): New variable.
33843
33844 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33845 set.
33846 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33847 path.
33848 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33849 path, add -mno-red-zone option.
33850 (efiemu64_s.o): Likewise.
33851 (efiemu64.o): Use macro $^ for source file.
33852
33853 * configure.ac (--enable-efiemu): New option.
33854
bbee0f2b 338552009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33856
33857 xnu support
33858
33859 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33860 (pkglib_MODULES): add xnu.mod
33861 (xnu_mod_SOURCES): new variable
33862 (xnu_mod_CFLAGS): likewise
33863 (xnu_mod_LDFLAGS): likewise
33864 (xnu_mod_ASFLAGS): likewise
33865 * conf/i386-pc.rmk: likewise
33866 * conf/x86_64-efi.rmk: likewise
7dd4a573 33867 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33868 new declaration
33869 * include/grub/i386/macho.h: new file
33870 * include/grub/i386/xnu.h: likewise
33871 * include/grub/macho.h: likewise
33872 * include/grub/machoload.h: likewise
33873 * include/grub/x86_64/macho.h: likewise
33874 * include/grub/x86_64/xnu.h: likewise
33875 * include/grub/xnu.h: likewise
33876 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33877 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33878 * loader/i386/efi/xnu.c: new file
33879 * loader/i386/pc/xnu.c: likewise
33880 * loader/i386/xnu.c: likewise
33881 * loader/i386/xnu_helper.S: likewise
33882 * loader/macho.c: likewise
33883 * loader/xnu.c: likewise
33884 * loader/xnu_resume.c: likewise
33885 * util/grub-dumpdevtree: likewise
33886 * include/grub/i386/pit.h: include grub/err.h
33887 (grub_pit_wait): export
33888 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33889
5caf964d 338902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33891
33892 Efiemu
7dd4a573 33893
5caf964d 33894 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33895 _linux_efi, linux_efi.
33896 new files in grub-emu
5caf964d 33897 new targets efiemu32.o and efiemu64.o
33898 * loader/linux_normal_efiemu.c: likewise
33899 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33900 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33901 files to copy
33902 * include/grub/autoefi.h: new file
7dd4a573 33903 * include/grub/i386/efiemu.h: likewise
5caf964d 33904 * include/grub/i386/pc/efiemu.h: likewise
33905 * include/grub/efi/api.h: add LL suffix when necessary
33906 new definitions relating to tables
33907 * include/grub/efiemu/efiemu.h: new file
33908 * include/grub/efiemu/runtime.h: likewise
33909 * efiemu/prepare.c: likewise
33910 * efiemu/loadcore_common.c: likewise
33911 * efiemu/loadcore64.c: likewise
33912 * efiemu/runtime/efiemu.sh: likewise
33913 * efiemu/runtime/efiemu.S: likewise
33914 * efiemu/runtime/efiemu.c: likewise
33915 * efiemu/runtime/config.h: likewise
33916 * efiemu/prepare32.c: likewise
33917 * efiemu/main.c: likewise
33918 * efiemu/modules/pnvram.c: likewise
33919 * efiemu/modules/i386: likewise
33920 * efiemu/modules/i386/pc: likewise
33921 * efiemu/modules/acpi.c: likewise
33922 * efiemu/i386/pc/cfgtables.c: likewise
33923 * efiemu/i386/loadcore64.c: likewise
33924 * efiemu/i386/loadcore32.c: likewise
33925 * efiemu/prepare64.c: likewise
33926 * efiemu/loadcore.c: likewise
33927 * efiemu/symbols.c: likewise
33928 * efiemu/mm.c: likewise
33929 * efiemu/loadcore32.c: likewise
7dd4a573 33930
339312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33932
33933 ACPI spoofing
33934
33935 * commands/acpi.c: new file
33936 * commands/i386/pc/acpi.c: likewise
33937 * commands/efi/acpi.c: likewise
33938 * include/grub/acpi.h: likewise
33939 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33940 (acpi_mod_SOURCES): new variable
33941 (acpi_mod_CFLAGS): likewise
33942 (acpi_mod_LDFLAGS): likewise
33943 * conf/i386-efi.rmk: likewise
33944 * conf/x86_64-efi.rmk: likewise
33945
7dd4a573 339462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33947
33948 Missing part from mmap patch
33949
33950 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33951 (grub_mmap_unregister)
33952 (grub_mmap_free_and_unregister): use grub_mmap_register
33953
7dd4a573 339542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33955
33956 Mmap services
33957
33958 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33959 * loader/i386/linux.c (find_mmap_size): likewise
33960 (allocate_pages): likewise
33961 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33962 (grub_fill_multiboot_mmap): likewise
33963 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33964 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33965 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33966 (OPENBSD_MMAP_RESERVED): likewise
33967 * include/grub/i386/pc/memory.h: include grub/memory.h
33968 (grub_lower_mem): removed
33969 (grub_upper_mem): likewise
33970 (GRUB_MACHINE_MEMORY_ACPI): new definition
33971 (GRUB_MACHINE_MEMORY_NVS): likewise
33972 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33973 (GRUB_MACHINE_MEMORY_HOLE): likewise
33974 (grub_machine_mmap_register): likewise
33975 (grub_machine_mmap_unregister): likewise
33976 (grub_machine_get_upper): likewise
33977 (grub_machine_get_lower): likewise
33978 (grub_machine_get_post64): likewise
33979 * include/grub/i386/efi/memory.h: new file
33980 * include/grub/x86_64/efi/memory.h: likewise
33981 * include/grub/efi/memory.h: likewise
33982 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33983 (mmap_mod_SOURCES): new variable
33984 (mmap_mod_LDFLAGS): likewise
33985 (mmap_mod_ASFLAGS): likewise
33986 * conf/i386-coreboot.rmk: likewise
33987 * conf/i386-ieee1275.rmk: likewise
33988 * conf/i386-efi.rmk: likewise
33989 * conf/x86_64-efi.rmk: likewise
33990 * include/grub/types.h (UINT_TO_PTR): new macro
33991 (PTR_TO_UINT32): likewise
33992 (PTR_TO_UINT64): likewise
33993 * include/grub/memory.h: new file
33994 * mmap/i386/pc/mmap.c: likewise
33995 * mmap/i386/pc/mmap_helper.S: likewise
33996 * mmap/i386/uppermem.c: likewise
33997 * mmap/mmap.c: likewise
33998 * mmap/efi/mmap.c: likewise
7dd4a573 33999 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34000 grub_upper_mem
34001 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34002 (grub_upper_mem): likewise
34003 (grub_machine_init): don't use grub_upper_mem,
34004 make grub_lower_mem local
34005 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34006 grub_mmap_iterate and grub_mmap_get_upper
34007 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34008
d558e6b5 340092009-05-02 Bean <bean123ch@gmail.com>
34010
34011 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34012 script/sh/parser.y.
34013 (pkglib_MODULES): Add normal.mod and sh.mod.
34014 (normal_SOURCES): New variable.
34015 (normal_mod_CFLAGS): Likewise.
34016 (normal_mod_LDFLAGS): Likewise.
34017 (sh_mod_SOURCES): Likewise.
34018 (sh_mod_CFLAGS): Likewise.
34019 (sh_mod_LDFLAGS): Likewise.
34020
34021 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34022 script/sh/lexer.c_DEPENDENCIES.
34023 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34024 kern/rescue_reader.c and kern/rescue_parser.c.
34025 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34026 (grub_emu_SOURCES): Change source files.
34027 (pkglib_MODULES): Remove normal.mod.
34028 (normal_SOURCES): Removed.
34029 (normal_mod_CFLAGS): Likewise.
34030 (normal_mod_LDFLAGS): Likewise.
34031 * conf/i386-coreboot.rmk: Likewise.
34032 * conf/i386-efi.rmk: Likewise.
34033 * conf/i386-ieee1276.rmk: Likewise.
34034 * conf/powerpc-ieee1275.rmk: Likewise.
34035 * conf/sparc64-ieee1275.rmk: Likewise.
34036 * conf/x86_64-efi.rmk: Likewise.
34037
34038 * include/grub/command.h (grub_command_execute): New inline function.
34039
34040 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34041
34042 * include/grub/normal.h: Remove <grub/setjmp.h>.
34043 (grub_fs_module_list): Moved to normal/autofs.c.
34044 (grub_exit_env): Removed.
34045 (grub_command_execute): Likewise.
34046 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34047 parameter script.
34048 (read_command_list): New function declaration.
34049 (read_fs_list): Likewise.
34050
34051 * include/parser.h: Include <grub/reader.h>.
34052 (grub_parser_split_cmdline): Change type of getline parameter.
34053 (grub_parser): New structure.
34054 (grub_parser_class): New variable.
34055 (grub_parser_execute): New function declaration.
34056 (grub_register_rescue_parser): Likewise.
34057 (grub_parser_register): New inline function.
34058 (grub_parser_unregister): Likewise.
34059 (grub_parser_get_current): Likewise.
34060 (grub_parser_set_current): Likewise.
34061
34062 * include/grub/reader.h: New file.
34063 * kern/reader.c: Likewise.
34064 * kern/rescue_parser.c: Likewise.
34065 * kern/rescue_reader.c: Likewise.
34066 * normal/autofs.c: Likewise.
34067 * normal/dyncmd.c: Likewise.
34068
34069 * include/grub/rescue.h: Removed.
34070 * normal/command.h: Likewise.
34071
34072 * include/grub/script.h: Moved to ...
34073 * include/grub/script_sh.h: ... Moved here.
34074 * normal/execute.c: Moved to ...
34075 * script/sh/execute.c: ... Moved here.
34076 * normal/function.c: Moved to ...
34077 * script/sh/function.c: ... Moved here.
34078 * normal/lexer.c: Moved to ...
34079 * script/sh/lexer.c: ... Moved here.
34080 * normal/parser.y: Moved to ...
34081 * script/sh/parser.y: ... Moved here.
34082 * normal/script.c: Moved to ...
34083 * script/sh/script.c: ... Moved here.
34084
34085 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34086 <grub/reader.h>.
34087 (grub_exit_env): Removed.
34088 (fs_module_list): Moved to normal/autofs.c.
34089 (grub_file_getline): Don't handle comment here.
34090 (free_menu): Skip removed field entry->commands.
34091 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34092 script parameter.
34093 (read_config_file): Removed nested parameter, change getline function.
34094 (grub_enter_normal_mode): Removed.
34095 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34096 (read_command_list): Likewise.
34097 (autoload_fs_module): Moved to normal/autofs.c.
34098 (read_fs_list): Likewise.
34099 (reader_nested): New variable.
34100 (grub_normal_execute): Run parser.sh to switch to sh parser.
34101 (grub_cmd_rescue): Removed.
34102 (cmd_normal): Removed.
34103 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34104 rescue command.
34105 (grub_cmdline_run): New function.
34106 (grub_normal_reader_init): Likewise.
34107 (grub_normal_read_line): Likewise.
34108 (grub_env_write_pager): Likewise.
34109 (cmdline): New variable.
34110 (grub_normal_reader): Likewise.
34111 (GRUB_MOD_INIT): Register normal reader and set as current, register
34112 pager hook, register normal command with grub_register_command_prio,
34113 so that it won't show up in command.lst.
34114 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34115 grub_fs_autoload_hook.
34116
34117 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34118 (grub_menu_execute_entry): Replace grub_script_execute with
34119 grub_parser_execute, change parameter to grub_command_execute.
34120
34121 * normal/menu_text.c: Remove <grub/script.h>.
34122
34123 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34124 and <grub/parser.h>.
34125 (run): Change editor_getline to use new parser interface. Change
34126 parameter to grub_command_execute.
34127
34128 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34129 <grub/reader.h> and <grub/parser.h>.
34130 (grub_load_normal_mode): Execute normal command.
34131 (grub_main): Call grub_register_core_commands,
34132 grub_register_rescue_parser and grub_register_rescue_reader, use
34133 grub_reader_loop to enter input loop.
34134
7dd4a573 34135 * kern/parser.c (grub_parser_split_cmdline): Change type of
34136 getline parameter.
d558e6b5 34137 (grub_parser_class): New variable.
34138 (grub_parser_execute): New function.
34139
34140 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34141 * loader/multiboot2.c: Likewise.
34142 * loader/sparc64/ieee1275/linux.c: Likewise.
34143
34144 * util/grub-emu.c (read_command_list): New dummy function.
34145
18db813d 341462009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34147
34148 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34149 count to 16 for CCISS and IDA.
34150
6c67de15 341512009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34152
34153 * normal/menu_text.c (grub_wait_after_message): Print a newline
34154 after waiting for user input.
34155
34156 * loader/i386/linux.c: Include `<grub/normal.h>'.
34157 (grub_cmd_linux): Improve the error message about `ask' mode, by
34158 waiting for user input so it's not missed (we can do this, since
34159 user requested interaction).
34160
d9dc87b0 341612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34162
34163 Added missing lst to grub-mkrescue
34164
34165 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34166 and ${input_dir}/parttool.lst
34167
ac8a2baa 341682009-04-30 David S. Miller <davem@davemloft.net>
34169
ad22a610 34170 * util/hostdisk.c (device_is_wholedisk): New function.
34171 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34172 zero only if device_is_wholedisk() returns true.
34173
6966215d 34174 * util/hostdisk.c (convert_system_partition_to_system_disk):
34175 Handle virtual disk devices named /dev/vdiskX as found on sparc
34176 and powerpc.
34177
ac8a2baa 34178 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34179 lettered partition specifier is found, convert to numbered.
34180
979b4fb4 341812009-04-29 David S. Miller <davem@davemloft.net>
34182
e2bf39b2 34183 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34184 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34185
3c64e104 34186 * normal/command.c: Add missing newline at end of file.
34187
979b4fb4 34188 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34189 warnings.
34190 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34191 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34192 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34193 ihandles have a 32-bit type but need to be stored in a "void *".
34194
136d9f82 341952009-04-28 Pavel Roskin <proski@gnu.org>
34196
9459c306 34197 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34198 not disk. Adjust all dependencies.
2e08a26a 34199 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34200 grub_disk_close().
34201
136d9f82 34202 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34203 parent's partition, don't copy it by reference, as it gets freed
34204 on close.
34205
7dd4a573 342062009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34207
34208 Preboot hooks support
34209
34210 * commands/boot.c (struct grub_preboot_t): new declaration
34211 (preboots_head): new variable
34212 (preboots_tail): likewise
34213 (grub_loader_register_preboot_hook): new function
34214 (grub_loader_unregister_preboot_hook): likewise
34215 (grub_loader_set): launch preboot hooks
34216 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34217 (grub_loader_register_preboot_hook): new declaration
34218 (grub_loader_unregister_preboot_hook): likewise
34219
5af922b5 342202009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34221
34222 Warning fix
34223
7dd4a573 34224 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34225 calling grub_dprintf
34226
a5562c30 342272009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34228
34229 Bug and warning fixes
34230
7dd4a573 34231 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34232 declaration
34233 * commands/test.c (test_parse): fixed bug with file tests and corrected
34234 declaration of find_file
34235
4006f85c 342362009-04-26 Pavel Roskin <proski@gnu.org>
34237
34238 * Makefile.in: Don't install empty manual pages if help2man is
34239 missing. Use help2man option for output, not shell redirection.
34240
5c77c3de 342412009-04-26 David S. Miller <davem@davemloft.net>
34242
34243 * util/grub-mkdevicemap.c (make_device_map): Add missing
34244 NESTED_FUNC_ATTR to process_device().
34245
033b10a8 342462009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34247
34248 Test command
34249
34250 * commands/test.c: rewritten to use bash-like test
34251
e4343593 342522009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34253
34254 Parttool autoloading and improvements
34255
7dd4a573 34256 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34257 (parttool.lst): new target
34258 * genmk.rb: generate parttool-*
34259 (CLEANFILES): add #{parttool}
34260 (PARTTOOLFILES): new variable
34261 * genparttoollist.sh: new file
7dd4a573 34262 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34263 (grub_pcpart_type): likewise
34264 * commands/parttool.c (helpmsg): new variable
34265 (grub_cmd_parttool): output help if not enough arguments are supplied
34266 autoload modules
34267 (GRUB_MOD_INIT(parttool)): use helpmsg
34268
0d312500 342692009-04-24 David S. Miller <davem@davemloft.net>
34270
7dd4a573 34271 Avoiding opening same device multiple times in device iterator.
0d312500 34272
34273 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34274 and use it to build a list of partitions in iterate_disk() and
0d312500 34275 iterate_partition().
34276
ac20caff 34277 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34278 on disk->data.
34279
0dcf7495 34280 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34281 grub_devalias_iterate() result instead of unconditional 0.
34282 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34283 Also, capture hook return value, either directly or via
34284 grub_children_iterate(), and propagate to caller.
34285 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34286 grub_children_iterate): Return value is now 'int' instead of
34287 'grub_err_t'.
34288 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34289 like a proper iterator, stopping when hooks return non-zero.
34290 (grub_devalias_iterate): Likewise.
34291
c8c08833 342922009-04-23 David S. Miller <davem@davemloft.net>
34293
34294 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34295
f01005a8 342962009-04-22 David S. Miller <davem@davemloft.net>
34297
34298 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34299 is larger than address_cells, use that value for address_cells too.
34300
4e8269da 34301 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34302 IEEE1275_MAX_PATH_LEN): Define.
34303 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34304 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34305 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34306 'devtype'. Explicitly NULL terminate devalias expansion.
34307
a1447506 34308 * util/sparc64/ieee1275/misc.c: New file.
34309 * util/sparc64/ieee1275/grub-setup.c: New file.
34310 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34311 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34312 * util/sparc64/ieee1275/grub-install.in: New file.
34313 * util/ieee1275/ofpath.c: New file.
34314 * util/ieee1275/devicemap.c: New file.
34315 * util/devicemap.c: New file.
34316 * util/deviceiter.c: New file.
34317 * kern/sparc64/ieee1275/init.c: New file.
34318 * include/grub/util/ofpath.h: New file.
34319 * include/grub/util/deviceiter.h: New file.
34320 * util/grub-mkdevicemap.c: Include deviceiter.h.
34321 Implement using grub_util_emit_devicemap_entry and
34322 grub_util_iterate_devices.
34323 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34324 util/devicemap.c into grub-mkdevicemap
34325 * conf/i386-efi.rmk: Likewise.
34326 * conf/i386-ieee1275.rmk: Likewise.
34327 * conf/i386-pc.rmk: Likewise.
34328 * conf/powerpc-ieee1275.rmk: Likewise.
34329 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34330 images and installation utilities. Build kernel as image
34331 instead of as elf binary. Use common rules as much as possible.
34332
7dd4a573 343332009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34334
34335 Correct GPT definition
34336
7dd4a573 34337 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34338 of "attrib" member
34339
c6c5219f 343402009-04-19 Felix Zielcke <fzielcke@z-51.de>
34341
34342 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34343
0552ff9f 343442009-04-19 David S. Miller <davem@davemloft.net>
34345
34346 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34347 (grub_rescue_cmd_linux): Rename to...
34348 (grub_cmd_linux): and fix prototype.
34349 (grub_rescue_cmd_initrd): Rename to...
34350 (grub_cmd_initrd): and fix prototype.
34351 (cmd_linux, cmd_initrd): New.
34352 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34353 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34354
d1a282fc 343552009-04-17 Pavel Roskin <proski@gnu.org>
34356
07c5039f 34357 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34358 format.
34359 (grub_ohci_transfer): Likewise.
34360
b012002d 34361 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34362
1bc09c35 34363 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34364 return without a value. Fix inconsistent indentation.
34365
e0ff9126 34366 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34367 match struct grub_fs.
34368
d1a282fc 34369 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34370 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34371 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34372 * commands/lspci.c (grub_lspci_iter): Likewise.
34373
a96df3f2 343742009-04-16 Bean <bean123ch@gmail.com>
34375
34376 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34377 value.
34378
41bb0fe9 343792009-04-15 Pavel Roskin <proski@gnu.org>
34380
34381 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34382 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34383 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34384 definitions.
34385
596c6970 343862009-04-15 Felix Zielcke <fzielcke@z-51.de>
34387
34388 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34389 that no multiple data or metadata areas are supported and `Unknown
596c6970 34390 metadata header'.
34391
7dd4a573 343922009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34393
34394 Move loader out of the kernel
34395
34396 * kern/loader.c: moved to ...
34397 * commands/boot.c: ... moved here
34398 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34399 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34400 * include/grub/kernel.h (grub_machine_fini): export
34401 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34402 (grub_loader_set): likewise
34403 (grub_loader_unset): likewise
34404 (grub_loader_boot): likewise
34405 * conf/common.rmk: new module boot.mod
34406 (pkglib_MODULES): add boot.mod
34407 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34408 (grub_emu_SOURCES): likewise
34409 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34410 (grub_emu_SOURCES): likewise
34411 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34412 (grub_emu_SOURCES): likewise
34413 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34414 (grub_emu_SOURCES): likewise
34415 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34416 (grub_emu_SOURCES): likewise
7dd4a573 34417 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34418 (grub_emu_SOURCES): likewise
0d5d5653 34419 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34420 (grub_emu_SOURCES): likewise
0d5d5653 34421
7dd4a573 344222009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34423
34424 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34425
5999d619 34426 * kern/misc.c (grub_itoa): Removed function
34427 (grub_ltoa): likewise
34428 (grub_vsprintf): use grub_lltoa
34429
7dd4a573 344302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34431
34432 Restore grub-emu
34433
34434 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34435 * conf/i386-coreboot.rmk: likewise
34436 * conf/i386-ieee1275.rmk: likewise
34437 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34438
20318222 344392009-04-15 Felix Zielcke <fzielcke@z-51.de>
34440
34441 * INSTALL: Add that `./autogen.sh' needs to be run before
34442 `./configure.'.
34443
d05f0df3 344442009-04-14 Bean <bean123ch@gmail.com>
34445
34446 * Makefile.in (pkglib_DATA): Add handler.lst.
34447 (handler.lst): New rule.
34448
34449 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34450 * conf/i386-coreboot.rmk: Likewise.
34451 * conf/i386-ieee1275.rmk: Likewise.
34452 * conf/i386-efi.rmk: Likewise.
34453 * conf/x86_64-efi.rmk: Likewise.
34454 * conf/powerpc-ieee1275.rmk: Likewise.
34455 * conf/sparc64-ieee1275.rmk: Likewise.
34456
34457 * genhandlerlist.sh: New file.
34458
34459 * genmk.rb: Add rules to generate handler.lst.
34460
34461 * include/grub/normal.h (grub_file_getline): New function definition.
34462 (read_handler_list): Likewise.
34463 (free_handler_list): Likewise.
34464
34465 * include/grub/term.h (grub_term_register_input): Add name parameter
34466 for auto generation of handler.lst.
34467 (grub_term_register_output): Likewise.
34468
34469 * normal/handler.c: New file.
34470
34471 * normal/main.c (get_line): Renamed to grub_file_getline.
34472 (read_config_file): Use the newly renamed grub_file_getline.
34473 (read_command_list): Likewise.
34474 (read_fs_list): Likewise.
34475 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34476 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34477
34478 * term/efi/console.c (grub_console_init): Add name parameter for auto
34479 generation of handler.lst.
34480 * term/gfxterm.c: Likewise.
34481 * term/i386/pc/at_keyboard.c: Likewise.
34482 * term/i386/pc/console.c: Likewise.
34483 * term/i386/pc/serial.c: Likewise.
34484 * term/i386/pc/vesafb.c: Likewise.
34485 * term/i386/pc/vga.c: Likewise.
34486 * term/i386/pc/vga_text.c: Likewise.
34487 * term/ieee1275/ofconsole.c: Likewise.
34488 * term/usb_keyboard.c: Likewise.
34489
33c846be 344902009-04-14 Bean <bean123ch@gmail.com>
34491
34492 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34493 properly with null character.
34494
4484e01e 344952009-04-14 Felix Zielcke <fzielcke@z-51.de>
34496
34497 * configure: Remove.
34498 * config.h.in: Likewise.
f93d668e 34499 * stamp-h.in: Likewise.
4484e01e 34500 * DISTLIST: Likewise.
34501 * conf/common.mk: Likewise.
34502 * conf/i386-coreboot.mk: Likewise.
34503 * conf/i386-efi.mk: Likewise.
34504 * conf/i386-ieee1275.mk: Likewise.
34505 * conf/i386.mk: Likewise.
34506 * conf/i386-pc.mk: Likewise.
34507 * conf/powerpc-ieee1275.mk: Likewise.
34508 * conf/sparc64-ieee1275.mk: Likewise.
34509 * conf/x86_64-efi.mk: Likewise.
34510
34511 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34512 develop on GRUB.
34513
7dd4a573 345142009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34515 David S. Miller <davem@davemloft.net>
34516
34517 * util/hostdisk.c (make_device_name): Fix buffer length
34518 calculations.
34519
e25b5a8c 345202009-04-14 Felix Zielcke <fzielcke@z-51.de>
34521
34522 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34523 <sys/param.h> and <sys/sysctl.h>.
34524 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34525 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34526 opening the device and reset them afterwards.
34527
1f1f580c 345282009-04-13 Pavel Roskin <proski@gnu.org>
34529
34530 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34531 Reported by John Stanley <jpsinthemix@verizon.net>
34532
7ebc2d6b 345332009-04-13 Robert Millan <rmh@aybabtu.com>
34534
34535 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34536 that name for menuentries when appropriate.
7ebc2d6b 34537
d8ba3667 345382009-04-13 Felix Zielcke <fzielcke@z-51.de>
34539
34540 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34541
cba416eb 345422009-04-13 Robert Millan <rmh@aybabtu.com>
34543
34544 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34545 to Linux, simply abort telling the user it's no longer supported.
34546
a547a745 345472009-04-13 Felix Zielcke <fzielcke@z-51.de>
34548
34549 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34550 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34551 `freebsd_loadenv' only when devices.hints exist.
34552
232a769c 345532009-04-13 Pavel Roskin <proski@gnu.org>
34554
34555 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34556
c3012039 345572009-04-13 Felix Zielcke <fzielcke@z-51.de>
34558
34559 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34560 partition number.
34561 (grub_drive): Likewise.
34562
234022fe 345632009-04-13 David S. Miller <davem@davemloft.net>
34564
34565 * kern/sparc64/ieee1275/ieee1275.c: New file.
34566 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34567 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34568 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34569 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34570 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34571 grub_ieee1275_alloc_physmem): Declare new exported functions.
34572
d8e1836c 34573 * include/grub/sparc64/ieee1275/loader.h: New file.
34574 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34575 * include/grub/sparc64/kernel.h: Likewise.
34576 * loader/sparc64/ieee1275/linux.c: Likewise.
34577
96bd81ec 34578 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34579 (grub_fstest_SOURCES): Likewise.
34580
6a4737e5 34581 * util/hostdisk.c (make_device_name): Do not make any assumptions
34582 about the length of drive names.
34583
1d7a72fd 34584 * kern/dl.c (grub_dl_load_file): Close file immediately when
34585 we are done using it.
34586
56bc2471 345872009-04-12 David S. Miller <davem@davemloft.net>
34588
34589 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34590 values. Noticed by Pavel Roskin.
34591
df38d0bb 34592 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34593 target compiler.
7dd4a573 34594
e382e93a 34595 * genmk.rb: Add more flexible image type specification, also
34596 pass --strip-unneeded to objcopy.
34597 * conf/i386-pc.rmk: Use *_FORMAT.
34598 * conf/i386-pc.mk: Rebuilt.
34599
f5dbbca9 34600 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34601 (OFDISK_HASH_SZ): Define.
34602 (ofdisk_hash): New hash table.
34603 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34604 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34605 instead of device phandle which is not unique.
34606
91c88b12 34607 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34608 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34609 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34610 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34611 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34612 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34613 GRUB_KERNEL_MACHINE_DATA_END): Define.
34614 (grub_kernel_image_size, grub_total_module_size): Declare.
34615
5b5d4aa5 346162009-04-12 Pavel Roskin <proski@gnu.org>
34617
7dd4a573 34618 * configure.ac: Change the logic when we check for target tools.
34619 Do it when the target is specified and it's different from the
34620 specified value of the host.
5b5d4aa5 34621
c91e1793 346222009-04-11 Felix Zielcke <fzielcke@z-51.de>
34623
34624 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34625 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34626 GNU/kFreeBSD. Check if a device is a character device. Use
34627 DIOCGMEDIASIZE to get the size.
34628 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34629 support for GNU/kFreeBSD.
34630 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34631 is a character device instead of a block device. Add support for
34632 FreeBSD device names.
34633
34634 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34635 is a character device instead of a block device.
34636
34637 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34638 is a character device instead of a block device.
34639
b1ac8644 346402009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34641
34642 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34643 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34644 FreeBSD. Check if a device is a character device. Use
34645 DIOCGMEDIASIZE to get the size.
34646 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34647 support for FreeBSD.
34648 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34649 is a character device instead of a block device. Add support for
34650 FreeBSD device names.
34651
34652 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34653 a character device instead of a block device.
34654 (grub_util_check_char_device): New function.
34655
34656 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34657 a character device instead of a block device.
34658
34659 * include/grub/util/getroot.h (grub_util_check_char_device): New
34660 prototype.
34661
a3f7515a 346622009-04-11 David S. Miller <davem@davemloft.net>
34663
34664 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34665 static libgcc.
34666 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34667 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34668 function, if present.
34669 (__bswapdi2): Likewise.
34670
0d44993d 34671 * include/grub/sparc64/ieee1275/boot.h: New file.
34672 * boot/sparc64/ieee1275/boot.S: Likewise.
34673 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34674
ed3d2bc2 34675 * kern/misc.c (grub_ltoa): New function.
34676 (grub_vsprintf): Use it to format 'long' integers.
34677
d3bfb59c 346782009-04-10 David S. Miller <davem@davemloft.net>
34679
34680 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34681 slots are of type grub_ieee1275_cell_t.
34682 (grub_nand_read): Likewise.
34683 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34684 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34685 macros are used to compare values in arg/ret block of the call.
34686 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34687 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34688 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34689 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34690 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34691 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34692 grub_ieee1275_close, grub_ieee1275_set_property,
34693 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34694 grub_ieee1275_cell_t.
34695 * kern/ieee1275/openfw.c (grub_map): Likewise.
34696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34697 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34698
450e2238 34699 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34700 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34701 (grub_devalias_iterate): Likewise.
34702
7dd4a573 347032009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34704
34705 UFS improvements
34706
34707 * fs/ufs.c (INODE_NBLOCKS): new definition
34708 (struct grub_ufs_dirent): added fields for non-BSD dirents
34709 (grub_ufs_get_file_block): fixed double indirect handling
34710 (grub_ufs_lookup_symlink): use more robust way to determine whether
34711 symlink is inline
34712 (grub_ufs_find_file): support for non-BSD dirents
34713 (grub_ufs_dir): support for non-BSD dirents
34714
e7e6862a 347152009-04-10 Bean <bean123ch@gnail.com>
34716
34717 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34718 attribute, otherwise the size would be wrong for i386 platform.
34719
34720 * include/grub/pci.h (grub_pci_read_word): New inline function.
34721 (grub_pci_read_byte): Likewise.
34722 (grub_pci_write): Likewise.
34723 (grub_pci_write_word): Likewise.
34724 (grub_pci_write_byte): Likewise.
34725
34726 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34727
34728 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34729 (find_framebuf): Scan pci to locate the frame buffer address.
34730
34731 * commands/efi/fixvideo.c: New file.
34732
34733 * commands/efi/loadbios.c: Likewise.
34734
34735 * commands/memrw.c: Likewise.
34736
34737 * util/grub-dumpbios.in: Likewise.
34738
34739 * conf/common.rmk (grub-dumpbios): New utility.
34740 (pkglib_MODULES): New module memrw.mod.
34741 (memrw_mod_SOURCE): New macro.
34742 (memrw_mod_CFLAGS): Likewise.
34743 (memrw_mod_LDFLAGS): Likewise.
34744
7dd4a573 34745 * conf/i386-efi.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
7dd4a573 34754 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34755 fixvideo.mod.
34756 (loadbios_mod_SOURCE): New macro.
34757 (loadbios_mod_CFLAGS): Likewise.
34758 (loadbios_mod_LDFLAGS): Likewise.
34759 (fixvideo_mod_SOURCE): Likewise.
34760 (fixvideo_mod_CFLAGS): Likewise.
34761 (fixvideo_mod_LDFLAGS): Likewise.
34762
af63ada2 347632009-04-08 Felix Zielcke <fzielcke@z-51.de>
34764
34765 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34766
c2cdde70 347672009-04-07 David S. Miller <davem@davemloft.net>
34768
34769 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34770 support for R_SPARC_OLO10 relocations. Fix compile warning for
34771 R_SPARC_WDISP30 case.
ea3f72cf 34772 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34773
761319cf 347742009-04-06 Pavel Roskin <proski@gnu.org>
34775
1007d1f5 34776 * include/grub/misc.h (ARRAY_SIZE): New macro.
34777 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34778 New macro.
34779 * loader/i386/linux.c (allocate_pages): Use free_pages().
34780 (grub_linux_unload): Don't use free_pages().
34781 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34782 wrong index. Treat all other modes as text modes.
34783 (grub_cmd_linux): Initialize vid_mode unconditionally to
34784 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34785
761319cf 34786 * commands/help.c (print_command_help): Use cmd->prio, not
34787 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34788
ea761d40 347892009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34790
ea761d40 34791 Parttool
34792
34793 * parttool/pcpart.c: new file
34794 * commands/parttool.c: likewise
34795 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34796 (parttool_mod_SOURCES): new variable
34797 (parttool_mod_CFLAGS): likewise
34798 (parttool_mod_LDFLAGS): likewise
34799 (pcpart_mod_SOURCES): likewise
34800 (pcpart_mod_CFLAGS): likewise
34801 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34802 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34803 and parttool/pcpart.c
34804 * conf/i386-efi.rmk: likewise
34805 * conf/i386-ieee1275.rmk: likewise
34806 * conf/i386-pc.rmk: likewise
34807 * conf/powerpc-ieee1275.rmk: likewise
34808 * conf/sparc64-ieee1275.rmk: likewise
34809 * conf/x86_64-ieee1275.rmk: likewise
34810
05aaebfb 348112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34812
34813 Support for mtime and further expandability of dir command
34814
34815 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34816 * include/grub/datetime.h: ... moved here and added
05aaebfb 34817 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34818 * include/grub/fs.h: new syntax for dir and mtime functions in
34819 struct grub_fs
05aaebfb 34820 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34821 and GRUB_FSHELP_FLAGS_MASK
34822 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34823 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34824 (grub_ext2_mtime): new function
34825 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34826 (grub_hfsplus_mtime): new function
34827 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34828 (GRUB_UFS_ATTR_FILE): likewise
34829 (GRUB_UFS_ATTR_LNK): likewise
34830 (struct grub_ufs_sblock): new fields mtime
34831 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34832 all users updated
34833 (grub_ufs_dir): mtime support
34834 (grub_ufs_mtime): new function
34835 * fs/affs.c (grub_affs_dir): use new dir syntax
34836 * fs/afs.c (grub_afs_dir): likewise
34837 * fs/cpio.c (grub_cpio_dir): likewise
34838 * fs/fat.c (grub_fat_find_dir): likewise
34839 * fs/hfs.c (grub_hfs_dir): likewise
34840 * fs/iso9660.c (grub_iso9660_dir): likewise
34841 * fs/jfs.c (grub_jfs_dir): likewise
34842 * fs/minix.c (grub_minix_dir): likewise
34843 * fs/ntfs.c (grub_ntfs_dir): likewise
34844 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34845 * fs/sfs.c (grub_sfs_dir): likewise
34846 * fs/xfs.c (grub_xfs_dir): likewise
34847 * util/hostfs.c (grub_hostfs_dir): likewise
34848 * lib/datetime.c: moved to ...
34849 * normal/datetime.c: ... moved here
34850 (grub_unixtime2datetime): new function
34851 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34852 * normal/completion.c (iterate_dir): use new dir syntax
34853 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34854 last modification time of a volume
7dd4a573 34855 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34856 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34858 (normal_mod_SOURCES): likewise
34859 (datetime_mod_SOURCES): Removed lib/datetime.c
34860 * conf/i386-efi.rmk: likewise
7dd4a573 34861 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34862 * conf/i386-pc.rmk: likewise
34863 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34864 * conf/sparc64-ieee1275.rmk: likewise
34865 * conf/x86_64-efi.rmk: likewise
05aaebfb 34866
8a7e1a14 348672009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34868
34869 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34870
34871 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34872 on grub_fat_find_dir
34873 (grub_fat_find_dir): use grub_fat_iterate_dir
34874 (grub_fat_label): likewise
34875
04186a9c 348762009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34877
7dd4a573 34878 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34879 and command.h
34880 remove extraneous kernel_elf_HEADERS
34881
da4c0bb6 348822009-04-04 Bean <bean123ch@gnail.com>
34883
34884 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34885
34886 * util/misc.c: Likewise.
34887
54ad9555 348882009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34889
34890 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34891 instead of grub_printf.
34892
7a6bf9f2 348932009-04-03 Robert Millan <rmh@aybabtu.com>
34894
34895 * loader/i386/linux.c (grub_linux_setup_video): Fill
34896 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34897 values from `mode info' structure instead of hardcoded
34898 values.
34899
3fcc2083 349002009-04-01 Pavel Roskin <proski@gnu.org>
34901
34902 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34903 unused now.
34904 * genmk.rb: Likewise.
34905 * configure.ac: Likewise.
34906
5ec9740b 349072009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34908
34909 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34910 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34911
5270cec8 349122009-04-01 David S. Miller <davem@davemloft.net>
34913
34914 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34915 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34916 (grub_setjmp): Mark with 'returns_twice' attribute.
34917 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34918 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34919 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34920
9c3dd854 349212009-04-01 Robert Millan <rmh@aybabtu.com>
34922
34923 Reapply fix from 2008-07-28 which was accidentally reverted; also
34924 perform the same fix to a similar check in same function.
34925
34926 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34927 with the same number are found, just use issue a warning with
34928 grub_dprintf(), as this error has been reported to be non-fatal.
34929
0d818b7e 349302009-03-31 Pavel Roskin <proski@gnu.org>
34931
34932 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34933 for cross-compilation.
34934
95646d92 349352009-03-30 Robert Millan <rmh@aybabtu.com>
34936
34937 Fix i386-ieee1275 build.
34938
34939 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34940 Remove declaration.
34941
6a003ed1 349422009-03-30 Pavel Roskin <proski@gnu.org>
34943
34944 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34945 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34946 zero-terminated, rely only on the strlen value. Fix comparison
34947 of strings differing in length.
34948
92f33540 349492009-03-30 Robert Millan <rmh@aybabtu.com>
34950
34951 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34952 checking for abi version. Improve error messages on BIOS to notify
34953 user about `linux16' command.
34954
a8c48fd5 349552009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34956
f968172e 34957 Leak fixes
a8c48fd5 34958
f968172e 34959 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34960 in case of collision
34961 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34962
9c323f09 349632009-03-29 Robert Millan <rmh@aybabtu.com>
34964
34965 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34966 set `vid_mode' accordingly.
34967 (grub_linux_boot): Process `vid_mode' and set video mode.
34968
ae68f423 349692009-03-29 Robert Millan <rmh@aybabtu.com>
34970
34971 * util/grub.d/10_linux.in (linux_entry): New function.
34972 Factorize generation of Linux boot entries.
34973
5709cfc4 349742009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34975
34976 Make the format of Environment Block plain text. The boot loader
34977 part is not tested well yet.
7dd4a573 34978
5709cfc4 34979 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34980 (buffer): Removed.
34981 (envblk): Likewise.
34982 (usage): Remove "info" and "clear". Add "unset". Update the
34983 description of "set", as this does not delete variables any
34984 longer.
34985 (create_envblk_file): Complete rewrite.
34986 (open_envblk_file): Likewise.
34987 (cmd_info): Removed.
34988 (cmd_list): Likewise.
34989 (cmd_set): Likewise.
34990 (cmd_clear): Likewise.
34991 (list_variables): New function.
34992 (write_envblk): Likewise.
34993 (set_variables): Likewise.
34994 (unset_variables): Likewise.
34995 (main): Complete rewrite.
34996
34997 * commands/loadenv.c (buffer): Removed.
34998 (envblk): Likewise.
34999 (open_envblk_file): New function.
35000 (read_envblk_file): Complete rewrite.
35001 (grub_cmd_load_env): Likewise.
35002 (grub_cmd_list_env): Likewise.
35003 (struct blocklist): New struct.
35004 (free_blocklists): New function.
35005 (check_blocklists): Likewise.
35006 (write_blocklists): Likewise.
35007 (grub_cmd_save_env): Complete rewrite.
35008
35009 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35010 a plain text signature.
35011 (GRUB_ENVBLK_MAXLEN): Removed.
35012 (struct grub_envblk): Complete rewrite.
35013 (grub_envblk_find): Removed.
35014 (grub_envblk_insert): Likewise.
35015 (grub_envblk_open): New prototype.
35016 (grub_envblk_set): Likewise.
35017 (grub_envblk_delete): Put const to VALUE.
35018 (grub_envblk_iterate): Put const to NAME and VALUE.
35019 (grub_envblk_close): New prototype.
35020 (grub_envblk_buffer): New inline function.
35021 (grub_envblk_size): Likewise.
35022
35023 * lib/envblk.c: Include grub/mm.h.
35024 (grub_env_find): Removed.
35025 (grub_envblk_open): New function.
35026 (grub_envblk_close): Likewise.
35027 (escaped_value_len): Likewise.
35028 (find_next_line): Likewise.
35029 (grub_envblk_insert): Removed.
35030 (grub_envblk_set): New function.
35031 (grub_envblk_delete): Complete rewrite.
35032 (grub_envblk_iterate): Likewise.
35033
a9368fd3 350342009-03-28 Robert Millan <rmh@aybabtu.com>
35035
35036 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35037 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35038 variables. Use 16-bit loader.
35039 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35040 loader.
35041 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35042 (grub_linux16_boot): ... this. Update all users.
35043 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35044 (grub_linux_boot): ... this. Update all users.
35045
35046 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35047 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35048 commands to `linux16' and `initrd16'.
35049 (GRUB_MOD_FINI(linux)): Rename to ...
35050 (GRUB_MOD_FINI(linux16)): ... this.
35051
e4dd5a7e 350522009-03-24 Pavel Roskin <proski@gnu.org>
35053
35054 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35055 not just for compilation.
35056
c04d6e05 350572009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35058
35059 Move multiboot helper out of kernel
35060
35061 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35062 `loader/i386/multiboot_helper.S'.
35063 * conf/i386-coreboot.rmk: Likewise
35064 * conf/i386-ieee1275.rmk: Likewise
35065
35066 * kern/i386/loader.S: Move multiboot helpers from here...
35067 * loader/i386/multiboot_helper.S: ...moved here
35068 * include/grub/i386/loader.h: Move declarations of multiboot
35069 helpers from here...
35070 * include/grub/i386/multiboot.h: ...moved here
35071 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35072
42a5b3fc 350732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35074
35075 * kern/env.c (grub_env_context_open): Added an argument to specify
35076 whether a new context inherits exported variables from current
35077 one. This is useful when making a sandbox to interpret a config
35078 file.
35079 All callers updated.
35080
35081 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35082
b28bbc4e 350832009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35084
35085 * kern/env.c (grub_env_context_close): Fix memory leaks.
35086
f04f02e4 350872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35088
35089 * normal/main.c (grub_normal_execute): Added an argument
35090 BATCH to specify if an interactive interface should be provided
35091 after reading a config file.
35092 All callers updated.
35093 (read_command_list): Prevent being executed twice.
35094 (read_fs_list): Likewise.
35095
42a5b3fc 35096 * include/grub/normal.h (grub_normal_execute): Updated the
35097 prototype.
f04f02e4 35098
41473ac2 350992009-03-22 Pavel Roskin <proski@gno.org>
35100
fbc00b0c 35101 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35102 _start.
35103 * kern/i386/pc/startup.S: Likewise.
35104 * kern/i386/efi/startup.S: Likewise.
35105 * kern/i386/ieee1275/startup.S: Likewise.
35106 * kern/i386/coreboot/startup.S: Likewise.
35107 * kern/x86_64/efi/startup.S: Likewise.
35108
41473ac2 35109 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35110 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35111 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35112
2274cc8f 351132009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35114
35115 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35116
35117 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35118 limit detection.
35119 Use vaddr of correct segment for entry_point.
35120
b1b797cb 351212009-03-21 Bean <bean123ch@gmail.com>
35122
35123 * commands/blocklist.c: Add include file <grub/command.h>, remove
35124 <grub/normal.h> and <grub/arg.h>.
35125 (grub_cmd_blocklist): Use the new command interface.
35126 (GRUB_MOD_INIT): Likewise.
35127 (GRUB_MOD_FINI): Likewise.
35128 * commands/boot.c: Likewise.
35129 * commands/cat.c: Likewise.
35130 * commands/cmp.c: Likewise.
35131 * commands/configfile.c: Likewise.
35132 * commands/crc.c: Likewise.
35133 * commands/echo.c: Likewise.
35134 * commands/halt.c: Likewise.
35135 * commands/handler.c: Likewise.
35136 * commands/hdparm.c: Likewise.
35137 * commands/help.c: Likewise.
35138 * commands/hexdump.c: Likewise.
35139 * commands/loadenv.c: Likewise.
35140 * commands/ls.c: Likewise.
35141 * commands/lsmmap.c: Likewise.
35142 * commands/lspci.c: Likewise.
35143 * commands/loadenv.c: Likewise.
35144 * commands/read.c: Likewise.
35145 * commands/reboot.c: Likewise.
35146 * commands/search.c: Likewise.
35147 * commands/sleep.c: Likewise.
35148 * commands/test.c: Likewise.
35149 * commands/usbtest.c: Likewise.
35150 * commands/videotest.c: Likewise.
35151 * commands/i386/cpuid.c: Likewise.
35152 * commands/i386/pc/halt.c: Likewise.
35153 * commands/i386/pc/play.c: Likewise.
35154 * commands/i386/pc/pxecmd.c: Likewise.
35155 * commands/i386/pc/vbeinfo.c: Likewise.
35156 * commands/i386/pc/vbetest.c: Likewise.
35157 * commands/ieee1275/suspend.c: Likewise.
35158 * disk/loopback.c: Likewise.
35159 * font/font_cmd.c: Likewise.
35160 * hello/hello.c: Likewise.
35161 * loader/efi/appleloader.c: Likewise.
35162 * loader/efi/chainloader.c: Likewise.
35163 * loader/i386/bsd.c: Likewise.
35164 * loader/i386/efi/linux.c: Likewise.
35165 * loader/i386/ieee1275/linux.c: Likewise.
35166 * loader/i386/linux.c: Likewise.
35167 * loader/i386/pc/chainloader.c: Likewise.
35168 * loader/i386/pc/linux.c: Likewise.
35169 * loader/powerpc/ieee1275/linux.c: Likewise.
35170 * loader/multiboot_loader.c: Likewise.
35171 * term/gfxterm.c: Likewise.
35172 * term/i386/pc/serial.c: Likewise.
35173 * term/terminfo.c: Likewise.
35174
35175 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35176 * term/i386/pc/vga.c: Likewise.
35177 * video/readers/jpeg.c: Likewise.
35178 * video/readers/png.c: Likewise.
35179 * video/readers/tga.c: Likewise.
35180
35181 * util/grub-fstest (cmd_loopback): Removed.
35182 (cmd_blocklist): Likewise.
35183 (cmd_ls): Likewise.
35184 (grub_register_command): Likewise.
35185 (grub_unregister_command): Likewise.
35186 (execute_command): Use grub_command_find to locate command and execute
35187 it.
35188
35189 * include/grub/efi/chainloader.h: Removed.
35190 * loader/efi/chainloader_normal.c: Likewise.
35191 * loader/i386/bsd_normal.c: Likewise.
35192 * loader/i386/pc/chainloader_normal.c: Likewise.
35193 * loader/i386/pc/multiboot_normal.c: Likewise.
35194 * loader/linux_normal.c: Likewise.
35195 * loader/multiboot_loader_normal.c: Likewise.
35196 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35197
35198 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35199 and grub_register_command_p1.
35200
35201 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35202 kern/command.c, lib/arg.c and commands/extcmd.c.
35203 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35204 (minicmd_mod_SOURCES): New variable.
35205 (minicmd_mod_CFLAGS): Likewise.
35206 (minicmd_mod_LDFLAGS): Likewise.
35207 (extcmd_mod_SOURCES): Likewise.
35208 (extcmd_mod_CFLAGS): Likewise.
35209 (extcmd_mod_LDFLAGS): Likewise.
35210 (boot_mod_SOURCES): Removed.
35211 (boot_mod_CFLAGS): Likewise.
35212 (boot_mod_LDFLAGS): Likewise.
35213
35214 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35215 kern/corecmd.c.
35216 (kernel_img_HEADERS): Add command.h.
35217 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35218 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35219 and lib/arg.c.
35220 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35221 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35222 remove the corresponding normal mode command.
35223 (normal_mod_SOURCES): Remove normal/arg.c.
35224 * conf/i386-coreboot.rmk: Likewise.
35225 * conf/i386-efi.rmk: Likewise.
35226 * conf/i386-ieee1275.rmk: Likewise.
35227 * conf/powerpc-ieee1275.rmk: Likewise.
35228 * conf/x86_64-efi.rmk: Likewise.
35229
35230 * include/grub/arg.h: Move from here ...
35231 * include/grub/lib/arg.h: ... to here.
35232
35233 * normal/arg.c: Move from here ...
35234 * lib/arg.c: ... to here.
35235
35236 * commands/extcmd.c: New file.
35237 * commands/minicmd.c: Likewise.
35238 * include/grub/command.h: Likewise.
35239 * include/grub/extcmd.h: Likewise.
35240 * kern/command.c: Likewise.
35241 * kern/corecmd.c: Likewise.
35242
35243 * kern/list.c (grub_list_iterate): Return int instead of void.
35244 (grub_list_insert): New function.
35245 (grub_prio_list_insert): Likewise.
35246
35247 * kern/rescue.c (grub_rescue_command): Removed.
35248 (grub_rescue_command_list): Likewise.
35249 (grub_rescue_register_command): Likewise.
35250 (grub_rescue_unregister_command): Likewise.
35251 (grub_rescue_cmd_boot): Move to minicmd.c
35252 (grub_rescue_cmd_help): Likewise.
35253 (grub_rescue_cmd_info): Likewise.
35254 (grub_rescue_cmd_boot): Likewise.
35255 (grub_rescue_cmd_testload): Likewise.
35256 (grub_rescue_cmd_dump): Likewise.
35257 (grub_rescue_cmd_rmmod): Likewise.
35258 (grub_rescue_cmd_lsmod): Likewise.
35259 (grub_rescue_cmd_exit): Likewise.
35260 (grub_rescue_print_devices): Moved to corecmd.c.
35261 (grub_rescue_print_files): Likewise.
35262 (grub_rescue_cmd_ls): Likewise.
35263 (grub_rescue_cmd_insmod): Likewise.
35264 (grub_rescue_cmd_set): Likewise.
35265 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35266 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35267 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35268 commands, remove grub_rescue_register_command calls.
b1b797cb 35269
7d074e3c 35270 * normal/command.c (grub_register_command): Removed.
b1b797cb 35271 (grub_unregister_command): Likewise.
35272 (grub_command_find): Likewise.
35273 (grub_iterate_commands): Likewise.
35274 (rescue_command): Likewise.
35275 (export_command): Moved to corecmd.c.
35276 (set_command): Removed.
35277 (unset_command): Likewise.
35278 (insmod_command): Likewise.
35279 (rmmod_command): Likewise.
35280 (lsmod_command): Likewise.
35281 (grub_command_init): Likewise.
35282
35283 * normal/completion.c (iterate_command): Use cmd->prio to check for
35284 active command.
35285 (complete_arguments): Use grub_extcmd_t structure to find options.
35286 (grub_normal_do_completion): Change function grub_iterate_commands to
35287 grub_command_iterate.
35288
35289 * normal/execute.c (grub_script_execute_cmd): No need to parse
35290 argument here.
35291
35292 * normal/main.c (grub_dyncmd_dispatcher): New function.
35293 (read_command_list): Register unload commands as dyncmd.
35294 (grub_cmd_normal): Use new command interface, register rescue,
35295 unregister normal at entry, register normal, unregister rescue at exit.
35296
35297 * include/grub/list.h (grub_list_test_t): New type.
35298 (grub_list_iterate): Return int instead of void.
35299 (grub_list_insert): New function.
35300 (GRUB_AS_NAMED_LIST_P): New macro.
35301 (GRUB_AS_PRIO_LIST): Likewise.
35302 (GRUB_AS_PRIO_LIST_P): Likewise.
35303 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35304 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35305 (grub_prio_list): New structure.
35306 (grub_prio_list_insert): New function.
35307 (grub_prio_list_remove): New inline function.
35308
35309 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35310 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35311 (GRUB_COMMAND_FLAG_MENU): Likewise.
35312 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35313 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35314 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35315 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35316 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35317 (grub_command): Likewise.
35318 (grub_register_command): Likewise.
35319 (grub_command_find): Likewise.
35320 (grub_iterate_commands): Likewise.
35321 (grub_command_init): Likewise.
35322 (grub_arg_parse): Likewise.
35323 (grub_arg_show_help): Likewise.
35324
35325 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35326 (grub_rescue_unregister_command): Likewise.
35327
35328 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35329 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35330 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35331
35332 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35333 grub_rescue_cmd_initrd.
35334 * include/grub/i386/loader.h: Likewise.
35335 * include/grub/x86_64/loader.h: Likewise.
35336
35337 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35338
1f4147aa 353392009-03-21 Bean <bean123ch@gmail.com>
35340
35341 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35342 instead of stat in mingw environment.
35343
35344 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35345
35346 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35347
35348 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35349 AC_CONFIG_LINKS.
35350
2156d5ba 353512009-03-21 Bean <bean123ch@gmail.com>
35352
35353 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35354 out of range error.
35355
177b82ca 353562009-03-18 Michel Dänzer <michel@daenzer.net>
35357
35358 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35359 checking inode flags for EXT4_EXTENTS_FLAG.
35360
14aad807 353612009-03-18 Robert Millan <rmh@aybabtu.com>
35362
35363 * loader/i386/linux.c: Include `<grub/video.h>' and
35364 `<grub/i386/pc/vbe.h>'..
35365 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35366 (grub_linux32_boot): Attempt to configure video settings with
35367 grub_linux_setup_video().
35368 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35369 to avoid grub_console_fini() which would step out of graphical mode
35370 unconditionally.
35371
8cf83a27 353722009-03-14 Robert Millan <rmh@aybabtu.com>
35373
35374 Fix build on powerpc.
35375 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35376
40164e75 353772009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35378
35379 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35380 background image command.
35381
c58bc32a 353822009-03-12 Colin D Bennett <colin@gibibit.com>
35383
35384 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35385 (grub_gfxterm_putchar): Extract pairs of identical calls to
35386 draw_cursor out of conditional blocks.
35387
5415144a 353882009-03-11 Pavel Roskin <proski@gnu.org>
35389
35390 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35391 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35392
6394042e 353932009-03-11 Robert Millan <rmh@aybabtu.com>
35394
35395 * loader/i386/multiboot_elfxx.c
35396 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35397
b7b50e5f 353982009-03-11 Felix Zielcke <fzielcke@z-51.de>
35399
35400 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35401 `kern/handler.c'.
35402
1ca7fc96 354032009-03-11 Robert Millan <rmh@aybabtu.com>
35404
35405 * loader/i386/multiboot.c (code_size): New variable.
35406 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35407 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35408 4-byte alignment to MBI and others by increasing
7d074e3c 35409 `boot_loader_name_length' appropriately.
1ca7fc96 35410
35411 * loader/i386/multiboot_elfxx.c
35412 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35413
a83ea1d2 354142009-03-09 Felix Zielcke <fzielcke@z-51.de>
35415
35416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35417 `fs/ext2.c'.
35418
aa9f3bff 354192009-03-08 Robert Millan <rmh@aybabtu.com>
35420
35421 Make loader/i386/linux.c usable on i386-pc again.
35422
35423 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35424 memory to heap.
35425 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35426 `#error' stanza.
35427
d8b3b60e 354282009-03-07 Bean <bean123ch@gmail.com>
35429
35430 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35431 allocation.
35432
b362c9e9 354332009-03-06 Robert Millan <rmh@aybabtu.com>
35434
35435 Fix display issue on terminals with screen size other than 80x25
35436 (e.g. gfxterm with resolution higher than 640x480).
35437
35438 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35439 position relative to the center of the terminal instead of relying
b362c9e9 35440 on a hardcoded offset.
35441
9304eef1 354422009-03-04 Robert Millan <rmh@aybabtu.com>
35443
35444 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35445 installed.
35446
35447 * Makefile.in (host_kernel): New variable.
35448 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35449 scripts instead of just the windows one.
35450 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35451
eabc95fb 354522009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35453
35454 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35455 `kern/handler.c'.
35456 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35457 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35458 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35460 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35461 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35462
ceb1223c 354632009-03-04 Felix Zielcke <fzielcke@z-51.de>
35464
35465 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35466 or if there's no space for the disk label and print the partition number on a
35467 invalid magic.
35468
4910684a 354692009-03-04 Felix Zielcke <fzielcke@z-51.de>
35470
35471 * util/misc.c: Include <time.h>.
35472 (grub_millisleep): New function.
35473
7e9ca17a 354742009-03-04 Bean <bean123ch@gmail.com>
35475
35476 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35477 another option -mno-red-zone.
35478
35479 * commands/handler.c: Change module description.
35480
35481 * kern/handler.c: Add missing space at the end of description line.
35482
35483 * kern/list.c: Likewise.
35484
f501677c 354852009-03-03 Robert Millan <rmh@aybabtu.com>
35486
35487 Move more components to the relocation area, and fix mbi pointer
35488 handling to use the destination rather than the origin (thanks to
35489 Vladimir Serbinenko for spotting).
35490
35491 * loader/i386/multiboot.c (mbi_dest): New variable.
35492 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35493 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35494 relocation area.
35495
9902d047 354962009-03-01 Bean <bean123ch@gmail.com>
35497
50fb7002 35498 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35499 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35500 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35501 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35502
35503 * loader/i386/efi/linux.c (acpi_guid): New variable.
35504 (acpi_guid): Likewise.
35505 (EBDA_SEG_ADDR): New constant.
35506 (LOW_MEM_ADDR): Likewise.
35507 (FAKE_EBDA_SEG): Likewise.
35508 (fake_bios_data): New function.
35509 (grub_linux_boot): Call fake_bios_data.
35510
71b9f361 355112009-03-01 Bean <bean123ch@gmail.com>
35512
35513 * commands/terminal.c: Removed.
35514
35515 * commands/handler.c: New file.
35516
35517 * include/grub/list.h: Likewise.
35518
35519 * include/grub/handler.h: Likewise.
35520
35521 * kern/list.c: Likewise.
35522
35523 * kern/handler.c: Likewise.
35524
35525 * kern/term.h: Include header file <grub/handler.h>.
35526 (grub_term_input): Move next field to the beginning.
35527 (grub_term_output): Likewise.
35528 (grub_term_input_class): New variable.
35529 (grub_term_output_class): Likewise.
35530 (grub_term_register_input): Changed to inline function.
35531 (grub_term_register_output): Likewise.
35532 (grub_term_unregister_input): Likewise.
35533 (grub_term_unregister_output): Likewise.
35534 (grub_term_set_current_input): Likewise.
35535 (grub_term_set_current_output): Likewise.
35536 (grub_term_get_current_input): Likewise.
35537 (grub_term_get_current_output): Likewise.
35538 (grub_term_iterate_input): Removed.
35539 (grub_term_iterate_output): Likewise.
35540
35541 * kern/term.c (grub_term_list_input): Removed.
35542 (grub_term_list_output): Likewise.
35543 (grub_term_input_class): New variable.
35544 (grub_term_output_class): Likewise.
50fb7002 35545 (grub_cur_term_input): Change variable as macro.
71b9f361 35546 (grub_cur_term_output): Likewise.
35547 (grub_term_register_input): Removed.
35548 (grub_term_register_output): Likewise.
35549 (grub_term_unregister_input): Likewise.
35550 (grub_term_unregister_output): Likewise.
35551 (grub_term_set_current_input): Likewise.
35552 (grub_term_set_current_output): Likewise.
35553 (grub_term_iterate_input): Likewise.
35554 (grub_term_iterate_output): Likewise.
35555 (grub_term_get_current_input): Likewise.
35556 (grub_term_get_current_output): Likewise.
35557
35558 * util/grub-editenv.c: Include header file <grub/handler.h>.
35559 (grub_term_get_current_input): Removed.
35560 (grub_term_get_current_output): Likewise.
35561 (grub_term_input_class): New variable.
50fb7002 35562 (grub_term_output_class): Likewise.
71b9f361 35563
35564 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35565 (grub_term_get_current_output): Likewise.
35566 (grub_term_input_class): New variable.
50fb7002 35567 (grub_term_output_class): Likewise.
71b9f361 35568
35569 * util/grub-probe.c (grub_term_get_current_input): Removed.
35570 (grub_term_get_current_output): Likewise.
35571 (grub_term_input_class): New variable.
50fb7002 35572 (grub_term_output_class): Likewise.
71b9f361 35573
35574 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35575 (grub_term_get_current_output): Likewise.
35576 (grub_term_input_class): New variable.
50fb7002 35577 (grub_term_output_class): Likewise.
71b9f361 35578
35579 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35580 (terminal_mod_SOURCES): Likewise.
35581 (terminal_mod_CFLAGS): Likewise.
35582 (terminal_mod_LDFLAGS): Likewise.
35583
35584 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35585 handler.c.
35586 (kernel_img_SOURCES): Add list.c and handler.c.
35587 (kernel_img_HEADERS): Add list.h and handler.h.
35588
35589 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35590 handler.c.
35591 (kernel_mod_SOURCES): Add list.c and handler.c.
35592 (kernel_mod_HEADERS): Add list.h and handler.h.
35593
35594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35595 handler.c.
35596 (kernel_elf_SOURCES): Add list.c and handler.c.
35597 (kernel_elf_HEADERS): Add list.h and handler.h.
35598
35599 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35600 handler.c.
35601 (kernel_elf_SOURCES): Add list.c and handler.c.
35602 (kernel_elf_HEADERS): Add list.h and handler.h.
35603
35604 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35605 handler.c.
35606 (kernel_mod_SOURCES): Add list.c and handler.c.
35607 (kernel_mod_HEADERS): Add list.h and handler.h.
35608
35609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35610 handler.c.
35611 (kernel_elf_SOURCES): Add list.c and handler.c.
35612 (kernel_elf_HEADERS): Add list.h and handler.h.
35613
8a31787f 356142009-02-27 Robert Millan <rmh@aybabtu.com>
35615
35616 Factorize elf32 / elf64 code in Multiboot loader. This will
35617 prevent it from getting out of sync again.
35618
35619 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35620 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35621 grub_multiboot_load_elf64): Move from here ...
35622 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35623 grub_multiboot_load_elf): ... to here (new file).
35624
51cd3dfc 356252009-02-27 Robert Millan <rmh@aybabtu.com>
35626
35627 * util/grub.d/10_linux.in: Rename "single-user mode" to
35628 "recovery mode".
35629
6e8c9c3a 356302009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35631
35632 Don't leak in SCSI code.
35633 * disk/scsi.c (grub_scsi_close): free `scsi'.
35634
4b6bf4f9 356352009-02-27 Robert Millan <rmh@aybabtu.com>
35636
35637 * loader/i386/pc/multiboot.c: Move from here ...
35638 * loader/i386/multiboot.c: ... to here. Update all users.
35639
b9413424 356402009-02-27 Robert Millan <rmh@aybabtu.com>
35641
35642 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35643 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35644
50fb7002 356452009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 35646
35647 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35648 b-tree.
35649
8cc50345 356502009-02-27 Robert Millan <rmh@aybabtu.com>
35651
35652 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35653 `0x' qualifier as 0 when base is specified as parameter).
35654
6e09b8b7 356552009-02-24 Bean <bean123ch@gmail.com>
35656
35657 * configure.ac: Check for -mcmodel=large in x86_64 target.
35658
35659 * include/grub/efi/api.h (efi_call_10): New macro.
35660 (efi_wrap_10): New function.
35661
35662 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35663 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35664 (GRUB_PE32_REL_BASED_LOW): Likewise.
35665 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35666 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35667 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35668 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35669 (GRUB_PE32_REL_BASED_REL): Likewise.
35670 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35671 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35672 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35673
35674 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35675 issue.
35676
35677 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35678 (efi_wrap_10): New function.
35679
35680 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35681
35682 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35683 MB/MBP model (NV chipset).
35684 (devdata_devs): Add devpath_5 to the list.
35685
35686 * load/i386/efi/linux.c (video_base): Remove variable.
35687 (RGB_MASK): New macro.
35688 (RGB_MAGIC): Likewise.
35689 (LINE_MIN): Likewise.
35690 (LINE_MAX): Likewise.
35691 (FBTEST_STEP): Likewise.
35692 (FBTEST_COUNT): Likewise.
35693 (fb_list): New variable.
35694 (grub_find_video_card): Remove function.
35695 (find_framebuf): New function.
35696 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35697 line length.
35698
35699 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35700 problem for x86_64.
35701
74b21bee 357022009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35703
35704 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35705
35706 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35707 coding tool name.
35708
a455f472 357092009-02-22 Robert Millan <rmh@aybabtu.com>
35710
35711 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35712 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35713 in our relocation, instead of using it directly from heap. Also
35714 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35715
6374daf3 357162009-02-21 Robert Millan <rmh@aybabtu.com>
35717
35718 Implement USB keyboard support (based on patch by Marco Gerards)
35719
35720 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35721 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35722 (usb_keyboard_mod_LDFLAGS): New variables.
35723
35724 * term/usb_keyboard.c: New file.
35725
8fa4ea70 357262009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35727
35728 Corrected wrong declaration
35729
35730 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35731
353976ac 357322009-02-14 Christian Franke <franke@computer.org>
35733
35734 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35735 (grub_lspci_iter): Print class code and programming interface byte.
35736
6aa1169b 357372009-02-14 Christian Franke <franke@computer.org>
35738
35739 * gendistlist.sh: Ignore `.svn' directories.
35740
265372ca 357412009-02-14 Felix Zielcke <fzielcke@z-51.de>
35742
35743 * fs/fat.c: Add 2009 to Copyright line.
35744
9ff516f3 357452009-02-14 Christian Franke <franke@computer.org>
35746
35747 * commands/hdparm.c: New file. Provides `hdparm' command
35748 which sends ATA commands via grub_disk_ata_pass_through ().
35749
35750 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35751
35752 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35753 and <grub/cpu/io.h> to include/grub/ata.h.
35754 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35755 (GRUB_CDROM_SECTOR_SIZE): Remove.
35756 (GRUB_ATA_*): Move to include/grub/ata.h.
35757 (GRUB_ATAPI_*): Likewise.
35758 (enum grub_ata_commands): Likewise.
35759 (enum grub_ata_timeout_milliseconds): Likewise.
35760 (struct grub_ata_device): Likewise.
35761 (grub_ata_regset): Likewise.
35762 (grub_ata_regget): Likewise.
35763 (grub_ata_regset2): Likewise.
35764 (grub_ata_regget2): Likewise.
35765 (grub_ata_check_ready): Likewise.
35766 (grub_ata_wait_not_busy): Remove static, exported in
35767 include/grub/ata.h.
35768 (grub_ata_wait_drq): Likewise.
35769 (grub_ata_pio_read): Likewise.
35770
35771 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35772 function for hdparm.mod.
35773
35774 * include/grub/ata.h: New file, contains declarations from
35775 disk/ata.c.
35776 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35777
35778 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35779 (grub_disk_ata_pass_through): New exported variable.
35780
35781 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35782
772e23da 357832009-02-13 Colin D Bennett <colin@gibibit.com>
35784
35785 Support multiple fallback entries, and provide an API to support
35786 executing default+fallback menu entries. Renamed the `terminal' menu
35787 viewer to `text'.
35788
35789 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35790 variable declaration.
35791 (grub_menu_execute_callback): New structure declaration.
35792 (grub_menu_execute_callback_t): New typedef.
35793 (grub_menu_execute_with_fallback): New function declaration.
35794 (grub_menu_get_entry): Likewise.
35795 (grub_menu_get_timeout): Likewise.
35796 (grub_menu_set_timeout): Likewise.
35797
35798 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35799
35800 * normal/menu.c (grub_wait_after_message): Moved to
35801 `normal/menu_text.c'.
35802 (draw_border): Likewise.
35803 (print_message): Likewise.
35804 (print_entry): Likewise.
35805 (print_entries): Likewise.
35806 (grub_menu_init_page): Likewise.
35807 (get_entry_number): Likewise.
35808 (print_timeout): Likewise.
35809 (run_menu): Likewise.
35810 (grub_menu_execute_entry): Likewise.
35811 (show_text_menu): Likewise.
35812 (get_and_remove_first_entry_number): New function.
35813 (grub_menu_execute_with_fallback): Likewise.
35814 (get_entry): Renamed to ...
35815 (grub_menu_get_entry): .. this and made it global.
35816 (get_timeout): Renamed to ...
35817 (grub_menu_get_timeout): ... this and made it global.
35818 (set_timeout): Renamed to ...
35819 (grub_menu_set_timeout): ... this and made it global.
35820 (grub_normal_terminal_menu_viewer): Renamed to ...
35821 (grub_normal_text_menu_viewer): ... this.
35822
35823 * normal/menu_text.c: New file. Extracted text-menu-specific code
35824 from normal/menu.c.
35825
35826 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35827 (normal_mod_SOURCES): Likewise.
35828
35829 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35830 (normal_mod_SOURCES): Likewise.
35831
35832 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35833 (normal_mod_SOURCES): Likewise.
35834
35835 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35836 (normal_mod_SOURCES): Likewise.
35837
35838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35839 (normal_mod_SOURCES): Likewise.
35840
35841 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35842 (normal_mod_SOURCES): Likewise.
35843
35844 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35845 (normal_mod_SOURCES): Likewise.
35846
16ac430e 358472009-02-11 Robert Millan <rmh@aybabtu.com>
35848
35849 * util/grub.d/00_header.in: Update old reference to `font' command.
35850
06ff20fc 358512009-02-10 Felix Zielcke <fzielcke@z-51.de>
35852
35853 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35854
35855 Based on patch from Javier Martín.
35856
96da9407 358572009-02-09 Felix Zielcke <fzielcke@z-51.de>
35858
35859 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35860 to avoid false positives with FAT.
96da9407 35861 (grub_fstest_SOURCES): Likewise.
35862 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35863 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35865 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35866 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35867 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35868
6dca6fe4 358692009-02-09 Felix Zielcke <fzielcke@z-51.de>
35870
06ff20fc 35871 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35872 bpb.version_specific.fat12_or_fat16.fstype and
35873 bpb.version_specific.fat32.fstype.
35874
2550c62f 358752009-02-08 Robert Millan <rmh@aybabtu.com>
35876
be110b30 35877 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35878
56978920 358792009-02-08 Robert Millan <rmh@aybabtu.com>
35880
35881 * Makefile.in (host_os, host_cpu): New variables.
35882 (target_os): Remove. Update all users.
35883
d64399b5 358842009-02-08 Marco Gerards <marco@gnu.org>
35885
35886 * Makefile.in (enable_grub_emu_usb): New variable.
35887 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35888 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35889 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35890 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35891 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35892 `usbtest.mod' and `usbms.mod'.
35893 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35894 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35895 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35896 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35897 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35898 variables.
35899
35900 * disk/usbms.c: New file.
35901
35902 * include/grub/usb.h: Likewise.
35903
35904 * include/grub/usbtrans.h: Likewise.
35905
35906 * include/grub/usbdesc.h: Likewise.
35907
35908 * bus/usb/usbtrans.c: Likewise.
35909
35910 * bus/usb/ohci.c: Likewise.
35911
35912 * bus/usb/uhci.c: Likewise.
35913
35914 * bus/usb/usbhub.c: Likewise.
35915
35916 * bus/usb/usb.c: Likewise.
35917
35918 * commands/usbtest.c: Likewise.
35919
35920 * util/usb.c: Likewise.
50fb7002 35921
d64399b5 35922 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35923
35924 * configure.ac: Test for libusb presence.
50fb7002 35925
d64399b5 35926 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35927
2b40d6bb 359282009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35929
35930 * kern/mm.c: Add more comments.
35931
73a4ce81 359322009-02-08 Robert Millan <rmh@aybabtu.com>
35933
35934 Patch from Javier Martín.
35935 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35936 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35937
f821ce59 359382009-02-08 Robert Millan <rmh@aybabtu.com>
35939
35940 * fs/cpio.c: Split tar functionality to ...
35941 * fs/tar.c: ... here (new file). Update all users.
35942
aebfc4b0 359432009-02-07 Robert Millan <rmh@aybabtu.com>
35944
35945 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35946 backward-incompatible features.
35947
35948 Based on patch from Javier Martín, with some adjustments.
35949
50fb7002 359502009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35951
35952 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35953
0bb5115e 359542009-02-07 Robert Millan <rmh@aybabtu.com>
35955
35956 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35957 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35958 after the RAID stuff.
35959
38a0f8e7 359602009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35961
50fb7002 35962 Fixes problem when running vbetest command as reported by
38a0f8e7 35963 Vladimir Serbinenko <phcoder@gmail.com>.
35964
35965 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35966
3143cc1c 359672009-02-04 Felix Zielcke <fzielcke@z-51.de>
35968
35969 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35970 /dev/md/NpN style mdraid devices.
35971
9cba6fce 359722009-02-03 Felix Zielcke <fzielcke@z-51.de>
35973
35974 * util/unifont2pff.rb: Remove.
35975
e507a2c1 359762009-02-03 Felix Zielcke <fzielcke@z-51.de>
35977
35978 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35979 `#'.
35980
d2c2b4cd 359812009-02-03 Felix Zielcke <fzielcke@z-51.de>
35982
35983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35984 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35985 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35986 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35988 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35989 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35990
b4315fb0 359912009-02-02 Christian Franke <franke@computer.org>
35992
35993 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35994
de3aa260 359952009-02-01 Felix Zielcke <fzielcke@z-51.de>
35996
7c3ff286 35997 * INSTALL: Note that we now require at least autoconf 2.59 and
35998 that LZO is optional.
de3aa260 35999
825a182b 360002009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36001
36002 Base on patch on bug #24154 created by Tomas Tintera
36003 <trosos@seznam.cz>.
36004
36005 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36006
a69ef770 360072009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36008
7c3ff286 36009 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36010 <bero@arklinux.org>.
36011
36012 * normal/parser.y (script_init): Add missing semicolon.
36013
6fa42fa6 360142009-01-31 Colin D Bennett <colin@gibibit.com>
36015
7c3ff286 36016 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36017 (free_menu_entry_classes): Added.
36018 (grub_normal_menu_addentry): Added class property handling.
36019 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36020 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36021
36022 * normal/menu_viewer.c: New file.
36023
36024 * normal/menu.c (run_menu_entry): Renamed to ...
36025 (grub_menu_execute_entry): ... this and made it as global.
36026 (grub_menu_run): Renamed to ...
36027 (show_text_menu): ... this and made it local.
36028 (show_text_menu): Adapt to new function names.
36029 (grub_normal_terminal_menu_viewer): New global variable.
36030
36031 * include/grub/menu.h: New file.
36032
36033 * include/grub/menu_viewer.h: New file.
36034
36035 * include/grub/normal.h: Added include to grub/menu.h.
36036 (grub_menu_entry): Moved to include/grub/menu.h.
36037 (grub_menu_entry_t): Likewise.
36038 (grub_menu): Likewise.
36039 (grub_menu_t): Likewise.
36040 (grub_normal_terminal_menu_viewer): Added.
36041 (grub_menu_execute_entry): Likewise.
36042 (grub_menu_run): Removed.
36043
36044 * DISTLIST: Added include/grub/menu.h.
36045 Added include/grub/menu_viewer.h.
36046 Added normal/menu_viewer.c.
36047
360482009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36049
36050 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36051 arglist for menutitle arguments.
36052
36053 * normal/main.c (grub_normal_menu_addentry): Likewise.
36054
36055 * normal/parser.y (menuentry): Likewise.
36056
36057 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36058
36059 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36060 (grub_script_create_cmdmenu): Likewise.
36061
36062 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36063
36064 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36065 changes.
36066
36067 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36068
36069 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36070
36071 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36072
36073 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36074
36075 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36076
36077 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36078
56192c23 360792009-01-30 Christian Franke <franke@computer.org>
36080
36081 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36082 in option help text.
36083
d72521b3 360842009-01-27 Pavel Roskin <proski@gnu.org>
36085
36086 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36087
994b5e84 360882009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36089
36090 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36091
36092 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36093
36094 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36095 unregister function.
36096
6a7eab2c 360972009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36098
36099 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36100
36101 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36102
36103 * util/grub-mkfont.c (usage): Fix typo.
36104
36105 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36106
1806b56e 361072009-01-26 Daniel Mierswa <impulze@impulze.org>
36108
3fb18f09 36109 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36110
336e1fb9 36111 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36112
1806b56e 36113 * kern/misc.c (grub_strcasecmp): New function.
36114 (grub_strcasecmp): Use grub_size_t instead of int for length.
36115 Fix return value.
36116 * include/grub/misc.h: Update function prototypes.
36117
580b2a0f 361182009-01-26 Robert Millan <rmh@aybabtu.com>
36119
36120 * configure.ac: Fix cross-compilation check.
ef257b36 36121
d31c24f1 361222009-01-22 Christian Franke <franke@computer.org>
36123
36124 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36125 (precision) digit string. Allow `.format2' without `format1' (width).
36126 Limit input chars for `%s' output to `format2' if specified. This is
36127 compatible with standard printf ().
36128
3138b44c 361292009-01-22 Christian Franke <franke@computer.org>
36130
36131 * disk/ata.c (grub_ata_wait_status): Replace by ...
36132 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36133 other status bits may be invalid while BSY is asserted.
36134 (grub_ata_check_ready): New function.
36135 (grub_ata_cmd): Removed.
36136 (grub_ata_wait_drq): New function.
36137 (grub_ata_strncpy): Remove inline.
36138 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36139 and error check now done by grub_ata_wait_drq ().
36140 (grub_ata_pio_write): Likewise.
36141 (grub_atapi_identify): Set DEV before check for !BSY. Use
36142 grub_ata_wait_drq () to wait for data.
36143 (grub_ata_device_initialize): Add status register check to
36144 detect missing SATA slave devices. Add debug messages.
36145 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36146 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36147 transfer loop by grub_ata_pio_write ().
36148 (grub_ata_identify): Set DEV before check for !BSY. Use
36149 grub_ata_wait_drq () to wait for data.
ef257b36 36150 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36151 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36152 read/write in one loop. Fix invalid command on write. Fix incomplete
36153 command on (size % batch) == 0. Add missing error check after write of
36154 last block. Add debug messages.
36155 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36156
59a64ef6 361572009-01-19 Christian Franke <franke@computer.org>
36158
36159 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36160 (GRUB_ATAPI_IREASON_*): Likewise.
36161 (grub_ata_pio_write): Fix timeout error return.
36162 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36163 (grub_atapi_wait_drq): New function.
36164 (grub_atapi_packet): New parameter `size'.
36165 Use grub_atapi_wait_drq () and direct write instead of
36166 grub_ata_pio_write ().
36167 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36168 reads the number of bytes requested by the device for each DRQ
36169 assertion.
36170 (grub_atapi_write): Remove old implementation, return not
36171 implemented instead.
36172
1cfe20b3 361732009-01-19 Christian Franke <franke@computer.org>
36174
36175 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36176 of 512 to calculate data size.
36177 (grub_scsi_read12): Likewise.
36178 (grub_scsi_write10): Likewise.
36179 (grub_scsi_write12): Likewise.
36180 (grub_scsi_read): Adjust size according to blocksize.
36181 Add checks for invalid blocksize and unaligned transfer.
36182
bee5fe5d 361832009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36184
36185 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36186
ef257b36 36187 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36188 width glyphs.
36189
3e643f8c 361902009-01-19 Robert Millan <rmh@aybabtu.com>
36191
36192 * config.guess: Update to latest version from config git.
36193 * config.sub: Likewise.
36194
4fa80998 361952009-01-17 Felix Zielcke <fzielcke@z-51.de>
36196
36197 * Makefile.in: Change font compilation to use new grub-mkfont instead
36198 of java version.
36199
36200 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36201 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36202 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36203 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36204 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36205 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36206 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36207 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36208 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36209
7086085b 362102009-01-16 Christian Franke <franke@computer.org>
36211
36212 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36213 (enum grub_ata_timeout_milliseconds): New enum.
36214 (grub_ata_wait_status): Add parameter milliseconds.
36215 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36216 recovery from timed-out commands.
36217 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36218 return grub_errno instead of REG_ERROR.
36219 (grub_ata_pio_write): Add parameter milliseconds.
36220 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36221 Pass milliseconds to grub_ata_wait_status () and
36222 grub_ata_pio_read ().
36223 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36224 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36225 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36226 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36227 It is not suitable for device detection, because DEV bit is ignored,
36228 the command may run too long, and not all devices set the signature
36229 properly.
36230 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36231 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36232 Fix device selection, DEV bit must be set first to address the registers
36233 of the correct device.
36234 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36235 grub_ata_pio_read/write ().
36236 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36237 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36238
4a412913 362392009-01-13 Carles Pina i Estany <carles@pina.cat>
36240
36241 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36242
7795c55e 362432009-01-13 Bean <bean123ch@gmail.com>
d913988c 36244
36245 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36246
7795c55e 362472009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36248
36249 * Makefile.in: (enable_grub_mkfont): New variable.
36250 (freetype_cflags): Likewise.
36251 (freetype_libs): Likewise.
36252
36253 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36254 (grub_mkfont_SOURCES): New variable.
36255 (grub_mkfont_CFLAGS): Likewise.
36256 (grub_mkfont_LDFLAGS): Likewise.
36257
36258 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36259 library if `--enable-grub-mkfont' is requested.
36260 (enable_grub_mkfont): New variable.
36261 (freetype_cflags): Likewise.
36262 (freetype_libs): Likewise.
36263
36264 * util/grub-mkfont.c: New file.
36265
093af1fe 362662009-01-12 Christian Franke <franke@computer.org>
36267
36268 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36269 mode check. Fix setting of compat_use[].
36270
f36cc108 362712009-01-10 Robert Millan <rmh@aybabtu.com>
36272
36273 Update a few copyright years which we forgot to do in 2008 (only for
36274 files whose changes made in 2008 were copyright-significant)
36275
36276 * Makefile.in: Add 2008 to Copyright line.
36277 * disk/ieee1275/ofdisk.c: Likewise.
36278 * disk/efi/efidisk.c: Likewise.
36279 * kern/dl.c: Likewise.
36280 * kern/sparc64/ieee1275/init.c: Likewise.
36281 * kern/mm.c: Likewise.
36282 * kern/efi/mm.c: Likewise.
36283 * boot/i386/pc/boot.S: Likewise.
36284 * genfslist.sh: Likewise.
36285 * fs/iso9660.c: Likewise.
36286 * fs/hfs.c: Likewise.
36287 * fs/jfs.c: Likewise.
36288 * fs/minix.c: Likewise.
36289 * fs/ufs.c: Likewise.
36290 * gensymlist.sh.in: Likewise.
36291 * genkernsyms.sh.in: Likewise.
36292 * include/grub/misc.h: Likewise.
36293 * include/grub/types.h: Likewise.
36294 * include/grub/symbol.h: Likewise.
36295 * include/grub/elf.h: Likewise.
36296 * include/grub/kernel.h: Likewise.
36297 * include/grub/disk.h: Likewise.
36298 * include/grub/dl.h: Likewise.
36299 * include/grub/i386/linux.h: Likewise.
36300 * include/grub/i386/pc/biosdisk.h: Likewise.
36301 * include/grub/efi/api.h: Likewise.
36302 * include/grub/efi/pe32.h: Likewise.
36303 * include/grub/util/misc.h: Likewise.
36304 * normal/execute.c: Likewise.
36305 * normal/arg.c: Likewise.
36306 * normal/completion.c: Likewise.
36307 * normal/lexer.c: Likewise.
36308 * normal/parser.y: Likewise.
36309 * normal/misc.c: Likewise.
36310 * commands/i386/pc/vbeinfo.c: Likewise.
36311 * commands/hexdump.c: Likewise.
36312 * commands/terminal.c: Likewise.
36313 * commands/ls.c: Likewise.
36314 * commands/help.c: Likewise.
36315 * partmap/pc.c: Likewise.
36316 * loader/efi/chainloader.c: Likewise.
36317 * loader/multiboot_loader.c: Likewise.
36318 * loader/i386/pc/multiboot2.c: Likewise.
36319 * term/efi/console.c: Likewise.
36320 * term/i386/pc/serial.c: Likewise.
36321 * util/lvm.c: Likewise.
36322 * util/console.c: Likewise.
36323 * util/i386/efi/grub-mkimage.c: Likewise.
36324 * util/raid.c: Likewise.
36325
7f02114b 363262009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36327
36328 * commands/videotest.c: Removed include to grub/machine/memory.h.
36329
36330 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36331 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36332 (video_mod_SOURCES): Removed.
36333 (video_mod_CFLAGS): Likewise.
36334 (video_mod_LDFLAGS): Likewise.
36335 (gfxterm_mod_SOURCES): Likewise.
36336 (gfxterm_mod_CFLAGS): Likewise.
36337 (gfxterm_mod_LDFLAGS): Likewise.
36338 (videotest_mod_SOURCES): Likewise.
36339 (videotest_mod_CFLAGS): Likewise.
36340 (videotest_mod_LDFLAGS): Likewise.
36341 (bitmap_mod_SOURCES): Likewise.
36342 (bitmap_mod_CFLAGS): Likewise.
36343 (bitmap_mod_LDFLAGS): Likewise.
36344 (tga_mod_SOURCES): Likewise.
36345 (tga_mod_CFLAGS): Likewise.
36346 (tga_mod_LDFLAGS): Likewise.
36347 (jpeg_mod_SOURCES): Likewise.
36348 (jpeg_mod_CFLAGS): Likewise.
36349 (jpeg_mod_LDFLAGS): Likewise.
36350 (png_mod_SOURCES): Likewise.
36351 (png_mod_CFLAGS): Likewise.
36352 (png_mod_LDFLAGS): Likewise.
36353
36354 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36355 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36356 (video_mod_SOURCES): Added.
36357 (video_mod_CFLAGS): Likewise.
36358 (video_mod_LDFLAGS): Likewise.
36359 (videotest_mod_SOURCES): Likewise.
36360 (videotest_mod_CFLAGS): Likewise.
36361 (videotest_mod_LDFLAGS): Likewise.
36362 (bitmap_mod_SOURCES): Likewise.
36363 (bitmap_mod_CFLAGS): Likewise.
36364 (bitmap_mod_LDFLAGS): Likewise.
36365 (tga_mod_SOURCES): Likewise.
36366 (tga_mod_CFLAGS): Likewise.
36367 (tga_mod_LDFLAGS): Likewise.
36368 (jpeg_mod_SOURCES): Likewise.
36369 (jpeg_mod_CFLAGS): Likewise.
36370 (jpeg_mod_LDFLAGS): Likewise.
36371 (png_mod_SOURCES): Likewise.
36372 (png_mod_CFLAGS): Likewise.
36373 (png_mod_LDFLAGS): Likewise.
36374 (gfxterm_mod_SOURCES): Likewise.
36375 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36376 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36377
36378 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36379 grub/machine/console.h.
36380
644fff97 363812009-01-04 Jerone Young <jerone@gmail.com>
36382
36383 Make on screen instructions clearer
36384
36385 Based on patch created by Jidanni <jidanni@jidanni.org>
36386
36387 * normal/menu.c: print clearer instructions on the screen
36388
1e901a75 363892009-01-02 Colin D Bennett <colin@gibibit.com>
36390
36391 New font engine.
34c44600 36392
1e901a75 36393 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36394 build system and fixed gfxterm.c to work with different sized fonts.
36395
36396 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36397
1e901a75 36398 * configure: Re-generated.
34c44600 36399
1e901a75 36400 * DISTLIST: Removed font/manager.c.
36401 Added font/font.c.
36402 Added font/font_cmd.c.
34c44600 36403
1e901a75 36404 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36405 compilation.
34c44600 36406
1e901a75 36407 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36408
36409 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36410
36411 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36412
1e901a75 36413 * normal/menu.c: Likewise.
34c44600 36414
1e901a75 36415 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36416 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36417
1e901a75 36418 * include/grub/font.h: Replaced with new file.
34c44600 36419
1e901a75 36420 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36421 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36422 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36423 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36424 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36425 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36426 fg_red, fg_green, fg_blue, fg_alpha.
36427 (grub_video_adapter): Removed blit_glyph.
34c44600 36428 (grub_video_blit_glyph): Removed.
36429
1e901a75 36430 * font/manager.c: Removed file.
34c44600 36431
36432 * font/font.c: New file.
36433
1e901a75 36434 * font/font_cmd.c: Likewise.
34c44600 36435
1e901a75 36436 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36437
1e901a75 36438 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36439 (grub_video_vbe_map_rgba): Likewise.
36440 (grub_video_vbe_unmap_color_int): Likewise.
36441 (grub_video_vbe_blit_glyph): Removed.
36442 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36443
1e901a75 36444 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36445 (get_pixel): Likewise.
34c44600 36446 (set_pixel): Likewise.
36447
1e901a75 36448 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36449
1e901a75 36450 * term/gfxterm.c: Adapted to new font engine.
34c44600 36451
1e901a75 36452 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36453
1e901a75 36454 * term/i386/pc/vga.c: Likewise.
34c44600 36455
1e901a75 36456 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36457
1e901a75 36458 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36459
1e901a75 36460 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36461
1e901a75 36462 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36463
1e901a75 36464 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36465
1e901a75 36466 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36467
1e901a75 36468 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36469
1e901a75 36470 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36471
1e901a75 36472 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36473
36474 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36475
1e901a75 36476 * util/grub-mkconfig_lib.in: Changed font extension.
36477
278922e8 364782008-12-28 Felix Zielcke <fzielcke@z-51.de>
36479
36480 * util/getroot.c (grub_util_get_grub_dev): Add support for
36481 /dev/md/dNNpNN style partitionable mdraid devices.
36482
3ced05cf 364832008-12-12 Alex Smith <alex@alex-smith.me.uk>
36484
36485 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36486 at a time limit of the PXE TFTP API correctly.
36487 (grub_pxefs_close): Likewise.
36488
7fd0ee30 364892008-11-29 Robert Millan <rmh@aybabtu.com>
36490
34c44600 36491 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36492 grub_ata_device_initialize() calls.
36493
34c44600 364942008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36495
36496 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36497 iteration failed.
36498 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36499
89313780 365002008-11-28 Robert Millan <rmh@aybabtu.com>
36501
36502 Fix build on powerpc-ieee1275. Based on patch created by
36503 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36504 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36505 `kern/ieee1275/mmap.c'.
36506 * include/grub/powerpc/ieee1275/memory.h: New file.
36507
15257703 36508 Provide grub-install on coreboot.
36509 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36510 (grub_install_SOURCES): New variable.
36511 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36512 usable on coreboot.
36513
9fc5388a 365142008-11-25 Felix Zielcke <fzielcke@z-51.de>
36515
36516 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36517 to `grub_term_input_t'.
36518 (grub_term_get_current_output): Change return type to
36519 `grub_term_output_t'.
36520
bc3a2f31 365212008-11-22 Robert Millan <rmh@aybabtu.com>
36522
34c44600 36523 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36524 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36525 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36526 grub_vga_text_cls().
36527
80fc88f2 36528 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36529 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36530
cbf36fd3 36531 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36532 to 0x200000 (avoids trouble with some OFW implementations, and matches
36533 with the one in Yaboot).
36534 Reported by Manoel Abranches
36535
73e8e268 365362008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36537
36538 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36539 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36540
73e8e268 36541 * util/grub-mkconfig_lib.in (grub_warn): New function.
36542 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36543 warnings, to obtain consistent formatting.
36544 * util/grub.d/00_header.in: Likewise.
36545 * util/update-grub_lib.in: Likewise.
36546
e94045a1 36547 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36548 Move comment text to `#error' stanza.
e94045a1 36549
79d29fd7 36550 Harmonize ieee1275's grub_available_iterate() with the generic
36551 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36552 build problem on i386-ieee1275):
36553 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36554 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36555 parameter `type'. Update all users of this function.
36556 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36557 `kern/ieee1275/mmap.c'.
36558 * kern/ieee1275/init.c
36559 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36560 with ...
36561 (grub_machine_mmap_iterate): ... this.
36562 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36563 return type to `grub_err_t'. Update all implementations of this
36564 function prototype.
36565 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36566 Likewise.
36567
60d6b16e 36568 Add `lsmmap' command (lists firmware-provided memory map):
36569 * commands/lsmmap.c: New file.
36570 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36571 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36572 variables.
36573 * conf/powerpc-ieee1275.rmk: Likewise.
36574 * conf/i386-coreboot.rmk: Likewise.
36575 * conf/i386-ieee1275.rmk: Likewise.
36576
ebaaf49b 365772008-11-19 Robert Millan <rmh@aybabtu.com>
36578
36579 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36580 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36581 constraints to initrd allocation (based on code from
36582 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36583 for Linux to find it.
ebaaf49b 36584
dfab719f 365852008-11-14 Robert Millan <rmh@aybabtu.com>
36586
36587 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36588 order to cope with duplicate slashes.
36589
10fc3eb9 365902008-11-14 Robert Millan <rmh@aybabtu.com>
36591
36592 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36593 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36594 don't want to mess with lower memory, because it is used in the Linux
36595 loader.
36596
36597 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36598 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36599 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36600 is in our heap (probably as a result of it being corrupted during
2f2a3442 36601 decompression). Add #error instance with comment to explain why this
36602 loader isn't currently usable on PC/BIOS.
10fc3eb9 36603
e2e07847 366042008-11-14 Robert Millan <rmh@aybabtu.com>
36605
36606 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36607 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36608
fe8e8d69 366092008-11-12 Robert Millan <rmh@aybabtu.com>
36610
36611 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36612
36613 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36614 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36615 from here ...
36616 * include/grub/i386/pc/memory.h: ... to here.
36617
976b07d0 366182008-11-12 Robert Millan <rmh@aybabtu.com>
36619
36620 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36621 split).
36622
36623 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36624 (grub_console_cur_color, grub_console_real_putchar)
36625 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36626 (grub_console_setcolorstate, grub_console_setcolor)
36627 (grub_console_getcolor): Move from here ...
36628 * include/grub/i386/vga_common.h: ... to here (new file).
36629
36630 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36631 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36632 `<grub/i386/io.h>'.
36633 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36634 `<grub/i386/vga_common.h>'.
36635
76679cd3 366362008-11-12 Robert Millan <rmh@aybabtu.com>
36637
36638 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36639 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36640 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36641 variables.
36642 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36643 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36644
36645 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36646 grub_console_init() with call to grub_vga_text_init().
36647 (grub_machine_fini): Replace call to
36648 grub_console_fini() with call to grub_vga_text_fini() and
36649 grub_at_keyboard_fini().
36650
36651 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36652 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36653 (grub_console_setcolorstate, grub_console_setcolor)
36654 (grub_console_getcolor): New function prototypes.
36655
36656 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36657 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36658 (grub_vga_text_setcursor): Static-ize.
36659 (grub_vga_text_term): New structure.
36660 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36661
36662 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36663 (grub_console_cur_color, grub_console_standard_color)
36664 (grub_console_normal_color, grub_console_highlight_color)
36665 (map_char, grub_console_putchar, grub_console_getcharwidth)
36666 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36667 (grub_console_getcolor): Move from here ...
36668 * term/i386/vga_common.c: ... to here (same function names).
36669
95b841d3 366702008-11-12 Robert Millan <rmh@aybabtu.com>
36671
36672 Use newly-added Multiboot support in coreboot.
36673
36674 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36675 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36676
36677 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36678 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36679 (codestart): Store the MBI in `startup_multiboot_info' when we're
36680 being loaded using Multiboot.
36681
36682 * kern/i386/coreboot/init.c (grub_machine_init): Move
36683 grub_at_keyboard_init() call to beginning of function (useful for
36684 debugging). Call grub_machine_mmap_init() before attempting to use
36685 grub_machine_mmap_iterate().
36686 (grub_lower_mem, grub_upper_mem): Move from here ...
36687 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36688 here (new file).
36689
36690 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36691 function prototype.
36692
761ca975 366932008-11-12 Robert Millan <rmh@aybabtu.com>
36694
36695 Fix a regression introduced by the at_keyboard.mod split. Because
36696 some terminals are default on some platforms and non-default on
36697 others, the first terminal being registered determines which is
36698 going to be default.
36699
36700 * kern/term.c (grub_term_register_input): If this is the first
36701 terminal being registered, set it as the current one.
36702 (grub_term_register_output): Likewise.
36703
36704 * term/efi/console.c (grub_console_init): Do not call
36705 grub_term_set_current_output() or grub_term_set_current_input().
36706 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36707 * term/i386/pc/console.c (grub_console_init): Likewise.
36708 (grub_console_fini): Do not call grub_term_set_current_input()
36709 (but leave grub_term_set_current_output() to restore text mode).
36710
6c529df7 367112008-11-10 Robert Millan <rmh@aybabtu.com>
36712
36713 * util/grub.d/00_header.in: Add backward compatibility check for
36714 versions of terminal.mod that don't understand `terminal_input' or
36715 `terminal_output'.
36716
132e4113 367172008-11-09 Robert Millan <rmh@aybabtu.com>
36718
36719 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36720 `terminal_input' / `terminal_output', not `terminal'.
36721
ac293d50 367222008-11-08 Robert Millan <rmh@aybabtu.com>
36723
36724 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36725 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36726
0025933a 367272008-11-08 Robert Millan <rmh@aybabtu.com>
36728
36729 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36730 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36731 members. Update all users.
36732 * util/console.c (grub_ncurses_term): Split in ...
36733 (grub_ncurses_term_input): ... this, and ...
36734 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36735 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36736
37c86336 367372008-11-08 Robert Millan <rmh@aybabtu.com>
36738
36739 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36740 (PKGDATA): Add $(pkgdata_SRCDIR).
36741 (pkglib_BUILDDIR): New variable.
36742 (pkgdata_SRCDIR): New variable.
36743 (build_env.mk): New target.
36744 (include_DATA): New variable.
36745 (install-local): Install $(include_DATA) files in $(includedir).
36746
b6c15a2d 367472008-11-07 Pavel Roskin <proski@gnu.org>
36748
d99d46f1 36749 * gendistlist.sh: Use C locale for sorting to ensure consistent
36750 output on all systems.
36751
b6c15a2d 36752 * util/grub.d/00_header.in: Remove incorrect space before
36753 "serial".
36754
c32ee8c9 367552008-11-07 Robert Millan <rmh@aybabtu.com>
36756
36757 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36758 per specification.
36759 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36760 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36761 (based on find_multi_boot1_header).
36762 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36763 using find_multi_boot2_header(), and abort if neither Multiboot or
36764 Multiboot headers were found.
36765
651c29b7 367662008-11-07 Robert Millan <rmh@aybabtu.com>
36767
36768 Modularize at_keyboard.mod:
36769
36770 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36771 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36772 (at_keyboard_mod_LDFLAGS): New variables.
36773
36774 Actual terminal split:
36775
36776 * include/grub/term.h (struct grub_term): Split in ...
36777 (struct grub_term_input): ... this, and ...
36778 (struct grub_term_output): ... this. Update all users.
36779 (grub_term_set_current): Split in ...
36780 (grub_term_set_current_input): ... this, and ...
36781 (grub_term_set_current_output): ... this.
36782 (grub_term_get_current): Split in ...
36783 (grub_term_get_current_input): ... this, and ...
36784 (grub_term_get_current_output): ... this.
36785 (grub_term_register): Split in ...
36786 (grub_term_register_input): ... this, and ...
36787 (grub_term_register_output): ... this.
36788 (grub_term_unregister): Split in ...
36789 (grub_term_unregister_input): ... this, and ...
36790 (grub_term_unregister_output): ... this.
36791 (grub_term_iterate): Split in ...
36792 (grub_term_iterate_input): ... this, and ...
36793 (grub_term_iterate_output): ... this.
36794
36795 * kern/term.c (grub_term_list): Split in ...
36796 (grub_term_list_input): ... this, and ...
36797 (grub_term_list_output): ... this. Update all users.
36798 (grub_cur_term): Split in ...
36799 (grub_cur_term_input): ... this, and ...
36800 (grub_cur_term_output): ... this. Update all users.
36801 (grub_term_set_current): Split in ...
36802 (grub_term_set_current_input): ... this, and ...
36803 (grub_term_set_current_output): ... this.
36804 (grub_term_get_current): Split in ...
36805 (grub_term_get_current_input): ... this, and ...
36806 (grub_term_get_current_output): ... this.
36807 (grub_term_register): Split in ...
36808 (grub_term_register_input): ... this, and ...
36809 (grub_term_register_output): ... this.
36810 (grub_term_unregister): Split in ...
36811 (grub_term_unregister_input): ... this, and ...
36812 (grub_term_unregister_output): ... this.
36813 (grub_term_iterate): Split in ...
36814 (grub_term_iterate_input): ... this, and ...
36815 (grub_term_iterate_output): ... this.
36816
36817 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36818 a check for input and one for output (and only attempt to get keys
36819 from user when input works).
36820
36821 * util/grub-probe.c (grub_term_get_current): Split in ...
36822 (grub_term_get_current_input): ... this, and ...
36823 (grub_term_get_current_output): ... this.
36824 * util/grub-fstest.c: Likewise.
36825 * util/i386/pc/grub-setup.c: Likewise.
36826 * util/grub-editenv.c: Likewise.
36827
36828 Portability adjustments:
36829
36830 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36831 `term/i386/pc/at_keyboard.c'.
36832 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36833 grub_keyboard_controller_init() (now handled by terminal .init).
36834 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36835 grub_at_keyboard_init().
36836 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36837 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36838 at_keyboard.mod via input terminal interface).
36839 * include/grub/i386/coreboot/console.h: Convert into a stub for
36840 `<grub/i386/pc/console.h>'.
36841
36842 Migrate full terminals to new API:
36843
36844 * term/efi/console.c (grub_console_term): Split into ...
36845 (grub_console_term_input): ... this, and ...
36846 (grub_console_term_output): ... this. Update all users.
36847 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36848 (grub_ofconsole_init): Split into ...
36849 (grub_ofconsole_init_input): ... this, and ...
36850 (grub_ofconsole_init_output): ... this.
36851 (grub_ofconsole_term): Split into ...
36852 (grub_ofconsole_term_input): ... this, and ...
36853 (grub_ofconsole_term_output): ... this. Update all users.
36854 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36855 (grub_serial_term_input): ... this, and ...
36856 (grub_serial_term_output): ... this. Update all users.
36857 * term/i386/pc/console.c (grub_console_term): Split into ...
36858 (grub_console_term_input): ... this, and ...
36859 (grub_console_term_output): ... this. Update all users.
36860 (grub_console_term_input): Only enable it on PC/BIOS platform.
36861 (grub_console_init): Remove grub_keyboard_controller_init() call.
36862
36863 Migrate input terminals to new API:
36864
36865 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36866 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36867 i386-specific anyway).
36868 (grub_console_checkkey): Rename to ...
36869 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36870 users.
36871 (grub_keyboard_controller_orig): New variable.
36872 (grub_console_getkey): Rename to ...
36873 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36874 users.
36875 (grub_keyboard_controller_init): Static-ize. Save original
36876 controller value so that it can be restored ...
36877 (grub_keyboard_controller_fini): ... here (new function).
36878 (grub_at_keyboard_term): New structure.
36879 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36880 functions.
36881
36882 Migrate output terminals to new API:
36883
36884 * term/i386/pc/vga.c (grub_vga_term): Change type to
36885 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36886 members. Update all users.
36887 * term/gfxterm.c (grub_video_term): Change type to
36888 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36889 members. Update all users.
36890 * include/grub/i386/pc/console.h (grub_console_checkkey)
36891 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36892 etc).
36893
36894 Migrate `terminal' command and userland tools to new API:
36895
36896 * commands/terminal.c (grub_cmd_terminal): Split into ...
36897 (grub_cmd_terminal_input): ... this, and ...
36898 (grub_cmd_terminal_output): ... this.
36899 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36900 `terminal_input' and `terminal_output'.
36901 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36902 `terminal_input' / `terminal_output' API.
36903 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36904 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36905 provided ${GRUB_TERMINAL}, convert it).
36906
96e5d876 369072008-11-04 Robert Millan <rmh@aybabtu.com>
36908
36909 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36910 for FreeBSD.
36911 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36912
556f3775 369132008-11-03 Bean <bean123ch@gmail.com>
36914
36915 * kern/elf.c (grub_elf32_load): Revert to previous code.
36916 (grub_elf64_load): Likewise.
36917
36918 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36919
926b9823 369202008-11-01 Robert Millan <rmh@aybabtu.com>
36921
36922 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36923 (TARGET_CPPFLAGS): Likewise.
36924 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36925
1432e958 369262008-11-01 Carles Pina i Estany <carles@pina.cat>
36927
36928 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36929
dba3f844 369302008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36931
36932 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36933 addition of objects until the code is not going to be able to fail.
36934
dba3f844 369352008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36936
36937 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36938 (add a missing NULL check, and correct them by moving the pointer
36939 operations after the actual check).
36940
7ab28c21 369412008-10-29 Robert Millan <rmh@aybabtu.com>
36942
36943 * util/i386/pc/grub-install.in: Handle empty string as output from
36944 make_system_path_relative_to_its_root().
36945
1b7748eb 369462008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36947
36948 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36949 circular metadata worst case scenario. If the metadata is circular
36950 then copy the wrap in place.
36951 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36952 project lib/format_text/layout.h
36953 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36954
c9618ab2 369552008-10-03 Felix Zielcke <fzielcke@z-51.de>
36956
7a36edca 36957 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36958
bf981c62 369592008-10-03 Felix Zielcke <fzielcke@z-51.de>
36960
36961 * util/update-grub_lib.in: Mention filename in warning message.
36962
6d994591 369632008-09-29 Felix Zielcke <fzielcke@z-51.de>
36964
36965 * NEWS: Update for rename of update-grub to grub-mkconfig.
36966
18ade780 369672008-09-29 Felix Zielcke <fzielcke@z-51.de>
36968
36969 * util/update-grub_lib.in: Copy to ...
36970 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 36971 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 36972 * util/update-grub.in: Rename to ...
36973 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36974 option. Add `--output' option to allow users to specify the generated
36975 configuration file. Default to stdout.
36976 (update_grub_dir): Rename to ...
36977 (grub_mkconfig_dir): ... this.
36978 (grub_cfg): Default to an empty string.
36979 * conf/common.rmk (update-grub): Rename to ...
36980 (grub-mkconfig): ... this.
36981 (update-grub_lib): Copy to ...
36982 (grub-mkconfig_lib): ... this.
36983 (update-grub_SCRIPTS): Copy to ...
36984 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36985 (update-grub_DATA): Rename to ...
36986 (grub-mkconfig_DATA): ... this.
36987
556ce6ac 369882008-09-28 Robert Millan <rmh@aybabtu.com>
36989
36990 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36991 to `modified'. Add the real `created' field.
36992 (grub_iso9660_uuid): Use `modified' rather than `created' for
36993 constructing the UUID.
36994
369952008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 36996
36997 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36998 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36999
92274e85 370002008-09-28 Bean <bean123ch@gmail.com>
37001
37002 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37003 Thanks to Christian Franke for finding this bug.
37004
add6f17a 370052008-09-25 Robert Millan <rmh@aybabtu.com>
37006
37007 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37008 instances of grub_util_get_disk_name() (see previous commit).
37009
d2a367b8 370102008-09-25 Robert Millan <rmh@aybabtu.com>
37011
37012 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37013 `util/i386/get_disk_name.c'.
37014 * conf/i386-efi.rmk: Likewise.
37015 * conf/x86_64-efi.rmk: Likewise.
37016 * conf/i386-coreboot.rmk: Likewise.
37017 * conf/i386-ieee1275.rmk: Likewise.
37018 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37019 `util/ieee1275/get_disk_name.c'.
37020 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37021 * util/ieee1275/get_disk_name.c: Remove file.
37022 * util/i386/get_disk_name.c: Remove file.
37023 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37024 "hd%d" for device.map entries, rather than using
37025 grub_util_get_disk_name().
37026
81a06771 370272008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37028
37029 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37030 warning.
37031 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37032
5a004279 370332008-09-24 Carles Pina i Estany <carles@pina.cat>
37034
37035 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37036 Changed to 0x5100.
37037 (GRUB_TERM_PPAGE): Changed to 0x4900.
37038
397093d3 370392008-09-24 Robert Millan <rmh@aybabtu.com>
37040
37041 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37042 macros (they were i386-pc specific).
37043 * include/grub/sparc64/ieee1275/console.h: Likewise.
37044 * include/grub/efi/console.h: Likewise.
37045
a91b6c7c 370462008-09-22 Bean <bean123ch@gmail.com>
37047
37048 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37049 resident and in attribute list.
37050
37051 * include/grub/ntfs.h (BMP_LEN): Removed.
37052
c40fd116 370532008-09-22 Bean <bean123ch@gmail.com>
37054
81a06771 37055 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37056 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37057
37058 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37059 error occurs, as grub_disk_open will call grub_disk_close, which will
37060 call p->close (scsi).
37061
81a06771 370622008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37063
37064 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37065 (AC_PREREQ): Bumped to 2.59.
37066 (AC_TRY_COMPILE): Replace obsolete macro with ...
37067 (AC_COMPILE_IFELSE): ... this.
37068 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37069 (AC_LINK_IFELSE): ... this.
37070
5dc43410 370712008-09-21 Felix Zielcke <fzielcke@z-51.de>
37072
37073 * autogen.sh: Add a call to `gendistlist.sh'.
37074
9035dce4 370752008-09-19 Christian Franke <franke@computer.org>
37076
37077 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37078 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37079 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37080 Export __enable_execute_stack() to modules.
37081 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37082 New function.
37083
7fd75377 370842008-09-09 Felix Zielcke <fzielcke@z-51.de>
37085
040030b3 37086 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37087 Sort the list.
37088
370892008-09-09 Felix Zielcke <fzielcke@z-51.de>
37090
37091 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37092 #include <grub/util/hostdisk.h>.
37093
89d5ffcf 370942008-09-08 Robert Millan <rmh@aybabtu.com>
37095
37096 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37097 segments when their filesz is zero (grub_file_read() interprets
81a06771 37098 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37099 Use `lowest_segment' rather than 0 for calculating the current
37100 segment load address.
37101
40da438f 371022008-09-08 Robert Millan <rmh@aybabtu.com>
37103
37104 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37105 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37106 clobbered useful information.
37107
ddbf5556 371082008-09-08 Robert Millan <rmh@aybabtu.com>
37109
37110 * include/grub/util/biosdisk.h: Move to ...
37111 * include/grub/util/hostdisk.h: ... here. Update all users.
37112 * util/biosdisk.c: Move to ...
37113 * util/hostdisk.c: ... here. Update all users.
37114
783d0f48 371152008-09-07 Robert Millan <rmh@aybabtu.com>
37116
37117 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37118 variables.
37119 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37120 and length can be stored directly in the `mbi->mmap_addr' and
37121 `mbi->mmap_length' struct fields.
37122
548e2ea5 371232008-09-07 Robert Millan <rmh@aybabtu.com>
37124
37125 * conf/i386.rmk: New file. Provides declaration for building
37126 `cpuid.mod'.
37127 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37128 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37129 variables.
37130 Include `conf/i386.mk'.
37131 * conf/i386-efi.rmk: Likewise.
37132 * conf/x86_64-efi.rmk: Likewise.
37133 * conf/i386-coreboot.rmk: Likewise.
37134 * conf/i386-ieee1275.rmk: Likewise.
37135
0ea85a37 371362008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37137
37138 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37139 Adds optimization support for BGR based modes.
37140
37141 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37142 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37143 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37144 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37145 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37146 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37147 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37148 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37149 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37150 (grub_video_i386_vbeblit_index_index): Likewise.
37151 (grub_video_i386_vbeblit_replace_directN): Added.
37152 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37153 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37154 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37155 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37156 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37157 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37158 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37159 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37160 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37161 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37162 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37163 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37164 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37165
37166 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37167 (grub_video_i386_vbefill_R8G8B8): Likewise.
37168 (grub_video_i386_vbefill_index): Likewise.
37169 (grub_video_i386_vbefill_direct32): Added.
37170 (grub_video_i386_vbefill_direct24): Likewise.
37171 (grub_video_i386_vbefill_direct16): Likewise.
37172 (grub_video_i386_vbefill_direct8): Likewise.
37173
81a06771 37174 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37175 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37176 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37177 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37178 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37179 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37180
0ea85a37 37181 * video/video.c (grub_video_get_blit_format): Updated to use new
37182 blit formats. Added handling for 16 bit color modes.
81a06771 37183
37184 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37185 fillers.
37186 (common_blitter): Updated to use new blitters.
37187
37188 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37189 Removed.
37190 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37191 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37192 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37193 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37194 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37195 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37196 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37197 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37198 (grub_video_i386_vbeblit_index_index): Likewise.
37199 (grub_video_i386_vbeblit_replace_directN): Added.
37200 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37201 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37202 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37203 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37204 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37205 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37206 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37207 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37208 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37209 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37210 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37211 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37212 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37213
0ea85a37 37214 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37215 (grub_video_i386_vbefill_R8G8B8): Likewise.
37216 (grub_video_i386_vbefill_index): Likewise.
37217 (grub_video_i386_vbefill_direct32): Added.
37218 (grub_video_i386_vbefill_direct24): Likewise.
37219 (grub_video_i386_vbefill_direct16): Likewise.
37220 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37221
0ea85a37 37222 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37223 types.
81a06771 37224
0ea85a37 37225 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37226 types.
81a06771 37227
0ea85a37 37228 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37229 blitter types.
81a06771 37230
0ea85a37 37231 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37232 types.
37233
e8a83df6 372342008-09-06 Felix Zielcke <fzielcke@z-51.de>
37235
37236 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37237 RAID level 1.
37238
6bcd8ee5 372392008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37240
6bcd8ee5 37241 * fs/iso9660.c (grub_iso9660_date): New structure.
37242 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37243 (grub_iso9660_uuid): New function.
c375ae58 37244
59261157 372452008-09-05 Bean <bean123ch@gmail.com>
37246
37247 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37248
37249 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37250 insensitive bit for names in Win32 and Win32 & DOS namespace.
37251
37252 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37253
37254 * include/grub/types.h (LONG_MAX): Likewise.
37255
58b6645a 372562008-09-04 Felix Zielcke <fzielcke@z-51.de>
37257
4ee55921 37258 * util/getroot.c: Include <config.h>.
37259 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37260 add support for /dev/md/N devices and handle LVM double dash escaping.
37261
372622008-09-04 Felix Zielcke <fzielcke@z-51.de>
37263
37264 * config.guess: Update to latest version from config git.
37265 * config.sub: Likewise.
58b6645a 37266
9124f65d 372672008-09-03 Robert Millan <rmh@aybabtu.com>
37268
37269 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37270 `disk->total_sectors'.
37271
81a06771 372722008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37273
37274 * include/grub/normal.h: Fixed incorrect comment for
37275 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37276
81a06771 372772008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37278
37279 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37280 values with defines.
37281
37282 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37283 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37284 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37285 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37286 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37287 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37288 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37289 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37290 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37291 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37292 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37293 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37294 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37295 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37296 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37297 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37298 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37299 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37300 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37301
93d5cbf8 373022008-08-31 Robert Millan <rmh@aybabtu.com>
37303
37304 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37305 declaration.
37306 (grub_multiboot): Fix a few warnings.
37307
21751d50 373082008-08-31 Robert Millan <rmh@aybabtu.com>
37309
37310 * loader/i386/pc/multiboot.c: Update comment not to say that
37311 boot_device support is unimplemented.
37312
e27a75c5 373132008-08-31 Robert Millan <rmh@aybabtu.com>
37314
37315 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37316 or memory map support are unimplemented.
37317
81a06771 373182008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37319
37320 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37321
81a06771 373222008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37323
37324 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37325 total video memory in 'vbeinfo' output; show color format details for
37326 each video mode.
37327
7c5d8d95 373282008-08-30 Pavel Roskin <proski@gnu.org>
37329
37330 * util/genmoddep.c: Remove for real this time.
37331 * DISTLIST: Remove util/genmoddep.c.
37332
4cebd25a 373332008-08-30 Robert Millan <rmh@aybabtu.com>
37334
37335 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37336 as required by Multiboot spec (it was already 4-byte aligned, but
37337 only by chance).
37338
b497a269 373392008-08-29 Pavel Roskin <proski@gnu.org>
37340
e3925185 37341 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37342 * kern/powerpc/ieee1275/startup.S: ... this.
37343 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37344 * DISTLIST: Likewise.
37345
b497a269 37346 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37347 grub/cpu/kernel.h. Add start label for consistency with other
37348 platforms. Add grub_prefix immediately after start. Add jump
37349 to the code after grub_prefix.
37350 * include/grub/powerpc/kernel.h: Provide valid values for
37351 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37352
6e5a42fe 373532008-08-29 Bean <bean123ch@gmail.com>
37354
37355 * configure.ac: Change host_os to cygwin for mingw.
37356 (asprintf): New check for function.
37357
37358 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37359 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37360
37361 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37362 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37363 sync, sleep and grub_util_get_disk_size for mingw.
37364
37365 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37366 to get size in mingw.
37367 (open_device): Use flag O_BINARY if it's defined.
37368 (find_root_device): Add dummy code for mingw.
37369
37370 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37371 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37372 (get_scsi_disk_name): Return 0 for mingw.
37373
37374 * util/hostfs.c: #include <grub/util/misc.h>.
37375 (grub_hostfs_open): Use "rb" flag to open file, use
37376 grub_util_get_disk_size to get disk size for mingw.
37377
37378 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37379 (asprintf): New function if HAVE_ASPRINTF is not set.
37380 (sync): New function for mingw.
37381 (sleep): Likewise.
37382 (grub_util_get_disk_size): Likewise.
37383
ab3f2673 373842008-08-28 Pavel Roskin <proski@gnu.org>
37385
37386 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37387 kern/time.c.
37388
1c282483 373892008-08-28 Robert Millan <rmh@aybabtu.com>
37390
37391 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37392
678e849c 373932008-08-28 Robert Millan <rmh@aybabtu.com>
37394
37395 Change find_grub_drive() syntax so it doesn't prevent it from
37396 detecting NULL names as errors.
37397
37398 * util/biosdisk.c (find_grub_drive): Move free slot search code
37399 from here ...
37400 (find_free_slot): ... to here.
37401 (read_device_map): Use find_free_slot() to search for free slots.
37402
965c75ca 374032008-08-27 Marco Gerards <marco@gnu.org>
37404
37405 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37406 (scsi_mod_SOURCES): New variable.
37407 (scsi_mod_CFLAGS): Likewise
37408 (scsi_mod_LDFLAGS): Likewise.
37409
37410 * disk/scsi.c: New file.
37411
37412 * include/grub/scsi.h: Likewise.
37413
37414 * include/grub/scsicmd.h: Likewise.
37415
37416 * disk/ata.c: Include <grub/scsi.h>.
37417 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37418 instead.
37419 (grub_ata_iterate): Skip ATAPI devices.
37420 (grub_ata_open): Only handle ATAPI devices.
37421 (struct grub_atapi_read): Removed.
37422 (grub_atapi_readsector): Likewise.
37423 (grub_ata_read): No longer handle ATAPI devices.
37424 (grub_ata_write): Likewise.
37425 (grub_atapi_iterate): New function.
37426 (grub_atapi_read): Likewise.
37427 (grub_atapi_write): Likewise.
37428 (grub_atapi_open): Likewise.
37429 (grub_atapi_close): Likewise.
37430 (grub_atapi_dev): New variable.
37431 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37432 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37433
37434 * include/grub/disk.h (enum grub_disk_dev_id): Add
37435 `GRUB_DISK_DEVICE_SCSI_ID'.
37436
c07ae501 374372008-08-26 Robert Millan <rmh@aybabtu.com>
37438
37439 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37440 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37441 descriptive.
37442
5ed20adc 374432008-08-23 Bean <bean123ch@gmail.com>
37444
37445 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37446 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37447 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37448 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37449 dm_nv.mod.
37450 (raid5rec_mod_SOURCES): New macro.
37451 (raid5rec_mod_CFLAGS): Likewise.
37452 (raid5rec_mod_LDFLAGS): Likewise.
37453 (raid6rec_mod_SOURCES): Likewise.
37454 (raid6rec_mod_CFLAGS): Likewise.
37455 (raid6rec_mod_LDFLAGS): Likewise.
37456 (mdraid_mod_SOURCES): Likewise.
37457 (mdraid_mod_CFLAGS): Likewise.
37458 (mdraid_mod_LDFLAGS): Likewise.
37459 (dm_nv_mod_SOURCES): Likewise.
37460 (dm_nv_mod_CFLAGS): Likewise.
37461 (dm_nv_mod_LDFLAGS): Likewise.
37462
37463 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37464 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37465 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37466
37467 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37468 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37469
37470 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37471
37472 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37473
37474 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37475
37476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37477
37478 * disk/raid5_recover.c: New file.
37479
37480 * disk/raid6_recover.c: Likewise.
37481
37482 * disk/mdraid_linux.c: Likewise.
37483
37484 * disk/dmraid_nvidia.c: Likewise.
37485
37486 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37487 ULONG_MAX.
37488
37489 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37490 calculate the size of raid device.
37491 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37492 different layout of raid5.
37493 (grub_raid_scan_device): Remove code specific to mdraid.
37494 (grub_raid_list): New variable.
37495 (free_array): New function.
37496 (grub_raid_register): Likewise.
37497 (grub_raid_unregister): Likewise.
37498 (grub_raid_rescan): Likewise.
37499 (GRUB_MOD_INIT): Don't iterate device here.
37500 (GRUB_MOD_FINI): Use free_array to release resource.
37501
37502 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37503 (grub_raid5_recover_func_t): New function variable type.
37504 (grub_raid6_recover_func_t): Likewise.
37505 (grub_raid5_recover_func): New variable.
37506 (grub_raid6_recover_func): Likewise.
37507 (grub_raid_register): New function.
37508 (grub_raid_unregister): Likewise.
37509 (grub_raid_rescan): Likewise.
37510 (grub_raid_block_xor): Likewise.
37511
37512 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37513 (CMD_CRC): New macro.
37514 (part): Removed.
37515 (read_file): Handle device as well as file.
37516 (cmd_crc): New function.
37517 (fstest): Handle multiple disks.
37518 (options): Remove part, raw and long, add root and diskcount.
37519 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37520 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37521 add handling for the new options, support multiple disks.
37522
37523 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37524
29c18915 375252008-08-23 Bean <bean123ch@gmail.com>
37526
37527 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37528
37529 * genfslist.sh: Ignore kernel.mod.
37530
37531 * genpartmaplist.sh: Likewise.
37532
8415f261 375332008-08-23 Robert Millan <rmh@aybabtu.com>
37534
37535 * util/getroot.c (find_root_device): Skip anything that starts with
37536 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37537
d5a7dc5b 375382008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37539
d5a7dc5b 37540 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37541 * util/grub.d/00_header.in: Allow the administrator to change default
37542 gfxmode via ${GRUB_GFXMODE}.
37543
380cfbb4 375442008-08-21 Felix Zielcke <fzielcke@z-51.de>
37545
37546 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37547
c9baafe7 375482008-08-21 Robert Millan <rmh@aybabtu.com>
37549
37550 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37551 loader.
37552 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37553 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37554
e290bef2 375552008-08-20 Carles Pina i Estany <carles@pina.cat>
37556
37557 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37558 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37559
f9dbfc96 375602008-08-19 Robert Millan <rmh@aybabtu.com>
37561
37562 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37563 (struct grub_virtual_screen): Remove `cursor_color'.
37564 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37565 initialization.
37566 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37567
dd6bd6ab 375682008-08-18 Robert Millan <rmh@aybabtu.com>
37569
37570 Unify (identical) linux_normal.c files.
37571 * loader/i386/efi/linux_normal.c: Move from here ...
37572 * loader/linux_normal.c: ... to here. Update all users.
37573 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37574 * loader/i386/ieee1275/linux_normal.c: Likewise.
37575
7f42f83e 375762008-08-18 Robert Millan <rmh@aybabtu.com>
37577
37578 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37579 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37580 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37581 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37582 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37583 New macros.
37584 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37585 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37586 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37587 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37588 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37589 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37590 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37591 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37592 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37593 portably using grub_getxy().
37594 Replace `-EFI' with `-bzImage' in boot message.
37595
38487ddb 375962008-08-17 Robert Millan <rmh@aybabtu.com>
37597
37598 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37599
deceb3ec 376002008-08-17 Robert Millan <rmh@aybabtu.com>
37601
37602 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37603
37604 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37605 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37606 (grub_machine_mmap_iterate): New function declaration.
37607 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37608 structure.
37609 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37610 macros.
37611
37612 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37613 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37614 Move e820 parsing from here ...
37615 * kern/i386/pc/mmap.c: New file.
37616 (grub_machine_mmap_iterate): ... to here.
37617
37618 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37619 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37620 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37621 (grub_available_iterate): Redeclare to return `void', and redeclare
37622 its hook to use grub_uint64_t as addr and size parameters, and rename
37623 to ...
37624 (grub_machine_mmap_iterate): ... this. Update all users.
37625
37626 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37627 to make it more readable. Rename to ...
37628 (grub_machine_mmap_iterate): ... this.
37629
37630 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37631 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37632 (grub_multiboot): Allocate an extra region after the payload, and fill
37633 it with a Multiboot memory map. Adjust a.out loader to calculate size
37634 with the extra space.
37635 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37636 with the extra space.
37637
f8aa0f43 376382008-08-17 Carles Pina i Estany <carles@pina.cat>
37639
9807deb9 37640 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 37641
605f5bb6 376422008-08-17 Felix Zielcke <fzielcke@z-51.de>
37643
37644 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37645 mdate-sh to the list `find' searches for.
37646 * DISTLIST: Regenerated.
37647
210db6c6 376482008-08-16 Felix Zielcke <fzielcke@z-51.de>
37649
37650 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37651 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 37652 genmoddep.awk, gensymlist.sh.in.
37653 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 37654 * DISTLIST: Regenerated.
48cdbfd4 37655 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 37656
1082b929 376572008-08-16 Robert Millan <rmh@aybabtu.com>
37658
37659 * disk/raid.c (grub_raid_init): Handle/report errors set by
37660 grub_device_iterate().
37661 * disk/lvm.c (grub_lvm_init): Likewise.
37662
42ce5170 376632008-08-15 Bean <bean123ch@gmail.com>
37664
37665 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37666 and datehook.mod.
37667 (datetime_mod_SOURCES): New macro.
37668 (datetime_mod_CFLAGS): Likewise.
37669 (datetime_mod_LDFLAGS): Likewise.
37670 (date_mod_SOURCES): Likewise.
37671 (date_mod_CFLAGS): Likewise.
37672 (date_mod_LDFLAGS): Likewise.
37673 (datehook_mod_SOURCES): Likewise.
37674 (datehook_mod_CFLAGS): Likewise.
37675 (datehook_mod_LDFLAGS): Likewise.
37676
37677 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37678 and datehook.mod.
37679 (datetime_mod_SOURCES): New macro.
37680 (datetime_mod_CFLAGS): Likewise.
37681 (datetime_mod_LDFLAGS): Likewise.
37682 (date_mod_SOURCES): Likewise.
37683 (date_mod_CFLAGS): Likewise.
37684 (date_mod_LDFLAGS): Likewise.
37685 (datehook_mod_SOURCES): Likewise.
37686 (datehook_mod_CFLAGS): Likewise.
37687 (datehook_mod_LDFLAGS): Likewise.
37688
37689 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37690 and datehook.mod.
37691 (datetime_mod_SOURCES): New macro.
37692 (datetime_mod_CFLAGS): Likewise.
37693 (datetime_mod_LDFLAGS): Likewise.
37694 (date_mod_SOURCES): Likewise.
37695 (date_mod_CFLAGS): Likewise.
37696 (date_mod_LDFLAGS): Likewise.
37697 (datehook_mod_SOURCES): Likewise.
37698 (datehook_mod_CFLAGS): Likewise.
37699 (datehook_mod_LDFLAGS): Likewise.
37700
37701 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37702 and datehook.mod.
37703 (datetime_mod_SOURCES): New macro.
37704 (datetime_mod_CFLAGS): Likewise.
37705 (datetime_mod_LDFLAGS): Likewise.
37706 (date_mod_SOURCES): Likewise.
37707 (date_mod_CFLAGS): Likewise.
37708 (date_mod_LDFLAGS): Likewise.
37709 (datehook_mod_SOURCES): Likewise.
37710 (datehook_mod_CFLAGS): Likewise.
37711 (datehook_mod_LDFLAGS): Likewise.
37712
37713 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37714 and datehook.mod.
37715 (datetime_mod_SOURCES): New macro.
37716 (datetime_mod_CFLAGS): Likewise.
37717 (datetime_mod_LDFLAGS): Likewise.
37718 (date_mod_SOURCES): Likewise.
37719 (date_mod_CFLAGS): Likewise.
37720 (date_mod_LDFLAGS): Likewise.
37721 (datehook_mod_SOURCES): Likewise.
37722 (datehook_mod_CFLAGS): Likewise.
37723 (datehook_mod_LDFLAGS): Likewise.
37724
37725 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37726
37727 * commands/date.c: New file.
37728
37729 * hook/datehook.c: Likewise.
37730
37731 * include/grub/lib/datetime.h: Likewise.
37732
37733 * include/grub/i386/cmos.h: Likewise.
37734
37735 * lib/datetime.c: Likewise.
37736
37737 * lib/i386/datetime.c: Likewise.
37738
37739 * lib/efi/datetime.c: Likewise.
37740
0e9242da 377412008-08-14 Robert Millan <rmh@aybabtu.com>
37742
37743 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37744 (grub_mkelfimage_SOURCES): New variable.
37745 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37746
37747 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37748 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37749 * conf/powerpc-ieee1275.rmk: Likewise.
37750 * conf/i386-ieee1275.rmk: Likewise.
37751
37752 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37753 * kern/i386/coreboot/init.c: Likewise.
37754
37755 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37756 with `<grub/cpu/kernel.h>'.
37757 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37758 to ...
37759 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37760 * kern/i386/coreboot/startup.S: Likewise.
37761
37762 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37763 (GRUB_MOD_GAP): Remove.
37764 * include/grub/powerpc/kernel.h: New file.
37765 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37766 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37767 * include/grub/i386/kernel.h: New file.
37768 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37769 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37770 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37771
37772 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37773 `grub-mkelfimage'.
37774 Use --directory when invoking grub_mkimage.
37775
37776 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37777 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37778 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37779 and GRUB_KERNEL_CPU_PREFIX.
37780
b86408f8 377812008-08-14 Felix Zielcke <fzielcke@z-51.de>
37782
d5e619ca 37783 * include/grub/err.h (grub_err_printf): New function prototype.
37784 * util/misc.c (grub_err_printf): New function.
37785 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37786 grub_printf.
37787 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37788
7161f0e0 377892008-08-13 Robert Millan <rmh@aybabtu.com>
37790
37791 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37792
a1967522 377932008-08-13 Robert Millan <rmh@aybabtu.com>
37794
37795 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37796 boot entry.
37797
371458b5 377982008-08-12 Robert Millan <rmh@aybabtu.com>
37799
37800 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37801 of the relocation code from here ...
37802 (grub_multiboot): ... to here.
37803 (forward_relocator, backward_relocator): Move from here ...
37804 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37805 (grub_multiboot_backward_relocator): ... to here.
37806 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37807 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37808 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37809 (grub_multiboot_forward_relocator_end)
37810 (grub_multiboot_backward_relocator)
37811 (grub_multiboot_backward_relocator_end): New variables.
37812
05f9452b 378132008-08-12 Bean <bean123ch@gmail.com>
37814
37815 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37816
20024ab0 378172008-08-11 Robert Millan <rmh@aybabtu.com>
37818
37819 * kern/i386/linuxbios/startup.S: Move from here ...
37820 * kern/i386/coreboot/startup.S: ... to here.
37821
37822 * kern/i386/linuxbios/init.c: Move from here ...
37823 * kern/i386/coreboot/init.c: ... to here.
37824
37825 * kern/i386/linuxbios/table.c: Move from here ...
37826 * kern/i386/coreboot/mmap.c: ... to here.
37827
37828 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37829
e352e9cd 378302008-08-11 Robert Millan <rmh@aybabtu.com>
37831
37832 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37833 errors. Leave it to the upper layer to handle them.
37834
2d05bc6a 378352008-08-09 Christian Franke <franke@computer.org>
37836
37837 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37838 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37839 Install `grub.d/10_windows' only on Cygwin.
37840 * configure.ac: Add subst of `target_os'.
37841 Check `target_os' also before setting TARGET_OBJ2ELF.
37842 Add `--enable-grub-pe2elf'.
37843
042bd419 378442008-08-08 Robert Millan <rmh@aybabtu.com>
37845
37846 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37847 (grub_last_time): Change type to grub_uint64_t.
37848 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37849 (grub_disk_close): Likewise.
37850
37851 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37852 (run_menu): Migrate code from to using grub_get_time_ms().
37853
37854 * util/misc.c (grub_get_time_ms): New function.
37855
7f280db5 378562008-08-08 Marco Gerards <marco@gnu.org>
37857
37858 * disk/ata.c (grub_ata_regget): Change return type to
37859 `grub_uint8_t'.
37860 (grub_ata_regget2): Likewise.
37861 (grub_ata_wait_status): New function.
37862 (grub_ata_wait_busy): Removed function, updated all users to use
37863 `grub_ata_wait_status'.
37864 (grub_ata_wait_drq): Likewise.
37865 (grub_ata_cmd): New function.
37866 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37867 error handling.
37868 (grub_ata_pio_write): Add error handling.
37869 (grub_atapi_identify): Likewise.
37870 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37871 handling.
37872 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37873 handling. Actually use the detected registers. Reorder the
37874 detection logic such that it is easier to read.
37875 (grub_ata_pciinit): Do not assign the same ID to each controller.
37876 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37877 handling.
37878 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37879
37880 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37881
1fbc5e66 378822008-08-08 Marco Gerards <marco@gnu.org>
37883
37884 * NEWS: Update.
37885
819ce6c0 378862008-08-07 Bean <bean123ch@gmail.com>
37887
37888 * include/grub/x86_64/pci.h: New file.
37889
5c41d44d 378902008-08-07 Christian Franke <franke@computer.org>
37891
37892 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37893 (TIMER2_GATE): Likewise.
37894 (grub_pit_wait): Add enable/disable of the timer2 gate
37895 bit of port 0x61. This fixes a possible infinite loop.
37896
5ebc275d 378972008-08-07 Bean <bean123ch@gmail.com>
37898
37899 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37900 kern/i386/tsc.c and kern/i386/pit.c.
37901
37902 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37903 x86_64 platform.
37904
37905 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37906 <grub/i386/tsc.h>.
37907
37908 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37909
e383b3d0 379102008-08-07 Bean <bean123ch@gmail.com>
37911
37912 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37913
37914 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37915
37916 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37917 multiple inclusion. Add #include <grub/types.h>.
37918
1cbb58ac 379192008-08-06 Christian Franke <franke@computer.org>
37920
37921 * conf/common.rmk: Build and install `10_windows'.
37922 * util/grub.d/10_windows.in: New script.
37923
337f5a1e 379242008-08-06 Pavel Roskin <proski@gnu.org>
37925
37926 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37927
057bc4ac 379282008-08-06 Robert Millan <rmh@aybabtu.com>
37929
37930 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37931 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37932
2b99f123 379332008-08-06 Bean <bean123ch@gmail.com>
37934
37935 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37936 (grub_pxefs_fs_int): Remove dummy definition.
37937 (grub_pxefs_open): Use data->block_size to store the current block
37938 size setting.
37939 (grub_pxefs_read): Use block size stored in data->block_size. As the
37940 value of grub_pxe_blksize can be changed after the file is opened.
37941
9f0234cb 379422008-08-06 Bean <bean123ch@gmail.com>
37943
37944 * fs/i386/pc/pxe.c (curr_file): new variable.
37945 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37946 require the dummy internal file system anymore.
37947 (grub_pxefs_read): Removed.
37948 (grub_pxefs_close): Likewise.
37949 (grub_pxefs_fs_int): Likewise.
37950 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37951 connection when we switch file.
37952 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37953
a55d42e0 379542008-08-06 Robert Millan <rmh@aybabtu.com>
37955
37956 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37957 `halt.mod'.
37958 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37959 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37960
37961 * kern/i386/halt.c: New file.
37962 * kern/i386/reboot.c: Likewise.
37963 * include/grub/i386/reboot.h: Likewise.
37964 * include/grub/i386/halt.h: Likewise.
37965
37966 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37967 Include `<grub/cpu/halt.h>'.
37968 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37969 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37970
37971 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37972 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37973 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37974 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37975 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37976 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37977 from here ...
37978 * include/grub/i386/at_keyboard.h: ... to here.
37979
24371d26 379802008-08-05 Robert Millan <rmh@aybabtu.com>
37981
37982 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37983 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37984 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37985 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37986 `kern/generic/millisleep.c'.
37987
37988 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37989 instead of grub_get_rtc().
37990 (grub_tsc_init): Initialize `tsc_boot_time'.
37991
37992 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37993 (grub_machine_init): Use grub_tsc_init() rather than
37994 installing an RTC-based handler via grub_install_get_time_ms().
37995
37996 * kern/i386/pit.c: New file.
37997 * include/grub/i386/pit.h: Likewise.
37998
9e7007b3 379992008-08-05 Bean <bean123ch@gmail.com>
38000
38001 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38002
38003 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38004 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38005 (pxe_mod_SOURCES): New macro.
38006 (pxe_mod_CFLAGS): Likewise.
38007 (pxe_mod_LDFLAGS): Likewise.
38008 (pxecmd_mod_SOURCES): Likewise.
38009 (pxecmd_mod_CFLAGS): Likewise.
38010 (pxecmd_mod_LDFLAGS): Likewise.
38011
38012 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38013 (grub_pxe_call): Likewise.
38014
38015 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38016
38017 * commands/i386/pc/pxecmd.c: New file.
38018
9f0234cb 38019 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38020
38021 * include/grub/i386/pc/pxe.h: Likewise.
38022
6977d49f 380232008-08-05 Bean <bean123ch@gmail.com>
38024
38025 * util/console.c (grub_console_cur_color): New variable.
38026 (grub_console_standard_color): Likewise.
38027 (grub_console_normal_color): Likewise.
38028 (grub_console_highlight_color): Likewise.
38029 (color_map): Likewise.
38030 (use_color): Likewise.
38031 (NUM_COLORS): New macro.
38032 (grub_ncurses_setcolorstate): Handle color properly.
38033 (grub_ncurses_setcolor): Don't change color here, just remember the
38034 settings, color will be set in grub_ncurses_setcolorstate.
38035 (grub_ncurses_getcolor): New function.
38036 (grub_ncurses_init): Initialize color pairs.
38037 (grub_ncurses_term): New member grub_ncurses_getcolor.
38038
9c2ff3ee 380392008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38040
9c2ff3ee 38041 High resolution timer support. Implemented for x86 CPUs using TSC.
38042 Extracted generic grub_millisleep() so it's linked in only as needed.
38043 This requires a Pentium compatible CPU; if the RDTSC instruction is
38044 not supported, then it falls back on the generic grub_get_time_ms()
38045 implementation that uses the machine's RTC.
38046
38047 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38048 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38049 `kern/generic/millisleep.c'.
38050
38051 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38052 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38053
38054 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38055 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38056
38057 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38058
38059 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38060 `kern/generic/millisleep.c'.
38061
38062 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38063
38064 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38065
38066 * kern/generic/rtc_get_time_ms.c: New file.
38067
38068 * kern/generic/millisleep.c: New file.
337f5a1e 38069
9c2ff3ee 38070 * kern/misc.c: Don't include
38071 <kern/time.h> anymore.
38072 (grub_millisleep_generic): Removed.
38073
38074 * commands/sleep.c (grub_interruptible_millisleep): Uses
38075 grub_get_time_ms() instead of grub_get_rtc().
38076
38077 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38078 function.
38079 (grub_cpu_is_cpuid_supported): New inline function.
38080 (grub_cpu_is_tsc_supported): New inline function.
38081 (grub_tsc_init): New function prototype.
38082 (grub_tsc_get_time_ms): New function prototype.
38083
38084 * kern/i386/tsc.c (grub_get_time_ms): New file.
38085
38086 * include/grub/time.h: Include <grub/types.h.
38087 (grub_millisleep_generic): Removed.
38088 (grub_get_time_ms): New prototype.
38089 (grub_install_get_time_ms): New prototype.
38090 (grub_rtc_get_time_ms): New prototype.
38091
38092 * kern/time.c (grub_get_time_ms): New function.
38093 (grub_install_get_time_ms): New function.
38094
38095 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38096 <grub/time.h> anymore.
38097 (grub_millisleep): Removed.
38098 (grub_machine_init): Call grub_tsc_init.
38099
38100 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38101 get_time_ms() implementation.
38102
38103 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38104 (ieee1275_get_time_ms): New function.
38105 (grub_machine_init): Install get_time_ms() implementation.
38106
38107 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38108 (grub_machine_init): Call grub_tsc_init().
38109 (grub_millisleep): Removed.
bf06a93f 38110
9c2ff3ee 38111 * kern/ieee1275/init.c (grub_millisleep): Removed.
38112 (grub_machine_init): Install ieee1275_get_time_ms()
38113 implementation.
38114 (ieee1275_get_time_ms): New function.
38115 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38116 real work.
38117
9ec92aaf 381182008-08-05 Marco Gerards <marco@gnu.org>
38119
38120 * disk/ata.c: Include <grub/pci.h>.
38121 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38122 (grub_ata_initialize): Rewritten.
38123 (grub_ata_device_initialize): New function.
38124
8d23f507 381252008-08-04 Pavel Roskin <proski@gnu.org>
38126
38127 * kern/main.c: Include grub/mm.h.
38128
5e15ee3d 381292008-08-04 Robert Millan <rmh@aybabtu.com>
38130
38131 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38132 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38133 corruption problem).
38134
a9053f8f 381352008-08-04 Robert Millan <rmh@aybabtu.com>
38136
38137 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38138 warnings introduced in my last commit.
38139
dd19c7d7 381402008-08-03 Robert Millan <rmh@aybabtu.com>
38141
38142 Make PCI available on all i386 architectures.
38143
38144 * include/grub/i386/pc/pci.h: Move from here ...
38145 * include/grub/i386/pci.h: ... to here.
38146
38147 * include/grub/i386/pc/pci.h: Remove.
38148 * include/grub/i386/efi/pci.h: Remove.
38149 * include/grub/x86_64/efi/pci.h: Remove.
38150
38151 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38152 `<grub/cpu/pci.h>'.
38153
38154 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38155 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38156 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38157
38158 * conf/i386-ieee1275.rmk: Likewise.
38159
e14a6184 381602008-08-03 Robert Millan <rmh@aybabtu.com>
38161
38162 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38163 (grub_console_setcursor): Make it possible to set cursor off.
38164
52768e37 381652008-08-03 Robert Millan <rmh@aybabtu.com>
38166
38167 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38168 of modules instead of assuming which platform provides what.
38169 * util/update-grub.in: Likewise.
38170
2d52f57f 381712008-08-03 Robert Millan <rmh@aybabtu.com>
38172
38173 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38174 instead of `grub_install_dos_part' to determine whether a drive needs
38175 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38176 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38177
2a5cd121 381782008-08-02 Robert Millan <rmh@aybabtu.com>
38179
38180 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38181
93808428 381822008-08-02 Robert Millan <rmh@aybabtu.com>
38183
38184 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38185 of informational grub_dprintf() calls.
38186
3bd0a12a 381872008-08-02 Robert Millan <rmh@aybabtu.com>
38188
38189 * disk/memdisk.c (memdisk_size): Don't initialize.
38190 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38191
38192 * include/grub/i386/pc/kernel.h
38193 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38194 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38195 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38196 (grub_arch_memdisk_size): Remove.
38197
38198 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38199 field (was only used to transfer a constant). Add `type' field to
38200 support multiple module types.
38201 (grub_module_iterate): New function.
38202
38203 * kern/device.c (grub_device_open): Do not hide error messages
38204 when grub_disk_open() fails. Use grub_print_error() instead.
38205
38206 * kern/i386/pc/init.c (grub_arch_modules_addr)
38207 (grub_arch_memdisk_size): Remove functions.
38208 (grub_arch_modules_addr): Return the module address in high memory
38209 (now that it isn't copied anymore).
38210
38211 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38212 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38213 decompression routine (grub_total_module_size already includes that
38214 now). Don't copy modules back to low memory.
38215
38216 * kern/main.c: Include `<grub/mm.h>'.
38217 (grub_load_modules): Split out (and use) ...
38218 (grub_module_iterate): ... this function, which iterates through
38219 module objects and runs a hook.
38220 Comment out grub_mm_init_region() call, as it would cause non-ELF
38221 modules to be overwritten.
38222
38223 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38224 the memdisk image in its own region, make it part of the module list.
38225 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38226 (main): Parse --memdisk|-m option, and pass user-provided path as
38227 parameter to generate_image().
38228 (add_segments): Pass `memdisk_path' down to load_modules().
38229 (load_modules): Embed memdisk image in module section when requested.
38230 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38231 `header.type' instead of `header.offset'.
38232
38233 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38234 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38235 (memdisk_mod_LDFLAGS): New variables.
38236 * conf/i386-coreboot.rmk: Likewise.
38237 * conf/i386-ieee1275.rmk: Likewise.
38238
a927cc73 382392008-08-02 Robert Millan <rmh@aybabtu.com>
38240
38241 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38242 (backward_relocator): New variables. Used to allocate and relocate
38243 the payload, respectively.
38244 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38245 address, install the appropriate relocator code in each bound of
a927cc73 38246 the payload, and set the entry point such that
38247 grub_multiboot_real_boot() will jump to one of them.
38248
38249 * kern/i386/loader.S (grub_multiboot_payload_size)
38250 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38251 (grub_multiboot_payload_entry_offset): New variables.
38252 (grub_multiboot_real_boot): Set cpu context to what the relocator
38253 expects, and jump to the relocator instead of the payload.
38254
38255 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38256 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38257 (grub_multiboot_payload_entry_offset): Export.
38258
b15d8a0c 382592008-08-01 Bean <bean123ch@gmail.com>
38260
38261 * normal/menu_entry.c (editor_getline): Don't return the original
38262 string as result, as it will be released by lexer once it has done
38263 using it.
38264
cdfb3d22 382652008-08-01 Robert Millan <rmh@aybabtu.com>
38266
38267 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38268 within menuentries, not before them.
38269 util/grub.d/10_hurd.in: Likewise.
38270
9175e93d 382712008-08-01 Bean <bean123ch@gmail.com>
38272
38273 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38274 (bufio_mod_SOURCES): New macro.
38275 (bufio_mod_CFLAGS): Likewise.
38276 (bufio_mod_LDFLAGS): Likewise.
38277
38278 * include/grub/bufio.h: New file.
38279
38280 * io/bufio.c: Likewise.
38281
38282 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38283 (grub_video_reader_png): Use grub_buffile_open to open file.
38284
38285 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38286 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38287
38288 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38289 (grub_video_reader_tga): Use grub_buffile_open to open file.
38290
38291 * font/manager.c: Include <grub/bufio.h>.
38292 (add_font): Use grub_buffile_open to open file.
38293
3d8383e7 382942008-07-31 Robert Millan <rmh@aybabtu.com>
38295
38296 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38297 ELF segments, use a macro for arbitrarily accessing any of them instead
38298 of preparing a pointer that allows access to one at a time.
38299 (grub_multiboot_load_elf64): Likewise.
38300
16e641b6 383012008-07-31 Bean <bean123ch@gmail.com>
38302
38303 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38304 GRUB_KERNEL_MACHINE_DATA_END.
38305
59198b72 383062008-07-30 Robert Millan <rmh@aybabtu.com>
38307
38308 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38309 Increase from 0x50 to 0x60.
38310 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38311 use UUIDs to identify the root drive for them. If that's not
38312 possible, abort.
38313 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38314 check, for cross-disk installs.
38315
ae88bca3 383162008-07-30 Robert Millan <rmh@aybabtu.com>
38317
38318 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38319 is non-empty, use it to set the `prefix' environment variable instead
38320 of the usual approach.
38321 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38322 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38323 environment variable instead of dummy make_install_device().
38324
38325 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38326 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38327 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38328
38329 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38330 New variable reference.
38331 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38332 New macro. Defines offset of `grub_prefix' within startup.S (relative
38333 to `start').
38334 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38335 section within startup.S (relative to `start').
38336 * include/grub/i386/coreboot/kernel.h: Likewise.
38337
38338 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38339 Overwrite grub_prefix with its contents, at the beginning of the
38340 first segment.
38341 (main): Understand -p|--prefix.
38342
14f41dd1 383432008-07-30 Robert Millan <rmh@aybabtu.com>
38344
38345 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38346
4ca049a3 383472008-07-30 Robert Millan <rmh@aybabtu.com>
38348
38349 * term/i386/pc/vga_text.c (grub_console_cls): Use
38350 grub_console_gotoxy() to go back to beginning of the screen.
38351 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38352
2921d337 383532008-07-29 Christian Franke <franke@computer.org>
38354
38355 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38356 Add conversion of emulated mount points on Cygwin.
38357
b609876d 383582008-07-29 Christian Franke <franke@computer.org>
38359
38360 * util/update-grub.in: Add a check for admin
38361 group on Cygwin.
38362 Remove old `grub.cfg.new' before creation.
38363 Add `-f' to `mv' to handle the different filesystem
38364 semantics of Windows.
38365
e93e4679 383662008-07-29 Bean <bean123ch@gmail.com>
38367
38368 * normal/main.c (get_line): Fix buffer overflow bug.
38369
41694fd0 383702008-07-28 Robert Millan <rmh@aybabtu.com>
38371
38372 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38373 (struct grub_apple_header): New struct. Describes the layout of
38374 the partmap header.
38375 (apple_partition_map_iterate): Check the header magic as well as the
38376 partition magic (which was already being checked).
38377
cfd0b4e6 383782008-07-28 Pavel Roskin <proski@gnu.org>
38379
38380 * genmk.rb: Add a warning to the beginning of the output that
38381 it's a generated file and should not be edited.
38382
93cce016 383832008-07-28 Robert Millan <rmh@aybabtu.com>
38384
38385 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38386 with the same number are found, just use issue a warning with
38387 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38388
cd1df915 383892008-07-27 Robert Millan <rmh@aybabtu.com>
38390
38391 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38392 information.
38393
b70a8427 383942008-07-27 Bean <bean123ch@gmail.com>
38395
38396 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38397 (grub_fat_find_dir): Ignore case when comparing filename.
38398
8f5e379f 383992008-07-27 Bean <bean123ch@gmail.com>
38400
38401 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38402 smallino, as it's more descriptive, and i8count can be confused with
38403 the other field count.
38404 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38405 inode type.
38406
a85cd5a0 384072008-07-27 Bean <bean123ch@gmail.com>
38408
38409 * commands/crc.c: New file.
38410
38411 * lib/crc.c: Likewise.
38412
38413 * include/grub/lib/crc.h: Likewise.
38414
38415 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38416
38417 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38418 (hexdump): Move this function to ...
38419
38420 * lib/hexdump.c: ... here.
38421
38422 * include/grub/hexdump.h: Renamed to ...
38423
38424 * include/grub/lib/hexdump.h: ... this.
38425
38426 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38427
38428 * util/grub-editenv.c: Likewise.
38429
38430 * include/envblk.h: Renamed to ...
38431
38432 * include/lib/envblk.h: ... this.
38433
38434 * util/envblk.c: Renamed to ...
38435
38436 * lib/envblk.c: ... this.
38437
38438 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38439 lib/hexdump.c.
38440 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38441 (pkglib_MODULES): Add crc.mod.
38442 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38443 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38444 (crc_mod_SOURCES): New macro.
38445 (crc_mod_CFLAGS): Likewise.
38446 (crc_mod_LDFLAGS): Likewise.
38447
38448 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38449
38450 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38451
38452 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38453
38454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38455
38456 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38457
c298def0 384582008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38459
38460 * commands/help.c: Include <grub/term.h>.
38461 (TERM_WIDTH): Removed. Updated all users.
38462
cc349fb3 384632008-07-27 Pavel Roskin <proski@gnu.org>
38464
38465 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38466 spurious warnings about a comment within a comment.
38467
9051607e 384682008-07-25 Robert Millan <rmh@aybabtu.com>
38469
38470 * util/getroot.c (find_root_device): Skip devices that match
38471 /dev/dm-[0-9]. This lets the real device be found for any type of
38472 abstraction (LVM, EVMS, RAID..).
38473 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38474 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38475 device is found first, find_root_device() will now skip it.
38476
01453bfc 384772008-07-24 Pavel Roskin <proski@gnu.org>
38478
38479 * include/grub/types.h: Use __builtin_bswap32() and
38480 __builtin_bswap64() with gcc 4.3 and newer.
38481
6af9849f 384822008-07-24 Christian Franke <franke@computer.org>
38483
3a0fa256 38484 * util/i386/pc/grub-install.in: If `--debug' is specified,
38485 pass `--verbose' to grub-setup.
38486 Abort script if make_system_path_relative_to_its_root() fails.
38487
7810e747 384882008-07-24 Bean <bean123ch@gmail.com>
38489
38490 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38491 variable `target_platform' should be `platform'.
38492
42290e17 384932008-07-24 Bean <bean123ch@gmail.com>
38494
51cc5193 38495 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38496 (grub_png_init_fixed_block): New function.
38497 (grub_png_decode_image_data): Handle fixed huffman code compression.
38498
2a8a80e4 384992008-07-24 Bean <bean123ch@gmail.com>
38500
38501 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38502 (grub_pe2elf_SOURCES): New macro.
38503 (CLEANFILES): Add grub-pe2elf.
38504
38505 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38506 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38507 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38508 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38509 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38510 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38511 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38512 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38513 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38514 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38515 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38516 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38517 (GRUB_PE32_DT_FUNCTION): Likewise.
38518 (GRUB_PE32_REL_I386_DIR32): Likewise.
38519 (GRUB_PE32_REL_I386_REL32): Likewise.
38520 (grub_pe32_symbol): New structure.
38521 (grub_pe32_reloc): Likewise.
38522
38523 * util/grub-pe2elf.c: New file.
38524
38525 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38526 start symbol in non pc platform.
38527
38528 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38529
38530 The following patches are from Christian Franke.
38531
38532 * include/grub/dl.h: Remove .previous, gas supports this only
38533 for ELF format.
38534
38535 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38536 Remove .type, gas supports this only for ELF format.
38537
38538 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38539 nullbytes in symbol table. This fixes an infinite loop if table is
38540 zero filled.
38541
38542 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38543 TARGET_IMG_LDFLAGS and EXEEXT.
38544
38545 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38546 TARGET_IMG_LDFLAGS_AC.
38547 (grub_CHECK_STACK_ARG_PROBE): New function.
38548
38549 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38550
38551 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38552
38553 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38554 to set TARGET_IMG_LD* accordingly.
38555 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38556 Add call to grub_CHECK_STACK_ARG_PROBE.
38557 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38558
38559 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38560
38561 * genmk.rb: Add EXEEXT to CLEANFILES.
38562
12ccdb75 385632008-07-23 Robert Millan <rmh@aybabtu.com>
38564
38565 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38566 define the codes for arrows and lines used for the menu).
38567 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38568 as well.
38569
38570 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38571 fonts, because the latter are too slow.
38572
18eeaf04 385732008-07-21 Bean <bean123ch@gmail.com>
38574
38575 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38576 a20. Run keyboard test last, as it will cause macbook to halt.
38577
b095e2ad 385782008-07-18 Pavel Roskin <proski@gnu.org>
38579
38580 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38581 load foreign architecture modules correctly anyway. Keep
38582 support for loading host architecture modules, whether we
38583 compile them or not.
38584
737feb35 385852008-07-17 Pavel Roskin <proski@gnu.org>
38586
3f4ce737 38587 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38588 change target_cpu. The compiler default can mismatch target_cpu
38589 in any case.
38590
4ad2d049 38591 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38592 * kern/efi/efi.c: Likewise.
38593
f6130a12 38594 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38595 target compiler is functional.
38596 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38597 are set up.
38598
58393a2d 38599 * configure.ac: Default to efi platform for x86_64-apple. Allow
38600 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38601 adjustments from the rest, only do them if target is not
38602 explicitly given. Merge other adjustments with the final sanity
38603 check. Remove an extraneous check for supported CPU. Be
38604 specific which CPU and which platform is not supported.
38605
737feb35 38606 * configure.ac: Default to pc platform for x86_64.
38607
546f966a 386082008-07-17 Robert Millan <rmh@aybabtu.com>
38609
38610 Partial LinuxBIOS -> Coreboot rename.
38611
38612 * conf/i386-linuxbios.rmk: Renamed to ...
38613 * conf/i386-coreboot.rmk: ... this.
38614 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38615 * configure.ac: Accept "coreboot" as input platform (but maintain
38616 compatibility with "linuxbios").
38617 * include/grub/i386/linuxbios: Renamed to ...
38618 * include/grub/i386/coreboot: ... this.
38619
20011694 386202008-07-17 Bean <bean123ch@gmail.com>
38621
38622 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 38623 (appleldr_mod_SOURCE): New variable.
20011694 38624 (appleldr_mod_CFLAGS): Likewise.
38625 (appleldr_mod_LDFLAGS): Likewise.
38626 (pci_mod_SOURCES): Likewise.
38627 (pci_mod_CFLAGS): Likewise.
38628 (pci_mod_LDFLAGS): Likewise.
38629 (lspci_mod_SOURCES): Likewise.
38630 (lspci_mod_CFLAGS): Likewise.
38631 (lspci_mod_LDFLAGS): Likewise.
38632
38633 * conf/x86_64-efi.rmk: New file.
38634
38635 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38636 macro.
38637 (grub_efidisk_write): Likewise.
38638
38639 * include/efi/api.h (efi_call_0): New macro.
38640 (efi_call_1): Likewise.
38641 (efi_call_2): Likewise.
38642 (efi_call_3): Likewise.
38643 (efi_call_4): Likewise.
38644 (efi_call_5): Likewise.
38645 (efi_call_6): Likewise.
38646
38647 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38648 grub_rescue_cmd_chainloader.
38649
38650 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38651 (grub_pe32_optional_header): Change some fields based on i386 or
38652 x86_64 platform.
38653 (GRUB_PE32_PE32_MAGIC): Likewise.
38654
38655 * include/grub/efi/uga_draw.h: New file.
38656
38657 * include/grub/elf.h (STN_ABS): New constant.
38658 (R_X86_64_NONE): Relocation constant for x86_64.
38659 (R_X86_64_64): Likewise.
38660 (R_X86_64_PC32): Likewise.
38661 (R_X86_64_GOT32): Likewise.
38662 (R_X86_64_PLT32): Likewise.
38663 (R_X86_64_COPY): Likewise.
38664 (R_X86_64_GLOB_DAT): Likewise.
38665 (R_X86_64_JUMP_SLOT): Likewise.
38666 (R_X86_64_RELATIVE): Likewise.
38667 (R_X86_64_GOTPCREL): Likewise.
38668 (R_X86_64_32): Likewise.
38669 (R_X86_64_32S): Likewise.
38670 (R_X86_64_16): Likewise.
38671 (R_X86_64_PC16): Likewise.
38672 (R_X86_64_8): Likewise.
38673 (R_X86_64_PC8): Likewise.
38674
38675 * include/grub/i386/efi/pci.h: New file.
38676
38677 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38678 Change it value based on platform.
38679 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38680 (GRUB_E820_RAM): Likewise.
38681 (GRUB_E820_RESERVED): Likewise.
38682 (GRUB_E820_ACPI): Likewise.
38683 (GRUB_E820_NVS): Likewise.
38684 (GRUB_E820_EXEC_CODE): Likewise.
38685 (GRUB_E820_MAX_ENTRY): Likewise.
38686 (grub_e820_mmap): New structure.
38687 (linux_kernel_header): Change the efi field according to different
38688 kernel version, also field from linux_kernel_header.
38689
38690 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38691
38692 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38693 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38694 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38695 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38696 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38697 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38698 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38699 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38700 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38701 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38702
38703 * include/grub/x86_64/efi/kernel.h: New file.
38704
38705 * include/grub/x86_64/efi/loader.h: Likewise.
38706
38707 * include/grub/x86_64/efi/machine.h: Likewise.
38708
38709 * include/grub/x86_64/efi/pci.h: Likewise.
38710
38711 * include/grub/x86_64/efi/time.h: Likewise.
38712
38713 * include/grub/x86_64/linux.h: Likewise.
38714
38715 * include/grub/x86_64/setjmp.h: Likewise.
38716
38717 * include/grub/x86_64/time.h: Likewise.
38718
38719 * include/grub/x86_64/types.h: Likewise.
38720
38721 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38722 GRUB_TARGET_SIZEOF_VOID_P.
38723
38724 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38725 (grub_efi_locate_handle): Likewise.
38726 (grub_efi_open_protocol): Likewise.
38727 (grub_efi_set_text_mode): Likewise.
38728 (grub_efi_stall): Likewise.
38729 (grub_exit): Likewise.
38730 (grub_reboot): Likewise.
38731 (grub_halt): Likewise.
38732 (grub_efi_exit_boot_services): Likewise.
38733 (grub_get_rtc): Likewise.
38734
38735 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38736 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38737 (grub_efi_allocate_pages): Wrap efi calls.
38738 (grub_efi_free_pages): Wrap efi calls.
38739 (grub_efi_get_memory_map): Wrap efi calls.
38740
38741 * kern/x86_64/dl.c: New file.
38742
38743 * kern/x86_64/efi/callwrap.S: Likewise.
38744
38745 * kern/x86_64/efi/startup.S: Likewise.
38746
38747 * loader/efi/appleloader.c: Likewise.
38748
38749 * loader/efi/chainloader.c (cmdline): New variable.
38750 (grub_chainloader_unload): Wrap efi calls.
38751 (grub_chainloader_boot): Likewise.
38752 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38753 command line.
38754
38755 * loader/efi/chainloader_normal.c (chainloader_command):
38756 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38757 command line.
38758
38759 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38760 method.
38761 (grub_e820_add_region): New function.
38762 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38763 booting.
38764 (grub_find_video_card): New function.
38765 (grub_linux_setup_video): New function.
38766 (grub_rescue_cmd_linux): Probe for video information.
38767
38768 * normal/x86_64/setjmp.S: New file.
38769
38770 * term/efi/console.c (map_char): New function.
38771 (grub_console_putchar): Map unicode char.
38772 (grub_console_checkkey): Wrap efi calls.
38773 (grub_console_getkey): Likewise.
38774 (grub_console_getwh): Likewise.
38775 (grub_console_gotoxy): Likewise.
38776 (grub_console_cls): Likewise.
38777 (grub_console_setcolorstate): Likewise.
38778 (grub_console_setcursor): Likewise.
38779
38780 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38781
59652a20 387822008-07-16 Pavel Roskin <proski@gnu.org>
38783
ef294055 38784 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38785 format strings.
38786
59652a20 38787 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38788 pointer, not an integer. This fixes a warning and prevents
38789 precision loss on 64-bit systems.
38790 (relocate_addresses): Remove unneeded cast.
38791
afc3b5d7 387922008-07-15 Pavel Roskin <proski@gnu.org>
38793
506b2b3e 38794 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38795
62ead89c 38796 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38797
c4cd51d7 38798 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38799 Fix comparison between signed and unsigned.
38800
0d3d8f28 38801 * include/grub/i386/ieee1275/console.h: Declare
38802 grub_console_init() and grub_console_fini().
38803
8804b286 38804 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38805 It's empty and unused.
38806
ee01cf35 38807 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38808 beginning to avoid warnings with some compilers.
38809
afc3b5d7 38810 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38811 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38812
e4e8eaa5 388132008-07-14 Pavel Roskin <proski@gnu.org>
38814
407aceb4 38815 * kern/env.c (grub_register_variable_hook): Don't copy empty
38816 string, it leaks memory. Pass "" to grub_env_set(), it should
38817 handle constant strings.
38818
e4e8eaa5 38819 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38820 * commands/cmp.c (grub_cmd_cmp): Likewise.
38821 * kern/dl.c (grub_dl_flush_cache): Likewise.
38822 (grub_dl_load_core): Likewise.
38823 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38824 (grub_elf64_load_phdrs): Likewise.
38825
d4e2dad3 388262008-07-13 Pavel Roskin <proski@gnu.org>
38827
38828 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38829 between signed and unsigned.
38830 (LzmaEnc_Finish): Fix warning about an unused parameter.
38831
aa24b516 388322008-07-13 Bean <bean123ch@gmail.com>
38833
38834 * Makefile.in (enable_lzo): New rule.
38835
38836 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38837
38838 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38839
38840 * boot/i386/pc/lnxboot.S: #include <config.h>.
38841
38842 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38843 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38844
38845 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38846 compression algorithm according to configure macro.
38847
38848 * kern/i386/pc/startup.S (codestart): Likewise.
38849
38850 * kern/i386/pc/lzma_decode.S: New file.
38851
38852 * include/grub/lib/LzFind.h: Likewise.
38853
38854 * include/grub/lib/LzHash.h: Likewise.
38855
38856 * include/grub/lib/LzmaDec.h: Likewise.
38857
38858 * include/grub/lib/LzmaEnc.h: Likewise.
38859
38860 * include/grub/lib/LzmaTypes.h: Likewise.
38861
38862 * lib/LzFind.c: Likewise.
38863
38864 * lib/LzmaDec.c: Likewise.
38865
38866 * lib/LzmaEnc.c: Likewise.
38867
4ae821ac 388682008-07-13 Bean <bean123ch@gmail.com>
38869
38870 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38871 (grub_ext4_extent_header): New structure.
38872 (grub_ext4_extent): Likewise.
38873 (grub_ext4_extent_idx): Likewise.
38874 (grub_ext4_find_leaf): New function.
38875 (grub_ext2_read_block): Handle extents.
38876
9a745147 388772008-07-12 Robert Millan <rmh@aybabtu.com>
38878
38879 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38880
d49a4cf6 388812008-07-11 Robert Millan <rmh@aybabtu.com>
38882
38883 * util/grub.d/40_custom.in: New file. Example on how to add custom
38884 entries to /etc/grub.d.
38885 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38886 40_custom (implicitly, by merging all the grub.d rules).
38887
947414b4 388882008-07-11 Pavel Roskin <proski@gnu.org>
38889
0059cf6f 38890 * commands/read.c (grub_getline): Fix invalid memory access.
38891 Don't add newline to the variable value.
38892
947414b4 38893 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38894 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38895 (serial_hw_get_port): Check validity of the port number.
38896 (grub_cmd_serial): Check return value of serial_hw_get_port().
38897
62a02d00 388982008-07-07 Pavel Roskin <proski@gnu.org>
38899
38900 * boot/i386/pc/diskboot.S (notification_string): Replace
38901 "Loading kernel" with just "loading". This is shorter, less
38902 confusing and saves a few bytes for possible future changes.
38903
3e5581b0 389042008-07-05 Pavel Roskin <proski@gnu.org>
38905
ea387a48 38906 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38907 size for ATAPI devices, they are undefined. Output sector
38908 number in decimal form.
38909
3e5581b0 38910 * disk/ata.c: Use named constants for status bits.
38911
fdecb8fd 389122008-07-04 Pavel Roskin <proski@gnu.org>
38913
bcd35b90 38914 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38915 grub_addr_t before casting it to the void pointer to fix a
38916 warning. Non-addressable regions are discarded earlier.
38917 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38918 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38919 (check_signature): Don't shadow table_header.
38920 (grub_linuxbios_table_iterate): Cast numeric constants to
38921 grub_linuxbios_table_header_t.
38922 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38923 grub_stop().
38924
af58ab3d 38925 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38926 prevent warnings.
38927
1759aa57 38928 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38929 pointer, which can cause warnings. Support 64-bit addresses.
38930
fdecb8fd 38931 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38932 of sizeof(long). This fixes PowerPC image generation on x86_64.
38933
8516d2a8 389342008-07-04 Robert Millan <rmh@aybabtu.com>
38935
38936 This fixes a performance issue when pc & gpt partmap iterators
38937 didn't abort iteration even after our hook found what it was
fe987087 38938 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38939
38940 Some callers relied on previous buggy behaviour, since they would
34c44600 38941 raise an error when their own hooks caused early abortion of its
8516d2a8 38942 iteration.
38943
38944 * kern/device.c (grub_device_open): Improve error message.
38945 * disk/lvm.c (grub_lvm_open): Likewise.
38946 * disk/raid.c (grub_raid_open): Likewise.
38947
38948 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38949 when hook requests it, independently of grub_errno.
38950 (pc_partition_map_probe): Do not fail when find_func() caused
38951 early abortion of pc_partition_map_iterate().
38952
38953 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38954 when hook requests it, independently of grub_errno.
38955 (gpt_partition_map_probe): Do not fail when find_func() caused
38956 early abortion of gpt_partition_map_iterate().
38957
38958 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38959 when hook requests it, independently of grub_errno. Do not fail when
38960 part_map_iterate_hook() caused early abortion of p->iterate().
38961
38962 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38963 when grub_partition_iterate() returned with non-zero.
38964
277d0de9 389652008-07-03 Pavel Roskin <proski@gnu.org>
38966
38967 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38968 like we do in grub_ata_pio_read().
38969 (grub_ata_readwrite): Always write individual sectors. Fix the
38970 sector count for the remainder.
38971 (grub_ata_write): Enable writing to ATA devices. Correctly
38972 report error for ATAPI devices.
38973
d4c9b428 389742008-07-02 Pavel Roskin <proski@gnu.org>
38975
e43fc690 38976 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38977 warning.
38978
f707af42 38979 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38980 for every read sector, we already increment it for the whole
38981 batch. This fixes reading more than 256 sectors at once.
38982
11e16b15 38983 * util/grub-editenv.c (cmd_info): Cast argument to long
38984 explicitly. ptrdiff_t reduces to int on i386.
38985
cbabfdd4 38986 * util/grub-editenv.c (main): Be specific which parameter is
38987 missing.
38988
b8fbce0a 38989 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38990 (memdisk): Make memdisk_orig_addr a pointer.
38991
c9c8e606 38992 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38993 for file offsets, use grub_off_t instead. Fix printf format
38994 warnings.
38995
ca62e598 38996 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38997 there. Real unexpected warnings should not drown in the noise
38998 about known problems.
38999
ce8d1766 39000 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39001 grub_disk_addr_t for memory addresses.
39002
00c7a56a 39003 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39004 explicitly to fix a warning.
39005
08d3ef09 39006 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39007
cb71ba20 39008 * Makefile.in (MODULE_LDFLAGS): New variable.
39009 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39010 the linker accepts --build-id=none.
39011 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39012 MODULE_LDFLAGS.
39013 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39014
d4c9b428 39015 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39016 those in Linux XFS code. Provide a way to access 64-bit parent
39017 inode.
39018 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39019 the end of struct grub_xfs_dir_header.
39020
d4156eee 390212008-07-02 Bean <bean123ch@gmail.com>
39022
39023 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39024 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39025 and GRUB_IEEE1275_FLAG_NO_ANSI.
39026
39027 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39028 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39029 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39030
39031 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39032 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39033
39034 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39035 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39036
39037 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39038 esc sequence on non ANSI terminal.
39039 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39040
39041 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39042 beginning of file.
39043
2270f77b 390442008-07-02 Bean <bean123ch@gmail.com>
39045
39046 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39047 (grub_editenv_SOURCES): New variable.
39048 (pkglib_MODULES): Add loadenv.mod.
39049 (loadenv_mod_SOURCES): New variable.
39050 (loadenv_mod_CFLAGS): Likewise.
39051 (loadenv_mod_LDFLAGS): Likewise.
39052
39053 * include/grub/envblk.h: New file.
39054
39055 * util/envblk.c: New file.
39056
39057 * util/grub-editenv.c: New file.
39058
39059 * commands/loadenv.c: New file.
39060
0e9e51ec 390612008-07-01 Pavel Roskin <proski@gnu.org>
39062
d89b7634 39063 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39064 not unsigned char. This fixes warnings and is consistent with
39065 other tags.
39066
bf1835b1 39067 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39068
8222a04b 39069 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39070
6a42d99d 39071 * term/tparm.c (analyze): Always set *popcount.
39072
10b159d1 39073 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39074 cast to fix a warning.
39075
b8789f6c 39076 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39077 cast to suppress a warning.
39078
29d7e38a 39079 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39080 grub_fshelp_read_file() expects.
39081
f341f669 39082 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39083 write uuid as a 32-bit value in CPU byte order, so declare and
39084 use it as such.
39085
0e9e51ec 39086 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39087 long if the format specifier expects it.
39088 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39089 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39090 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39091 long to fix a warning.
39092 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39093 grub_dprintf() arguments to fix warnings.
39094
3aefa857 390952008-06-30 Pavel Roskin <proski@gnu.org>
39096
56c7668b 39097 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39098 install_bsd_part immediately before core.img is embedded or
39099 modified on disk. This fixes core.img verification if core.img
39100 cannot be embedded.
39101
3aefa857 39102 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39103 core_path to calculate the blocklist.
39104 Patch from Javier Martín <lordhabbit@gmail.com>
39105
5444088d 391062008-06-29 Robert Millan <rmh@aybabtu.com>
39107
39108 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39109 block to disk block.
39110 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39111 Patch from Niels Böhm <bitbucket@arcor.de>
39112
674835c8 391132008-06-29 Robert Millan <rmh@aybabtu.com>
39114
39115 * util/update-grub_lib.in (font_path): Search for fonts in
39116 /boot/grub first, which is more likely to be readable (we aren't
39117 deciding where fonts live, just looking for them).
39118
f527dbc8 391192008-06-26 Pavel Roskin <proski@gnu.org>
39120
6c2d8df6 39121 * util/biosdisk.c (read_device_map): Don't leave dead map
39122 entries for devices failing stat() check.
39123
f527dbc8 39124 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39125 core_path_dev for the core.img path on the target device.
39126
aebe3d13 391272008-06-26 Robert Millan <rmh@aybabtu.com>
39128
39129 * disk/fs_uuid.c: New file.
39130 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39131 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39132 (fs_uuid_mod_LDFLAGS): New variables.
39133 * include/grub/disk.h (grub_disk_dev_id): Add
39134 `GRUB_DISK_DEVICE_UUID_ID'.
39135 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39136 implement iterate().
39137
37aaf354 391382008-06-26 Robert Millan <rmh@aybabtu.com>
39139
39140 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39141 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39142 Linux image includes no initrd.
39143
25ff262a 391442008-06-21 Javier Martín <lordhabbit@gmail.com>
39145
39146 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39147 call to resolve the core image location that effectively appended the
39148 name twice.
39149
76a2bd44 391502008-06-21 Robert Millan <rmh@aybabtu.com>
39151
39152 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39153 call from here ...
39154
39155 * util/grub.d/10_hurd.in: ... to here ...
39156 * util/grub.d/10_linux.in: ... and here.
39157
650e1c79 391582008-06-19 Robert Millan <rmh@aybabtu.com>
39159
fe987087 39160 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39161 after it has been set by grub_machine_set_prefix().
39162
6ce63911 391632008-06-19 Robert Millan <rmh@aybabtu.com>
39164
39165 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39166 search result when not saving to variable, not the other way around.
39167 When saving to variable, abort iteration as soon as a match is found.
39168
73940cec 391692008-06-19 Robert Millan <rmh@aybabtu.com>
39170
39171 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39172 check for partition that provides /boot/grub. Its logic is flawed,
39173 as it prevents prepare_grub_to_access_device() from being called
39174 multiple times.
39175
3c62a39d 391762008-06-19 Robert Millan <rmh@aybabtu.com>
39177
39178 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39179 "insmod" command directly when abstraction modules are needed,
fe987087 39180 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39181 since it had already been processed).
39182
47395a42 391832008-06-19 Pavel Roskin <proski@gnu.org>
39184
39185 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39186 changed. This is needed in case GRUB_LIBDIR changes.
39187 * conf/i386-ieee1275.rmk: Likewise.
39188 * conf/i386-linuxbios.rmk: Likewise.
39189 * conf/i386-pc.rmk: Likewise.
39190 * conf/powerpc-ieee1275.rmk: Likewise.
39191
a145ac2d 391922008-06-18 Pavel Roskin <proski@gnu.org>
39193
39194 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39195 kernel_elf_symlist.c to symlist.c for consistency with other
39196 architectures. Update all users.
39197 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39198
7847c51e 391992008-06-18 Robert Millan <rmh@aybabtu.com>
39200
39201 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39202 it in prefix.
39203
39204 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39205 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39206 a RAID device, run setup() for all members independently on whether
39207 LVM abstraction is being used.
39208 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39209 If grub-mkimage has set `*install_dos_part == -2', don't override this
39210 value.
39211 Perform *install_dos_part adjustments independently on whether
39212 we're embedding or not.
39213 Clarify error message when image is too big for embedding.
39214 Remove duplicate *install_dos_part stanza.
39215
b23e5644 392162008-06-17 Robert Millan <rmh@aybabtu.com>
39217
39218 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39219 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39220 variables.
39221 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39222 values in grub_ofconsole_normal_color and
39223 grub_ofconsole_highlight_color (they're not directly related to
39224 background and foreground).
39225 (grub_ofconsole_setcolorstate): Extract background and foreground
39226 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39227
0aac2f79 392282008-06-17 Robert Millan <rmh@aybabtu.com>
39229
39230 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39231 /boot/grub for the check in last commit, not /boot (they could be
39232 different partitions).
39233
3cca7ef3 392342008-06-16 Robert Millan <rmh@aybabtu.com>
39235
39236 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39237 asked to setup access for the same partition that provides /boot,
39238 don't bother using UUIDs since our root already has the value we
39239 want.
39240
347396d8 392412008-06-16 Robert Millan <rmh@aybabtu.com>
39242
39243 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39244 I2O devices.
39245 Patch from Sven Mueller <sven@debian.org>.
39246
991477f8 392472008-06-16 Robert Millan <rmh@aybabtu.com>
39248
39249 * util/update-grub.in: Check for $EUID instead of $UID.
39250 Reported by Vincent Zweije.
39251
d31a32a1 392522008-06-16 Bean <bean123ch@gmail.com>
39253
fe987087 39254 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39255 (grub_ext2_read_block): Likewise.
39256 (grub_ext2_read_inode): Likewise.
39257 (grub_ext2_mount): Likewise.
39258 (grub_ext2_close): Likewise.
39259 (grub_ext3_get_journal): Removed.
39260
fe987087 39261 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39262 (grub_reiserfs_read_symlink): Likewise.
39263 (grub_reiserfs_mount): Likewise.
39264 (grub_reiserfs_open): Likewise.
39265 (grub_reiserfs_read): Likewise.
39266 (grub_reiserfs_close): Likewise.
39267 (grub_reiserfs_get_journal): Removed.
39268
39269 * fs/fshelp.c (grub_fshelp_read): Removed.
39270 (grub_fshelp_map_block): Likewise.
39271
39272 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39273 (grub_fshelp_journal): Likewise.
39274 (grub_fshelp_read): Likewise.
39275 (grub_fshelp_map_block): Likewise.
39276
3540a760 392772008-06-16 Pavel Roskin <proski@gnu.org>
39278
39279 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39280 floating point anymore.
39281 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39282
95614c84 392832008-06-15 Pavel Roskin <proski@gnu.org>
39284
39285 * commands/ls.c (grub_ls_list_files): Use integer calculations
39286 for human readable format, avoid floating point use.
39287 * kern/misc.c (grub_ftoa): Remove.
39288 (grub_vsprintf): Remove floating point support.
39289
50465dd6 392902008-06-15 Robert Millan <rmh@aybabtu.com>
39291
fe6b695a 39292 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39293 devices.
39294 Reported by Max Vozeler.
39295
a9207284 392962008-06-15 Robert Millan <rmh@aybabtu.com>
39297
39298 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39299 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39300 skipped later.
39301 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39302 the beginning of the prefix.
39303
39304 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39305 It is assumed that if we have a memdisk, grub-mkimage has set
39306 grub_prefix to include the "(memdisk)" drive in it.
39307
a7cbd45a 393082008-06-15 Robert Millan <rmh@aybabtu.com>
39309
39310 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39311 Initialize keyboard controller after registering the terminal, so that
39312 grub_printf() can be called from grub_keyboard_controller_init().
39313
21cf716a 393142008-06-15 Robert Millan <rmh@aybabtu.com>
39315
39316 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39317 extent-btree which is written as big endian on disk.
39318 Reported by Alain Greppin <al@chilibi.org>.
39319
23a64d8e 393202008-06-14 Robert Millan <rmh@aybabtu.com>
39321
39322 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39323 * util/i386/pc/grub-install.in (modules): Likewise.
39324
d687651c 393252008-06-13 Pavel Roskin <proski@gnu.org>
39326
39327 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39328
dfe9ddd4 393292008-06-13 Bean <bean123ch@gmail.com>
39330
39331 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39332
39333 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39334
39335 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39336 to indicate sparse block.
39337
16ae7781 393382008-06-12 Pavel Roskin <proski@gnu.org>
39339
e6d1a308 39340 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39341 number, grub_fshelp_read() does it for us.
39342
16ae7781 39343 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39344 linear disk read with journal translation.
39345 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39346 * include/grub/fshelp.h: Declare grub_fshelp_read().
39347
40fd3a2b 393482008-06-09 Pavel Roskin <proski@gnu.org>
39349
39350 * fs/minix.c (grub_minix_mount): Handle error reading
39351 superblock.
39352
f5679726 393532008-06-08 Robert Millan <rmh@aybabtu.com>
39354
39355 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39356 don't append the RAID prefix afterwards.
39357 Reported by Clint Adams.
39358
ce525529 393592008-06-08 Robert Millan <rmh@aybabtu.com>
39360
39361 Based on description from Pavel:
39362 * kern/disk.c (grub_disk_check_range): Rename to ...
39363 (grub_disk_adjust_range): ... this. Add a comment explaining the
39364 tasks performed by this function.
39365
ad4936a0 393662008-06-08 Robert Millan <rmh@aybabtu.com>
39367
39368 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39369 `num_serial' (for consistency with other variables).
39370 (struct grub_ntfs_data): Add `uuid' member.
39371 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39372 (grub_ntfs_uuid): New function.
39373 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39374
dc20b0f9 393752008-06-07 Pavel Roskin <proski@gnu.org>
39376
39377 * util/biosdisk.c (open_device): Revert last change to the
39378 function, it broke installation. The sector needs to be
39379 different dependent on which device is opened.
39380
c5e3cfba 393812008-06-06 Robert Millan <rmh@aybabtu.com>
39382
39383 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39384 rest of GRUB, and breakage doesn't happen if its value were modified.
39385
39386 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39387 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39388 a constant (same value).
39389 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39390 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39391
26a1f8c4 393922008-06-06 Robert Millan <rmh@aybabtu.com>
39393
39394 * util/biosdisk.c (open_device): Do not modify sector offset when
39395 accessing a partition. kern/disk.c already handles this for us.
39396
25d6b327 393972008-06-06 Robert Millan <rmh@aybabtu.com>
39398
39399 * util/grub-emu.c (grub_machine_init): Move code in this function from
39400 here ...
39401 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39402 segfault in case grub_printf() is called).
39403
39404 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39405 grub_probe. Update all users not to explicitly add it again.
39406 (grub_device): New variable; contains corresponding device for grubdir.
39407 (fs_module, partmap_module, devabstraction_module): Pass
39408 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39409 every time.
39410
9ece62fb 394112008-06-05 Robert Millan <rmh@aybabtu.com>
39412
39413 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39414 is found, print it (same layout as with labels).
39415
1ad36d37 394162008-06-04 Robert Millan <rmh@aybabtu.com>
39417
39418 * util/biosdisk.c (get_drive): Rename to ...
39419 (find_grub_drive): ... this. Update all users.
39420
39421 (get_os_disk): Rename to ...
39422 (convert_system_partition_to_system_disk): ... this. Update all users.
39423
39424 (find_drive): Rename to ...
39425 (find_system_device): ... this. Update all users.
39426
e6a30859 394272008-06-04 Robert Millan <rmh@aybabtu.com>
39428
39429 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39430 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39431 (make_device_map): Likewise.
39432
00c108a4 394332008-06-01 Robert Millan <rmh@aybabtu.com>
39434
39435 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39436 before dereferencing it.
39437
39438 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39439 union with fat12/fat16-specific ones. Add some new fields, including
39440 `num_serial' for both versions.
39441 (struct grub_fat_data): Add `uuid' member.
39442 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39443 names. Initialize `data->uuid' using `num_serial'.
39444 (grub_fat_uuid): New function.
39445 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39446
39447 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39448 (grub_reiserfs_uuid): New function.
39449 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39450 member.
39451
39452 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39453 (grub_xfs_uuid): New function.
39454 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39455
1385c5bb 394562008-06-01 Robert Millan <rmh@aybabtu.com>
39457
39458 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39459 code that is backward compatible with pre-uuid search command.
39460
c682dfd7 394612008-05-31 Robert Millan <rmh@aybabtu.com>
39462
39463 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39464 floppies after everything else, to ensure floppy drive isn't accessed
39465 unnecessarily (patch from Bean).
39466
b7db5d47 394672008-05-31 Robert Millan <rmh@aybabtu.com>
39468
39469 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39470 not print device names when we were asked to set a variable.
39471
6e037aa9 394722008-05-31 Robert Millan <rmh@aybabtu.com>
39473
39474 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39475 using "cursor-on" and "cursor-off" commands (understood at least by
39476 the Open Firmware flavour on OLPC).
39477
41305bc8 394782008-05-31 Michael Gorven <michael@gorven.za.net>
39479
39480 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39481 on and off sequences.
39482
69ba137e 394832008-05-31 Robert Millan <rmh@aybabtu.com>
39484
39485 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39486 * util/update-grub.in: Likewise.
39487
520ae21b 394882008-05-30 Pavel Roskin <proski@gnu.org>
39489
39490 * util/biosdisk.c (linux_find_partition): Simplify logic and
39491 make the code more universal. Keep special processing for
39492 devfs, but use a simple rule for all other devices. If the
39493 device ends with a number, append 'p' and the partition number.
39494 Otherwise, append only the partition number.
39495
5786569b 394962008-05-30 Robert Millan <rmh@aybabtu.com>
39497
39498 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39499 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39500 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39501 the `root' parameter to Linux.
39502
51500452 395032008-05-30 Robert Millan <rmh@aybabtu.com>
39504
39505 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39506 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39507 --fs_uuid with --fs-uuid.
39508 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39509 all filesystems support them).
39510
811d3878 395112008-05-30 Robert Millan <rmh@aybabtu.com>
39512
39513 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39514 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39515
cab63c95 395162008-05-30 Robert Millan <rmh@aybabtu.com>
39517
39518 * util/grub.d/00_header.in: Remove obsolete comment referencing
39519 convert_system_path_to_grub_path().
39520 * util/update-grub.in: Likewise.
39521 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39522 (convert_system_path_to_grub_path): Add a warning message explaining
39523 that this function is deprecated. Rely on is_path_readable_by_grub()
39524 for the readability checks.
39525 (font_path): Use is_path_readable_by_grub() for the readability
39526 check rather than convert_system_path_to_grub_path().
39527
972e2f7a 395282008-05-30 Robert Millan <rmh@aybabtu.com>
39529
39530 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39531 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39532 converting it first.
39533 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39534 grub.cfg for access to font file, and afterwards call it again to set
39535 the root device.
39536
62191274 395372008-05-30 Robert Millan <rmh@aybabtu.com>
39538
39539 * commands/search.c (options): Add --fs_uuid option.
39540 (search_fs_uuid): New function.
39541 (grub_cmd_search): Fix --set argument passing.
39542 Use search_fs_uuid() when requested via --fs_uuid.
39543 (grub_search_init): Update help message.
39544 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39545 and redeclare it as an array of 16-bit words.
39546 (grub_ext2_uuid): New function.
39547 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39548 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39549 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39550 (GRUB_DEVICE_BOOT_UUID): New variables.
39551 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39552 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39553 whenever possible.
39554 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39555 just assume `root' variable has the right value.
39556 * util/grub.d/10_linux.in: Likewise.
39557 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39558 via PRINT_FS_UUID.
39559 (main): Recognise `-t fs_uuid' argument.
39560
01b73ec8 395612008-05-30 Robert Millan <rmh@aybabtu.com>
39562
39563 * util/biosdisk.c (map): Redefine structure to hold information
39564 about GRUB drive name.
fe6b695a 39565 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39566 drive names.
39567 (call_hook): Remove.
39568 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39569 member. Assume drive has partitions.
39570 (grub_util_biosdisk_open): Access device names via `.device' struct
39571 member.
39572 (open_device): Likewise.
39573 (find_drive): Likewise.
39574 (read_device_map): Adjust map[] usage to match the new struct
39575 definition. Don't check for duplicates (still possible, but not cheap
39576 anymore).
39577 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39578 (make_device_name): Remove assumption of BIOS-like drive names.
39579
22f16596 395802008-05-30 Pavel Roskin <proski@gnu.org>
39581
39582 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39583 compiling execute.c doesn't need grub_script.tab.h anymore.
39584 (normal/command.c_DEPENDENCIES): Likewise.
39585 (normal/function.c_DEPENDENCIES): Likewise.
39586 * conf/i386-ieee1275.rmk: Likewise.
39587 * conf/i386-linuxbios.rmk: Likewise.
39588 * conf/i386-pc.rmk: Likewise.
39589 * conf/powerpc-ieee1275.rmk: Likewise.
39590 * conf/sparc64-ieee1275.rmk: Likewise.
39591
528ad8f2 395922008-05-29 Pavel Roskin <proski@gnu.org>
39593
d1dff95d 39594 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39595 when scanning metadata for volume group name.
39596
528ad8f2 39597 * include/grub/script.h: Don't include grub_script.tab.h. It's
39598 a generated file, which may only be included from the files with
39599 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39600 use union YYSTYPE, as the later allows forward declaration.
39601 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39602
47248e08 396032008-05-29 Robert Millan <rmh@aybabtu.com>
39604
39605 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39606 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39607 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39608 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39609 scan codes.
39610
ee632529 396112008-05-29 Robert Millan <rmh@aybabtu.com>
39612
39613 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39614 control key combinations.
39615
eee96e08 396162008-05-29 Robert Millan <rmh@aybabtu.com>
39617
39618 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39619 * util/ieee1275/grub-install.in: ... to here.
39620 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39621 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39622 (grub_install_SOURCES): Likewise.
39623
da9a6a94 396242008-05-29 Robert Millan <rmh@aybabtu.com>
39625
39626 * fs/affs.c: Update copyright year.
39627 * fs/ext2.c: Likewise.
39628 * fs/fshelp.c: Likewise.
39629 * fs/hfsplus.c: Likewise.
39630 * fs/ntfs.c: Likewise.
39631 * fs/xfs.c: Likewise.
39632 * include/grub/fshelp.h: Likewise.
39633 * util/grub-mkdevicemap.c: Likewise.
39634
12e65f3a 396352008-05-28 Robert Millan <rmh@aybabtu.com>
39636
39637 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39638 might need to be fatfs to support some firmware implementations
39639 (e.g. OFW or EFI).
39640
23023641 396412008-05-28 Robert Millan <rmh@aybabtu.com>
39642
39643 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39644 devices.
39645 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39646 (make_device_map): Likewise.
39647
887d2619 396482008-05-20 Bean <bean123ch@gmail.com>
39649
39650 * fs/fshelp.c (grub_fshelp_map_block): New function.
39651 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39652 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39653
39654 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39655 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39656 (grub_fshelp_journal): New structure.
39657 (grub_fshelp_map_block): New function prototype.
39658 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39659 (grub_fshelp_map_block): Likewise.
39660
39661 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39662 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39663 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39664 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39665 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39666 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39667 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39668 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39669 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39670 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39671 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39672 (grub_ext2_sblock): New members for journal support.
39673 (grub_ext3_journal_header): New structure.
39674 (grub_ext3_journal_revoke_header): Likewise.
39675 (grub_ext3_journal_block_tag): Likewise.
39676 (grub_ext3_journal_sblock): Likewise.
39677 (grub_fshelp_node): New members logfile and journal.
39678 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39679 grub_fshelp_map_block to get real block number.
39680 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39681 number.
39682 (grub_ext2_read_inode): Likewise.
39683 (grub_ext3_get_journal): New function.
39684 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39685 (grub_ext2_close): Release memory used by journal.
39686
39687 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39688 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39689 (grub_reiserfs_transaction_header): Renamed to
39690 grub_reiserfs_description_block, replace field data with real_blocks.
39691 (grub_reiserfs_commit_block): New structure.
39692 (grub_reiserfs_data): New member journal.
39693 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39694 number.
39695 (grub_reiserfs_read_symlink): Likewise.
39696 (grub_reiserfs_iterate_dir): Likewise.
39697 (grub_reiserfs_open): Likewise.
39698 (grub_reiserfs_read): Likewise.
39699 (grub_reiserfs_get_journal): New function.
39700 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39701 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39702 using grub_reiserfs_get_journal.
39703 (grub_reiserfs_close): Release memory used by journal.
39704
39705 * fs/affs.c (grub_affs_read_block): Change block type to
39706 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39707
39708 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39709
39710 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39711
39712 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39713
39714 * fs/udf.c (grub_udf_read_block): Change block type to
39715 grub_disk_addr_t. Use type cast to avoid warning.
39716
39717 * fs/xfs.c (grub_xfs_read_block): Likewise.
39718
b7c6bed5 397192008-05-16 Christian Franke <franke@computer.org>
39720
39721 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39722 to ensure that break with ESC will always work.
39723 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39724 Remove ESC from keyboard queue.
39725
eedf167f 397262008-05-16 Christian Franke <franke@computer.org>
39727
39728 * util/biosdisk.c: [__CYGWIN__] Add includes.
39729 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39730 (get_os_disk): Move variable declarations to OS specific
39731 parts to avoid warning.
39732 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39733 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39734 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39735 Cygwin.
39736 * util/getroot.c: [__CYGWIN__] Add includes.
39737 (strip_extra_slashes): Fix "/" case.
39738 [__CYGWIN__] (get_win32_path): New function.
39739 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39740 [__CYGWIN__] (find_root_device): Disable.
39741 [__CYGWIN__] (get_bootsec_serial): New function.
39742 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39743 [__linux__] (grub_guess_root_device): Add early returns to simplify
39744 structure.
39745 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39746 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39747 check for Linux only.
39748
a079699e 397492008-05-15 Bean <bean123ch@gmail.com>
39750
39751 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39752 keyboard hang problem in apple's intel mac.
39753
1cf4059a 397542008-05-09 Robert Millan <rmh@aybabtu.com>
39755
39756 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39757 devices.
39758 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39759 (make_device_map): Likewise.
39760 Reported by Aurelien Jarno <aurel32@debian.org>
39761
ed759390 397622008-05-07 Ian Campbell <ijc@hellion.org.uk>
39763
39764 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39765 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39766 (make_device_map): Output entries for xvd type disks.
39767
b56c4eaa 397682008-05-07 Robert Millan <rmh@aybabtu.com>
39769
39770 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39771 devices.
39772 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39773 (make_device_map): Likewise.
39774 Reported by Roland Dreier <rdreier@cisco.com>
39775
7f8866ed 397762008-05-07 Robert Millan <rmh@aybabtu.com>
39777
39778 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39779 grub_strstr() call. Correct a few mistakes in failure path handling.
39780
b0346e0f 397812008-05-06 Robert Millan <rmh@aybabtu.com>
39782
39783 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39784 Do not print a trailing slash (therefore, the root directory is an
39785 empty string).
39786 (convert_system_path_to_grub_path): Do not remove trailing slash
39787 from make_system_path_relative_to_its_root() output.
39788
39789 * util/i386/pc/grub-install.in: Add trailing slash to output from
39790 make_system_path_relative_to_its_root().
39791
6cf12cbd 397922008-05-06 Robert Millan <rmh@aybabtu.com>
39793
39794 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39795 ensures that output lines aren't intermangled with those sent to
39796 stderr (via grub_util_info()).
39797 * util/grub-probe.c (grub_refresh): Likewise.
39798 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39799
0fbb3117 398002008-05-05 Christian Franke <franke@computer.org>
39801
39802 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39803 Add Cygwin device names.
39804 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39805 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39806 (check_device): Return error instead of success on empty name.
39807 (make_device_map): Move label inside linux specific code to
39808 prevent compiler warning.
39809
8124cdb7 398102008-04-30 Robert Millan <rmh@aybabtu.com>
39811
39812 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39813 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39814 first boot option.
39815 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39816
094c01d0 398172008-04-29 Robert Millan <rmh@aybabtu.com>
39818
39819 * docs/grub.cfg: New file (example GRUB configuration).
39820
f4b1fc02 398212008-04-26 Robert Millan <rmh@aybabtu.com>
39822
329ce2a5 39823 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39824 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39825 and `disk/ieee1275/nand.c'.
f4b1fc02 39826
25f16ec1 398272008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39828
25f16ec1 39829 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39830 i386-linuxbios.
39831
39832 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39833 change the buffer size to 4096 for cdrom device.
39834
39835 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39836 and nand.mod.
39837 (_linux_mod_SOURCES): New variable.
39838 (_linux_mod_CFLAGS): Likewise.
39839 (_linux_mod_LDFLAGS): Likewise.
39840 (linux_mod_SOURCES): Likewise.
39841 (linux_mod_CFLAGS): Likewise.
39842 (linux_mod_LDFLAGS): Likewise.
39843 (nand_mod_SOURCES): Likewise.
39844 (nand_mod_CFLAGS): Likewise.
39845 (nand_mod_LDFLAGS): Likewise.
39846
39847 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39848 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39849 type property. (nand device in olpc don't have this property)
39850
39851 * include/grub/disk.h (grub_disk_dev_id): New macro
39852 GRUB_DISK_DEVICE_NAND_ID.
39853
39854 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39855 function prototype.
39856 (grub_rescue_cmd_initrd): Likewise.
39857
39858 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39859 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39860 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39861
25f16ec1 39862 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39863 GRUB_MACHINE_IEEE1275 is defined.
39864
39865 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39866 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39867
39868 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39869 on nested function heap_init.
39870 (grub_upper_mem): New variable for i386-ieee1275.
39871 (grub_get_extended_memory): New function for i386-ieee1275.
39872 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39873
39874 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39875 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39876 property.
f19dbdb7 39877
25f16ec1 39878 * loader/i386/ieee1275/linux.c: New file.
39879
39880 * loader/i386/ieee1275/linux_normal.c: New file.
39881
39882 * disk/ieee1275/nand.c: New file.
39883
e89d61e9 398842008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39885
39886 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39887 value.
39888 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39889
602566f6 398902008-04-18 Robert Millan <rmh@aybabtu.com>
39891
39892 Restructures early code path on ieee1275 to unify grub_main() as
39893 the first C function that is executed in every platform.
39894
39895 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39896 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39897 cmain().
39898 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39899 * kern/ieee1275/cmain.c (cmain): Rename to ...
39900 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39901 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39902 at the beginning.
39903
57490c2b 399042008-04-18 Robert Millan <rmh@aybabtu.com>
39905
39906 * util/update-grub.in: Fix syntax error when setting
39907 `GRUB_PRELOAD_MODULES'.
39908 Reported by Stephane Chazelas <stephane@artesyncp.com>
39909
1977517d 399102008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39911
39912 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39913 section into account, newer toolchains generate unique build ids
39914 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39915 we want build ids to be preserved
1977517d 39916 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39917 far from other sections don't cause the raw binary images grow
39918 size
39919
bfb1f1a2 399202008-04-15 Robert Millan <rmh@aybabtu.com>
39921
39922 * disk/lvm.c: Update copyright year.
39923 * kern/misc.c: Likewise.
39924
01979850 399252008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39926
39927 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39928 there is no memory left for physical volume name.
01979850 39929
0a1150e2 399302008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39931
39932 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39933 volume name mapping to support bigger than 9 character names properly.
39934
82ead3fe 399352008-04-13 Robert Millan <rmh@aybabtu.com>
39936
39937 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39938 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39939
e54a72f5 399402008-04-13 Christian Franke <franke@computer.org>
39941
39942 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39943 to create a floppy emulation boot CD when non emulation mode
39944 does not work.
39945 Enable Joliet CD filesystem extension.
39946
9fe86034 399472008-04-13 Robert Millan <rmh@aybabtu.com>
39948
39949 * kern/misc.c (grub_strncat): Fix off-by-one error.
39950 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39951
39952 * kern/env.c (grub_env_context_close): Clear current context, not
39953 previous one.
39954 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39955
39956 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39957
7ceeee39 399582008-04-13 Robert Millan <rmh@aybabtu.com>
39959
39960 Improve robustness when handling LVM.
39961
39962 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39963 (and leave `*p' unmodified).
7ceeee39 39964 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39965 through it.
39966 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39967 iterating through it.
39968 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39969 through it.
fe6b695a 39970 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 39971 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39972 Don't assume `vg->pvs != NULL' when iterating through it.
39973
58cd3d85 399742008-04-13 Robert Millan <rmh@aybabtu.com>
39975
39976 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39977 * genmk.rb (partmap): New variable.
39978 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39979 (#{partmap}): New target rule.
39980 * genpartmaplist.sh: New file.
39981 * Makefile.in (pkglib_DATA): Add partmap.lst.
39982 (partmap.lst): New target rule.
39983 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39984 modules (including all partition maps), instead of preloading them.
39985
78b51059 399862007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39987
39988 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39989 `linux-boot-prober' (if installed) to detect other operating
39990 systems which are installed on the computer and add them to
39991 the boot menu.
39992 * conf/common.rmk: Build and install 30_os-prober.
39993
a91627b4 399942008-04-12 Robert Millan <rmh@aybabtu.com>
39995
39996 * kern/powerpc/ieee1275/init.c: Move from here ...
39997 * kern/ieee1275/init.c: ... to here. Update all users.
39998
39999 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40000 * kern/ieee1275/cmain.c: ... to here. Update all users.
40001
40002 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40003 * kern/ieee1275/openfw.c: ... to here. Update all users.
40004
40005 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40006 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40007
322562ea 400082008-04-10 Pavel Roskin <proski@gnu.org>
40009
40010 * configure.ac: Always use "_cv_" in cache variables for
40011 compatibility with Autoconf 2.62.
40012
a02a73c5 400132008-04-07 Robert Millan <rmh@aybabtu.com>
40014
40015 Revert grub/machine/init.h addition by Pavel (since it breaks on
40016 i386-ieee1275 and others):
40017 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40018 * util/powerpc/ieee1275/misc.c: Likewise.
40019
25c024b1 400202008-04-07 Robert Millan <rmh@aybabtu.com>
40021
40022 * util/grub-probe.c (probe): Improve error message.
40023
3cbd2f98 400242008-04-07 Robert Millan <rmh@aybabtu.com>
40025
40026 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40027 (this prevents the presence of a bogus entry from ruining the whole
40028 thing).
40029
87a297bf 400302008-04-06 Pavel Roskin <proski@gnu.org>
40031
36747a62 40032 * util/biosdisk.c: Include grub/util/biosdisk.h.
40033 * util/grub-fstest.c (execute_command): Make static.
40034 * util/grub-mkdevicemap.c (check_device): Likewise.
40035 * util/i386/pc/misc.c: Include grub/machine/init.h.
40036 * util/powerpc/ieee1275/misc.c: Likewise.
40037 * util/lvm.c: Include grub/util/lvm.h.
40038 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40039 grub/cache.h.
40040 * util/raid.c: Include grub/util/raid.h.
40041 (grub_util_getdiskname): Make static.
40042
87a297bf 40043 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40044 grub_hostfs_fini(), as they are called from grub_init_all() and
40045 grub_fini_all() respectively. This fixes an infinite loop in
40046 grub-fstest due to double registration of hostfs.
40047 Reported by Christian Franke <Christian.Franke@t-online.de>
40048
f6ce7629 400492008-04-05 Pavel Roskin <proski@gnu.org>
40050
40051 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40052 all 8 functions. Otherwise, probe function 0 only.
40053
070e49e4 400542008-04-04 Pavel Roskin <proski@gnu.org>
40055
8b088a4c 40056 * commands/lspci.c (grub_lspci_iter): Print the bus number
40057 correctly.
40058
4f657021 40059 * commands/lspci.c (grub_pci_classes): Fix typos.
40060 (grub_lspci_iter): Don't print func twice. Print vendor ID
40061 before device ID, as it's normally done.
40062
070e49e4 40063 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40064 Fix signedness warnings.
40065 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40066 Likewise.
40067 * util/ieee1275/get_disk_name.c: Include config.h so that
40068 _GNU_SOURCE is defined and getline() is declared. Mark an
40069 unused argument as such. Fix a signedness warning.
40070
ba7328dc 400712008-04-02 Pavel Roskin <proski@gnu.org>
40072
26887f22 40073 * genkernsyms.sh.in: Use more robust assignments for CC and
40074 srcdir. Quote srcdir.
40075 * gensymlist.sh.in: Likewise. Assert at the compile time that
40076 the symbol table is not empty.
40077
ba7328dc 40078 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40079 * fs/cpio.c (grub_cpio_read): Likewise.
40080
0f582c6b 400812008-04-01 Pavel Roskin <proski@gnu.org>
40082
4b6e1995 40083 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40084 * disk/host.c (grub_host_open): Likewise.
40085 * disk/loopback.c (grub_loopback_open): Likewise.
40086 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40087 disk->id as in disk/host.c, not a multi-character constant.
40088
828a2768 40089 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40090 later is obsolete, potentially dangerous and sets a bad example.
40091 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40092 * util/misc.c (grub_util_get_image_size): Likewise.
40093
2bb4fb47 40094 * disk/loopback.c (options): Improve help for "--partitions".
40095
0f582c6b 40096 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40097 options to align them with the short options, e.g. "echo -e".
40098
a33224e0 400992008-03-31 Bean <bean123ch@gmail.com>
40100
40101 * video/reader/png.c (grub_png_data): New member is_16bit and
40102 image_data.
40103 (grub_png_decode_image_header): Detect 16 bit png image.
40104 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40105 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40106 (grub_video_reader_png): Release memory occupied by image_data.
40107
40108 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40109 4096 bytes.
40110 (grub_nfs_mount): Skip the test for sector per cluster.
40111
40112 * include/grub/ntfs.h (MAX_SPC): Removed.
40113
86cb4f54 401142008-03-31 Bean <bean123ch@gmail.com>
40115
40116 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40117 (grub_probe_SOURCES): Add fs/afs.c.
40118 (grub_fstest_SOURCES): Likewise.
40119 (afs_mod_SOURCES): New variable.
40120 (afs_mod_CFLAGS): Likewise.
40121 (afs_mod_LDFLAGS): Likewise.
40122
40123 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40124 (grub_emu_SOURCES): Likewise.
40125
40126 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40127
40128 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40129
40130 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40131
40132 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40133
40134 * fs/afs.c: New file.
40135
17c74c21 401362008-03-30 Pavel Roskin <proski@gnu.org>
40137
4cb68e89 40138 * disk/host.c: Include grub/misc.h to fix a warning.
40139 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40140 warnings about implicit declarations.
40141
8790bb04 40142 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40143 variable.
40144 * include/grub/i386/loader.h: Change declaration of
40145 grub_linux_boot() to match what grub_loader_set() expects.
40146 * util/getroot.c (grub_guess_root_device): Return const char* to
40147 fix a warning.
40148 * util/grub-probe.c (probe): Fix a warning about uninitialized
40149 abstraction_name variable.
40150 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40151 second argument as unused to fix a warning.
40152
9a3f3296 40153 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40154 missing grub_error() call.
40155
0ecef90d 40156 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40157 2.60 and newer uses it to define datadir.
40158
0bf6d401 40159 * commands/sleep.c: Fix warning about implicit declaration.
40160 * disk/memdisk.c: Likewise.
40161 * loader/aout.c: Likewise.
40162 * loader/i386/bsd_normal.c: Likewise.
40163 * util/grub-probe.c: Likewise.
40164
7cdacf97 40165 * commands/i386/cpuid.c (has_longmode): Make static.
40166 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40167 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40168
17c74c21 40169 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40170 GDT. This is more robust, as %ds can change.
40171 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40172 calling real_to_prot().
40173 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40174
80a3e68b 401752008-03-28 Pavel Roskin <proski@gnu.org>
40176
40177 * kern/i386/pc/startup.S: Assert that uncompressed functions
40178 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40179 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40180 code, as they push parts of the code (error handlers) beyond
40181 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40182 code as correctness and size.
40183
77bcd272 401842008-03-28 Pavel Roskin <proski@gnu.org>
40185
40186 * kern/i386/pc/startup.S
40187 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40188 data block address to the real mode, keep offset minimal. This
40189 works around a bug in AWARD BIOS on old Athlon systems, which
40190 makes CD detection hang.
40191
c5dfd43b 401922008-03-26 Pavel Roskin <proski@gnu.org>
40193
40194 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40195 const.
40196 * include/grub/normal.h: Add grub_parse_color_name_pair()
40197 declaration.
40198
bf962df2 401992008-03-24 Bean <bean123ch@gmail.com>
40200
40201 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40202 (cd_count): Removed.
40203 (cd_drive): New variable.
40204 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40205 (grub_biosdisk_call_hook): Likewise.
40206 (grub_biosdisk_iterate): Change cdrom detection method.
40207 (grub_biosdisk_open): Replace cd_start with cd_drive.
40208 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40209 detect cdrom device.
40210
40211 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40212 Removed.
40213 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40214 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40215 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40216 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40217 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40218 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40219 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40220 (grub_biosdisk_cdrp): New structure.
40221 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40222
40223 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40224
40225 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40226 device.
40227
40228 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40229 New function.
40230
68e7fc7a 402312008-03-20 Robert Millan <rmh@aybabtu.com>
40232
40233 Remove 2 TiB limit in ata.mod.
40234 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40235 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40236 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40237 grub_uint64_t instead of grub_uint32_t.
40238
38ad2cf5 402392008-03-05 Bean <bean123ch@gmail.com>
40240
40241 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40242 (grub_multiboot): Set boot device.
40243
40244 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40245
2b89344e 402462008-03-02 Bean <bean123ch@gmail.com>
40247
40248 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40249 symlink_buffer.
40250
87a95d1f 402512008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40252
40253 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40254 texinfo.tex.
40255
40256 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40257 modified.
40258
40259 * docs/fdl.texi: New file.
f19dbdb7 40260
87a95d1f 40261 * docs/mdate-sh: New file. Copied from gnulib.
40262 * docs/texinfo.tex: Likewise.
40263
40264 * config.guess: Updated from gnulib.
40265 * install-sh: Likewise.
40266
7dc15d8e 402672008-02-28 Robert Millan <rmh@aybabtu.com>
40268
40269 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40270 (aout_mod_SOURCES): New variable.
40271 (aout_mod_CFLAGS): Likewise.
40272 (aout_mod_LDFLAGS): Likewise.
40273
40274 * conf/i386-ieee1275.rmk: Likewise.
40275
b00ab696 402762008-02-28 Robert Millan <rmh@aybabtu.com>
40277
40278 * util/update-grub.in: Reorganise terminal validity check. Accept
40279 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40280 Based on suggestion by Franklin PIAT.
40281
79ca2d78 402822008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40283
40284 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40285 function.
40286 * util/getroot.c (grub_util_check_block_device): New function that
40287 returns the given argument if it is a block device and returns NULL else.
40288 * util/grub-probe.c (argument_is_device): New variable.
40289 (probe): Promote device_name from a variable to an argument. Receive
40290 device_name from grub_util_check_block_device() if path is NULL and from
40291 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40292 (options): Introduce new parameter '-d, --device'.
79ca2d78 40293 (main): Add description of the new parameter to the help screen.
40294 Rename path variable to argument. Set argument_is_device if the '-d'
40295 option is given. Pass argument to probe() depending on
40296 argument_is_device.
40297
0d16e571 402982008-02-24 Bean <bean123ch@gmail.com>
40299
40300 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40301 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40302 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40303 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40304 (GRUB_ISO9660_VOLDESC_END): Likewise.
40305 (grub_iso9660_primary_voldesc): New member escape.
40306 (grub_iso9660_data): New member joliet.
40307 (grub_iso9660_convert_string): New function.
40308 (grub_iso9660_mount): Detect joliet extension.
40309 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40310 (grub_iso9660_iso9660_label): Likewise.
40311
40312 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40313 (grub_setup_SOURCES): Add fs/udf.c.
40314 (grub_fstest_SOURCES): Likewise.
40315 (udf_mod_SOURCES): New variable.
40316 (udf_mod_CFLAGS): Likewise.
40317 (udf_mod_LDFLAGS): Likewise.
40318
40319 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40320 (grub_emu_SOURCES): Likewise.
40321
40322 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40323
40324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40325
40326 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40327
40328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40329
40330 * fs/udf.c: New file.
40331
8a594a17 403322008-02-24 Robert Millan <rmh@aybabtu.com>
40333
40334 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40335 (normal/lexer.c_DEPENDENCIES): New variables.
40336 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40337 (normal/lexer.c_DEPENDENCIES): Likewise.
40338 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40339 (normal/lexer.c_DEPENDENCIES): Likewise.
40340 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40341 (normal/lexer.c_DEPENDENCIES): Likewise.
40342 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40343 (normal/lexer.c_DEPENDENCIES): Likewise.
40344 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40345 (normal/lexer.c_DEPENDENCIES): Likewise.
40346
2dc33c03 403472008-02-23 Robert Millan <rmh@aybabtu.com>
40348
40349 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40350 since they were intended to be in hex. This didn't break previously
40351 because of a bug in gpt_partition_map_iterate() (see below).
40352
40353 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40354 when checking the validity of GPT header.
40355 Remove `partno', since it always provides the same information as `i'.
40356
f6f4cfb0 403572008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40358
40359 * include/grub/efi/time.h: Fix a wrong comment.
40360
79ff665f 403612008-02-19 Pavel Roskin <proski@gnu.org>
40362
40363 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40364 message.
40365
d38e24c2 403662008-02-19 Bean <bean123ch@gmail.com>
40367
40368 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40369 (aout_mod_SOURCES): New variable.
40370 (aout_mod_CFLAGS): Likewise.
40371 (aout_mod_LDFLAGS): Likewise.
40372 (_bsd_mod_SOURCES): New variable.
40373 (_bsd_mod_CFLAGS): Likewise.
40374 (_bsd_mod_LDFLAGS): Likewise.
40375 (bsd_mod_SOURCES): New variable.
40376 (bsd_mod_CFLAGS): Likewise.
40377 (bsd_mod_LDFLAGS): Likewise.
40378
40379 * include/grub/aout.h: New file.
40380
40381 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40382
40383 * include/grub/i386/bsd.h: New file.
40384
40385 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40386 to make it public.
40387
40388 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40389 function is called, so that it's possible to change it inside the hook.
40390 (grub_elf64_load): Likewise.
40391 (grub_elf_file): Don't close the file if elf header is not found.
40392 (grub_elf_close): Close the file if grub_elf_file fails (The new
40393 grub_elf_file won't close it).
40394 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40395 (grub_elf64_size): Likewise.
40396
40397 * kern/i386/loader.S (grub_unix_real_boot): New function.
40398
40399 * loader/aout.c: New file.
40400
40401 * loader/i386/bsd.c: New file.
40402
40403 * loader/i386/bsd_normal.c: New file.
40404
40405 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40406
40407 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40408 can test other formats.
d38e24c2 40409
b93bdb0f 404102008-02-19 Robert Millan <rmh@aybabtu.com>
40411
40412 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40413 (grub_gpt_partition_type_empty): Redefine with macro from
40414 `<grub/gpt_partition.h>'.
40415 (gpt_partition_map_iterate): Adjust partition type comparison.
40416
40417 Export `entry' as partmap-specific `part.data' struct.
40418 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40419
40420 * include/grub/gpt_partition.h (grub_gpt_header)
40421 (grub_gpt_partentry): ... to here (new file).
40422
40423 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40424
40425 (grub_gpt_partition_type_bios_boot): New const variable, defined
40426 with macro from `<grub/gpt_partition.h>'.
40427
40428 (setup): Replace `first_start' with `embed_region', which keeps
40429 track of the embed region (and is partmap-agnostic).
40430
40431 Replace find_first_partition_start() with find_usable_region(),
40432 which finds a usable region for embedding using partmap-specific
40433 knowledge (supports PC/MSDOS and GPT).
40434
40435 Fix all assumptions that the embed region start at sector 1, using
40436 `embed_region.start' from now on. Similarly, use `embed_region.end'
40437 rather than `first_start' to calculate available size.
40438
40439 In grub_util_info() message, replace "into after the MBR" with an
40440 indication of the specific sector our embed region starts at.
40441
66cb40f6 404422008-02-19 Robert Millan <rmh@aybabtu.com>
40443
40444 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40445 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40446 `commands/reboot.c'.
40447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40448 (halt_mod_SOURCES): Likewise.
40449 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40450 (halt_mod_SOURCES): Likewise.
40451
b7202015 404522008-02-17 Christian Franke <franke@computer.org>
40453
40454 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40455
32b0fc49 404562008-02-17 Robert Millan <rmh@aybabtu.com>
40457
40458 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40459 set `first_start' to 0 for non-PC/MSDOS partition maps.
40460
aca63502 404612008-02-16 Robert Millan <rmh@aybabtu.com>
40462
40463 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40464 do not assume partition map is PC/MSDOS before performing checks that
40465 are specific to that layout.
40466
0de8be86 404672008-02-13 Robert Millan <rmh@aybabtu.com>
40468
40469 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40470 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40471 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40472
c3db8364 404732008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40474
40475 * configure.ac: Only a cosmetic change on the handling of
40476 -fno-stack-protector.
40477
f714229e 404782008-02-12 Alexandre Boeglin <alex@boeglin.org>
40479
c3db8364 40480 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40481 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40482 reboot.c.
f714229e 40483 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40484 (halt_mod_SOURCES): New variable.
40485 (halt_mod_CFLAGS): Likewise.
40486 (halt_mod_LDFLAGS): Likewise.
40487 (reboot_mod_SOURCES): Likewise.
40488 (reboot_mod_CFLAGS): Likewise.
40489 (reboot_mod_LDFLAGS): Likewise.
40490
c3db8364 40491 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40492 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40493 reboot.c.
f714229e 40494 (halt_mod_SOURCES): Likewise.
40495 (reboot_mod_SOURCES): Likewise.
40496
c3db8364 40497 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40498 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40499 (reboot_mod_SOURCES): Likewise.
40500
40501 * commands/i386/pc/reboot.c: merge this file ...
40502
40503 * commands/ieee1275/reboot.c: ... and this file ...
40504
40505 * commands/reboot.c: ... to this file.
c3db8364 40506 Add some precompiler directive to include the correct header for
40507 each machine.
f714229e 40508
40509 * commands/ieee1275/halt.c: move this file ...
40510
40511 * commands/halt.c: ... to here.
c3db8364 40512 Add some precompiler directive to include the correct header for
40513 each machine.
f714229e 40514
40515 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40516 (grub_halt): Likewise.
40517
40518 * kern/efi/efi.c (grub_reboot): New function.
40519 (grub_halt): Likewise.
40520
c74493e0 405212008-02-12 Robert Millan <rmh@aybabtu.com>
40522
40523 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40524 /dev (like it is done for /dev/mapper). This doesn't provide support
40525 for EVMS, but at least it is now easy to identify the problem when it
40526 arises.
40527
d0db4b04 405282008-02-11 Robert Millan <rmh@aybabtu.com>
40529
40530 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40531 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40532 comparing it with -1, not 0.
40533
bf748642 405342008-02-10 Robert Millan <rmh@aybabtu.com>
40535
40536 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40537 `disk/lvm.c'.
40538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40539 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40540
40541 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40542 `disk/lvm.c' to the end of the list.
40543 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40544 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40545
b5db202a 405462008-02-10 Robert Millan <rmh@aybabtu.com>
40547
40548 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40549 grub_print_error() instead. This will let user know why we're entering
40550 rescue mode.
40551 Based on suggestions from Sam Morris.
40552
83abee31 405532008-02-10 Alexandre Boeglin <alex@boeglin.org>
40554
40555 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40556 on remaining N args, instead of "--" arg N times.
40557
78d5a08b 405582008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40559
40560 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40561 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40562 pattern for unknown glyphs.
40563
68807e5f 405642008-02-09 Robert Millan <rmh@aybabtu.com>
40565
40566 * configure.ac: Probe for `help2man'.
40567 * Makefile.in (builddir): New variable.
40568 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40569 or otherwise add a few flags/options to it.
40570 (install-local): For every executable utility or script that is
40571 installed, invoke $(HELP2MAN) to install a manpage based on --help
40572 output.
40573
40574 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40575 that it doesn't prevent --help from working in build tree.
40576
40577 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40578 with `bug-grub@gnu.org'.
40579 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40580 * util/update-grub.in (usage): New function.
40581 Implement proper argument check, with support for --help and --version
40582 (as well as existing -y).
40583
405842008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40585
40586 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40587 avoid overwriting previous output.
40588 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40589
c1962162 405902008-02-09 Robert Millan <rmh@aybabtu.com>
40591
40592 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40593 drawing the menu.
40594
3dac2e3f 405952008-02-09 Robert Millan <rmh@aybabtu.com>
40596
40597 * commands/sleep.c: New file.
40598 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40599 (sleep_mod_SOURCES): New variable.
40600 (sleep_mod_CFLAGS): Likewise.
40601 (sleep_mod_LDFLAGS): Likewise.
40602
7a634e08 406032008-02-09 Robert Millan <rmh@aybabtu.com>
40604
40605 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40606 situations in which we can deduce the RAID size and the superblock
40607 doesn't match it.
40608
b92f0c18 406092008-02-09 Robert Millan <rmh@aybabtu.com>
40610
40611 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40612 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40613 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40614
40615 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40616 and return a grub_diskmemberlist_t composed of physical array members.
40617 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40618
40619 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40620 prototype.
40621 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40622 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40623 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40624
40625 * util/grub-probe.c (probe): Move partmap probing code from here ...
40626 (probe_partmap): ... to here.
40627 (probe): Use probe_partmap() once for the disk we're probing, and
40628 additionally, when such disk contains a memberlist() struct member,
40629 once for each disk that is contained in the structure returned by
40630 memberlist().
40631
91a4bf68 406322008-02-09 Robert Millan <rmh@aybabtu.com>
40633
40634 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40635 environment variable to 'all' in order to obtain debug output from
40636 non-util/ code.
40637 * util/i386/pc/grub-setup.c (main): Likewise.
40638
a96f9caa 406392008-02-08 Robert Millan <rmh@aybabtu.com>
40640
40641 * disk/raid.c (grub_raid_scan_device): Check for
40642 `array->device[sb.this_disk.number]' rather than for
40643 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 40644 guaranteed to be accessible.
a96f9caa 40645
b37a9222 406462008-02-08 Robert Millan <rmh@aybabtu.com>
40647
40648 * disk/raid.c: Update copyright.
40649 * fs/cpio.c: Likewise.
40650 * include/grub/raid.h: Likewise.
40651 * loader/i386/pc/multiboot.c: Likewise.
40652 * util/hostfs.c: Likewise.
40653
5626aee1 406542008-02-08 Robert Millan <rmh@aybabtu.com>
40655
40656 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40657 to a grub_disk_t array.
40658 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40659 `device[x]'.
40660 (grub_raid_scan_device): Replace `device[x].name' accesses with
40661 `device[x]->name'. Simplify initialization of `array->device[x]'.
40662
554f0187 406632008-02-08 Robert Millan <rmh@aybabtu.com>
40664
40665 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40666 grub_dprintf() calls.
40667 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40668 error message.
40669
1ec8425d 406702008-02-07 Christian Franke <franke@computer.org>
40671
40672 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40673 instead of fseek and ftell to support large files.
40674 (grub_hostfs_read): Likewise.
40675
f2156fda 406762008-02-07 Robert Millan <rmh@aybabtu.com>
40677
40678 Patch from Jeroen Dekkers.
40679 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40680 failure, since successfully reading all array members might not be
f2156fda 40681 required.
40682
9216e0e7 406832008-02-06 Robert Millan <rmh@aybabtu.com>
40684
40685 * util/grub-probe.c (probe): Simplify partmap probing (with the
40686 assumption that the first word up to the underscore equals to
40687 the module name).
40688
b0dfd29a 406892008-02-06 Christian Franke <franke@computer.org>
40690
40691 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40692 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40693 last block of a cpio or tar stream.
40694 Check for "TRAILER!!!" instead of any empty data
40695 block to detect last block of a cpio stream.
40696 (grub_cpio_dir): Fix constness of variable np.
40697 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40698 cpio or tar trailer is detected. This fixes a crash
40699 on open of a non existing file.
40700
c32865bf 407012008-02-05 Bean <bean123ch@gmail.com>
40702
40703 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40704 address of entry.
40705 (grub_multiboot_load_elf64): Likewise.
40706 (grub_multiboot): Initialize mbi structure.
40707
40708 * util/grub-fstest.c: Don't include unused header file script.h.
40709
fe6b695a 40710 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40711 of file.
40712 (grub_fstest_SOURCES): Likewise.
40713
409480b7 407142008-02-05 Robert Millan <rmh@aybabtu.com>
40715
40716 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40717 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40718 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40719 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40720
40721 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40722 (translation_table): Replace hardcoded values with macros
40723 provided by `<grub/term.h>'.
40724
40725 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40726 (keyboard_map): Correct/add a few values, with macros provided
40727 by `<grub/term.h>'.
40728 (keyboard_map_shift): Zero values that don't differ from their
40729 `keyboard_map' equivalents.
40730 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40731 Discard the second scan code that is always sent by Caps lock.
40732 Only use `keyboard_map_shift' when it provides a non-zero value,
40733 otherwise fallback to `keyboard_map'.
40734
99fadbaa 407352008-02-04 Bean <bean123ch@gmail.com>
40736
40737 * Makefile.in (enable_grub_fstest): New variable.
40738
40739 * conf/common.rmk (grub_fstest_init.lst): New rule.
40740 (grub_fstest_init.h): Likewise.
40741 (grub_fstest_init.c): Likewise.
40742 (util/grub-fstest.c_DEPENDENCIES): New variable.
40743 (grub_fstest_SOURCES): Likewise.
40744
40745 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40746
40747 * util/grub-fstest.c: New file.
40748
bf567c50 407492008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40750
40751 Make grub-setup handle a separate root device.
f19dbdb7 40752
bf567c50 40753 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40754 so that the root device can be compared with the destination
40755 device.
40756 When embedding the core image, if the root and destination devices
40757 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40758 0xFF.
40759 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40760
9be6b98b 407612008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40762
40763 Add support for having a grub directory in a different drive. This
40764 is still only the data handling part.
f19dbdb7 40765
9be6b98b 40766 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40767 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40768 (grub_root_drive): New variable.
40769
40770 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40771 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40772 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40773 as it was.
40774
40775 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40776
40777 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40778 macro.
40779 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40780
40781 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40782 is bogus, because PXE booting does not specify any drive
40783 correctly.
40784
40785 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40786 am not sure if this is really correct.
40787
40788 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40789 is always identical to the boot drive when booting from a CD.
40790
40791 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40792 longer.
40793 (root_drive): New variable.
40794 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40795 (setup_sectors): Push %dx right after popping it, because %dh will
40796 be modified later.
40797 (copy_buffer): Restore %dx.
40798
e0ca0677 407992008-02-03 Robert Millan <rmh@aybabtu.com>
40800
40801 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40802 use `cdboot.img' for cdrom images.
40803
3b3f6629 408042008-02-03 Robert Millan <rmh@aybabtu.com>
40805
40806 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40807 only setup gfxterm when `font' command has succeeded.
40808
d42b3672 408092008-02-03 Robert Millan <rmh@aybabtu.com>
40810
40811 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40812 (grub_rescue_cmd_multiboot_loader)
40813 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40814
fa370ea6 408152008-02-03 Pavel Roskin <proski@gnu.org>
40816
e0c5dacb 40817 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40818 %edx and %esi from stack only after grub_gate_a20() is called.
40819 grub_gate_a20() clobbers %edx.
40820
f2a76e1d 408212008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40822
40823 * configure.ac (AC_INIT): Bumped to 1.96.
40824
40825 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40826 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40827 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40828 video/readers/png.c.
40829
90fd32d1 408302008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40831
40832 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40833 (cdboot_img_SOURCES): New variable.
40834 (cdboot_img_ASFLAGS): New variable.
40835 (cdboot_img_LDFLAGS): New variable.
40836
40837 * boot/i386/pc/cdboot.S: New file.
40838
40839 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40840 (cd_count): Likewise.
40841 (grub_biosdisk_get_drive): Add support for cd device.
40842 (grub_biosdisk_call_hook): Likewise.
40843 (grub_biosdisk_iterate): Likewise.
40844 (grub_biosdisk_open): Likewise.
40845 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40846 (grub_biosdisk_rw): Support reading from cd device.
40847 (GRUB_MOD_INIT): Iterate cd devices.
40848
40849 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40850 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40851 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40852
40853 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40854
4020aa53 408552008-02-02 Robert Millan <rmh@aybabtu.com>
40856
40857 * commands/read.c: New file.
40858 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40859 (read_mod_SOURCES): New variable.
40860 (read_mod_CFLAGS): Likewise.
40861 (read_mod_LDFLAGS): Likewise.
40862
e03a1132 408632008-02-02 Robert Millan <rmh@aybabtu.com>
40864
40865 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40866 determining whether menu has to be displayed.
40867
58c69220 408682008-02-02 Marco Gerards <marco@gnu.org>
40869
40870 * bus/pci.c: New file.
40871
40872 * include/grub/pci.h: Likewise.
40873
40874 * include/grub/i386/pc/pci.h: Likewise.
40875
40876 * commands/lspci.c: Likewise.
40877
40878 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40879 `lspci.mod'.
40880 (pci_mod_SOURCES): New variable.
40881 (pci_mod_CFLAGS): Likewise.
40882 (pci_mod_LDFLAGS): Likewise.
40883 (lspci_mod_SOURCES): Likewise.
40884 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40885 (lspci_mod_LDFLAGS): Likewise.
58c69220 40886
c004e1b4 408872008-02-02 Bean <bean123ch@gmail.com>
40888
40889 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40890 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40891
40892 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40893 (grub_xfs_btree_node): New structure.
40894 (grub_xfs_btree_root): New structure.
40895 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40896 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40897 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40898 (GRUB_XFS_EXTENT_SIZE): Likewise.
40899 (grub_xfs_read_block): Support btree format type.
40900 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40901 Use directory block as basic unit.
40902
40903 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40904
40905 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40906 __attribute__ ((__regparm__ (1))).
40907
f95562bf 409082008-02-01 Robert Millan <rmh@aybabtu.com>
40909
40910 Correct a mistake in previous commit.
40911
40912 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40913 top.
40914 (normal/command.c_DEPENDENCIES): New variable.
40915
7d31f41f 409162008-02-01 Robert Millan <rmh@aybabtu.com>
40917
40918 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40919 top.
40920 (normal/command.c_DEPENDENCIES): New variable.
40921 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40922 * conf/i386-ieee1275.rmk: Likewise.
40923 * conf/i386-linuxbios.rmk: Likewise.
40924 * conf/i386-pc.rmk: Likewise.
40925 * conf/sparc64-ieee1275.rmk: Likewise.
40926 * conf/powerpc-ieee1275.rmk: Likewise.
40927 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40928
40929 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40930
60b6be74 409312008-02-01 Robert Millan <rmh@aybabtu.com>
40932
40933 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40934 call at beginning of function.
40935
078522ab 409362008-01-31 Pavel Roskin <proski@gnu.org>
40937
40938 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40939 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40940 (grub_mkrescue_SOURCES): Likewise.
078522ab 40941 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40942
ccaa8a5f 409432008-01-30 Robert Millan <rmh@aybabtu.com>
40944
40945 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40946 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40947 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40948 (grub_probe_SOURCES): ... to here.
40949
40950 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40951 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40952 * conf/i386-ieee1275.rmk: Likewise.
40953 * conf/i386-linuxbios.rmk: Likewise.
40954 * conf/powerpc-ieee1275.rmk: Likewise.
40955
ae5a9cd7 409562008-01-30 Tristan Gingold <gingold@free.fr>
40957
40958 * kern/rescue.c: Silently accept empty lines.
40959
70bc2ef2 409602008-01-29 Bean <bean123ch@gmail.com>
40961
40962 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40963 (real_code_2): Code cleanup and change comment style.
40964 (move_memory): Avoid using 32-bit address mode.
40965
6a4d50ea 409662008-01-29 Bean <bean123ch@gmail.com>
40967
40968 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40969 (png_mod_SOURCES): New variable.
40970 (png_mod_CFLAGS): Likewise.
40971 (png_mod_LDFLAGS): Likewise.
40972
40973 * video/readers/png.c: New file.
40974
11cc30ac 409752008-01-28 Robert Millan <rmh@aybabtu.com>
40976
40977 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40978 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40979 `ifndef GRUB_MOD_GAP' hack.
40980 * util/elf/grub-mkimage.c (add_segments): Likewise.
40981
3abc589f 409822008-01-27 Robert Millan <rmh@aybabtu.com>
40983
40984 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40985 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 40986 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 40987
e1907778 409882008-01-27 Robert Millan <rmh@aybabtu.com>
40989
40990 Get grub-emu to build again (including parallel builds).
40991
40992 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40993 Split into ...
40994 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40995 (normal/execute.c_DEPENDENCIES): ... this, ...
40996 (grub-emu_DEPENDENCIES): ... and this.
40997
40998 * conf/i386-efi.rmk: Likewise.
40999 * conf/i386-linuxbios.rmk: Likewise.
41000 * conf/i386-ieee1275.rmk: Likewise.
41001 * conf/powerpc-ieee1275.rmk: Likewise.
41002 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41003
2216b101 410042008-01-27 Robert Millan <rmh@aybabtu.com>
41005
41006 * NEWS: Add a few items.
41007
f75172d9 410082008-01-27 Robert Millan <rmh@aybabtu.com>
41009
41010 Fix parallel builds with grub-emu. Based on earlier commit for
41011 grub-probe and grub-setup.
41012
41013 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41014 (util/grub-emu.c_DEPENDENCIES): ... this.
41015 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41016 (util/grub-emu.c_DEPENDENCIES): ... this.
41017 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41018 (util/grub-emu.c_DEPENDENCIES): ... this.
41019 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41020 (util/grub-emu.c_DEPENDENCIES): ... this.
41021 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41022 (util/grub-emu.c_DEPENDENCIES): ... this.
41023
3f51de77 410242008-01-27 Pavel Roskin <proski@gnu.org>
41025
41026 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41027 to create a gap between _end and the modules added to the image
41028 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41029 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41030 * util/elf/grub-mkimage.c (add_segments): Likewise.
41031
2033f53e 410322008-01-26 Pavel Roskin <proski@gnu.org>
41033
41034 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41035 just return an error.
41036
22da1f6f 410372008-01-26 Bean <bean123ch@gmail.com>
41038
41039 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41040 (grub_reiserfs_get_item): Save offset of the next item.
41041 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41042
2a9525e6 410432008-01-25 Robert Millan <rmh@aybabtu.com>
41044
41045 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41046 make all filesystem sources appear together (possibly fixing omissions
41047 while at it).
41048 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41049 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41050 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41052
41053 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41054 add `kern/file.c'.
41055 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41056 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41057 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41058 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41059
41060 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41061 (probe): Add a sanity check to make sure of our ability to read
41062 requested files when probing for filesystem type.
41063
41064 * genmk.rb: Update copyright year (2007).
41065
41066 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41067 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41068 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41069 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41070 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41071 : Remove function prototypes.
41072
b95f71b5 410732008-01-25 Robert Millan <rmh@aybabtu.com>
41074
41075 Revert my previous commits (based on wrong assumption of how grub_errno
41076 works).
41077
fe6b695a 41078 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41079 * kern/file.c (grub_file_open): Likewise.
41080
d08bbb49 410812008-01-24 Pavel Roskin <proski@gnu.org>
41082
41083 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41084 that hang if GRUB tries to setup colors.
41085 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41086 colors for firmwares that don't support it.
41087 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41088 Recognize Open Hack'Ware, set flags to work around its
41089 limitations.
41090
605e36ed 410912008-01-24 Robert Millan <rmh@aybabtu.com>
41092
41093 * kern/file.c (grub_file_open): Do not account previous failures of
41094 unrelated functions when grub_errno is checked for.
41095 Reported by Oleg Strikov.
41096
bac332a1 410972008-01-24 Bean <bean123ch@gmail.com>
41098
41099 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41100 (grub_ufs_sblock): New member volume name.
41101 (grub_ufs_find_file): Fix string copy bug.
41102 (grub_ufs_label): Implement this function properly.
41103
41104 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41105 (grub_hfs_iterate_records): Use the correct file number for extents
41106 and catalog file. Fix problem in next index calculation.
41107 (grub_hfs_find_node): Replace recursive function call with loop.
41108 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41109
15c80c09 411102008-01-23 Robert Millan <rmh@aybabtu.com>
41111
41112 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41113 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41114 (grub_multiboot2_real_boot): New function prototype.
41115
41116 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41117 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41118
41119 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41120 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41121
305338fd 411222008-01-23 Robert Millan <rmh@aybabtu.com>
41123
41124 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41125 #ifdef'ed out grub_printf().
41126
3ea52685 411272008-01-23 Robert Millan <rmh@aybabtu.com>
41128
41129 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41130 grub_dprintf calls, since they make "debug=all" mode unusable.
41131 (grub_console_checkkey): Likewise.
41132
5882ae4b 411332008-01-23 Robert Millan <rmh@aybabtu.com>
41134
41135 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41136 `term/i386/pc/at_keyboard.c'.
41137 (pkglib_MODULES): Add `serial.mod'.
41138 (serial_mod_SOURCES): New variable.
41139 (serial_mod_CFLAGS): Likewise.
41140 (serial_mod_LDFLAGS): Likewise.
41141
41142 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41143 `<grub/powerpc/ieee1275/console.h>'.
41144 (grub_keyboard_controller_init): New function prototype.
41145 (grub_console_checkkey): Likewise.
41146 (grub_console_getkey): Likewise.
41147
41148 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41149 keyboard on i386.
41150
41151 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41152 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41153
06ab5303 411542008-01-23 Robert Millan <rmh@aybabtu.com>
41155
41156 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41157 present, "(memdisk)/boot/grub" becomes the default prefix.
41158
41159 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41160 a memdisk tarball with all the modules. Add --overlay=DIR option that
41161 allows users to overlay additional files into the image.
41162
dbb475a4 411632008-01-23 Robert Millan <rmh@aybabtu.com>
41164
41165 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41166 and `machine/memory.h'.
41167 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41168 (_multiboot_mod_SOURCES): New variable.
41169 (_multiboot_mod_CFLAGS): Likewise.
41170 (_multiboot_mod_LDFLAGS): Likewise.
41171 (multiboot_mod_SOURCES): Likewise.
41172 (multiboot_mod_CFLAGS): Likewise.
41173 (multiboot_mod_LDFLAGS): Likewise.
41174
41175 * include/grub/i386/ieee1275/loader.h: New file.
41176
41177 * include/grub/i386/ieee1275/machine.h: Likewise.
41178
41179 * include/grub/i386/ieee1275/memory.h: Likewise.
41180
41181 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41182 variable declaration.
41183 (grub_os_area_size): Likewise.
41184
41185 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41186 (grub_lower_mem, grub_upper_mem): New variables.
41187 (grub_stop_floppy): New function (just to make
41188 grub_multiboot2_real_boot() happy).
41189
41190 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41191 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41192 (grub_stop): New function.
41193 Include `"../realmode.S"' and `"../loader.S"'.
41194
41195 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41196 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41197
41198 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41199 rely on grub_multiboot2_real_boot() for final boot.
41200
25638629 412012008-01-22 Robert Millan <rmh@aybabtu.com>
41202
41203 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41204 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41205 device that doesn't look like an SD card.
41206 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41207 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41208 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41209 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41210 found.
41211
9dad816d 412122008-01-22 Robert Millan <rmh@aybabtu.com>
41213
41214 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41215 avoid claiming over our own code.
41216
34842f2d 412172008-01-22 Bean <bean123ch@gmail.com>
41218
41219 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41220 (jpeg_mod_SOURCES): New variable.
41221 (jpeg_mod_CFLAGS): Likewise.
41222 (jpeg_mod_LDFLAGS): Likewise.
41223
41224 * video/readers/jpeg.c : New file.
41225
44023a28 412262008-01-22 Bean <bean123ch@gmail.com>
41227
41228 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41229 there are no more items.
41230
bc2d8ac6 412312008-01-21 Robert Millan <rmh@aybabtu.com>
41232
41233 * kern/mm.c (grub_mm_init_region): Improve debug message.
41234
261bd4bc 412352008-01-21 Robert Millan <rmh@aybabtu.com>
41236
41237 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41238 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41239 address.
41240 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41241 a C macro.
41242 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41243 Indicates start of upper memory.
41244 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41245 (generate_image): Abort when image size is big enough to corrupt
41246 upper memory.
41247
41248 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41249 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41250 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41251 instead of hardcoding 0xA0000.
41252 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41253 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41254 instead of hardcoding 0xA0000.
41255
f970b55e 412562008-01-21 Robert Millan <rmh@aybabtu.com>
41257
41258 * disk/memdisk.c (memdisk_size): New variable.
41259 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41260 `memdisk_size'.
41261 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41262 image to dynamic memory.
41263 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41264 `memdisk_size'. Free memdisk block.
41265
1a8b0526 412662008-01-21 Robert Millan <rmh@aybabtu.com>
41267
41268 Fix detection of very small filesystems (like tar).
41269
41270 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41271 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41272 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41273 a problem with this disk).
41274
6e9b4aab 412752008-01-21 Robert Millan <rmh@aybabtu.com>
41276
41277 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41278 on grub_biosdisk_rw_standard() error.
41279
0d8837b2 412802008-01-21 Robert Millan <rmh@aybabtu.com>
41281
41282 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41283 recent changes.
41284 * kern/elf.c: Likewise.
41285 * kern/ieee1275/ieee1275.c: Likewise.
41286 * kern/powerpc/ieee1275/openfw.c: Likewise.
41287 * term/ieee1275/ofconsole.c: Likewise.
41288
ffd36e34 412892008-01-21 Robert Millan <rmh@aybabtu.com>
41290
41291 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41292
3f0093d0 41293 * include/grub/kernel.h (grub_arch_memdisk_addr)
41294 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41295
3f0093d0 41296 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41297 (grub_arch_memdisk_size): ... to here.
ffd36e34 41298
6c391b21 412992008-01-21 Robert Millan <rmh@aybabtu.com>
41300
41301 Mostly based on bugfix from Bean.
41302
41303 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41304 attribute with hook() parameter.
41305 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41306 declaration.
41307 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41308 attribute with hook() parameter.
41309 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41310 declaration.
41311
55a581dc 413122008-01-21 Robert Millan <rmh@aybabtu.com>
41313
41314 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41315 (pkglib_MODULES): Add `memdisk.mod'.
41316 (memdisk_mod_SOURCES): New variable.
41317 (memdisk_mod_CFLAGS): Likewise.
41318 (memdisk_mod_LDFLAGS): Likewise.
41319
41320 * disk/memdisk.c: New file.
41321
41322 * include/grub/disk.h (grub_disk_dev_id): Add
41323 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41324
41325 * include/grub/i386/pc/kernel.h
41326 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41327 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41328 (grub_kernel_image_size): New variable declaration.
41329 (grub_total_module_size): Likewise.
41330 (grub_memdisk_image_size): Likewise.
41331
41332 * include/grub/i386/pc/memory.h
41333 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41334
41335 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41336 (grub_arch_memdisk_addr): New variable declaration.
41337 (grub_arch_memdisk_size): Likewise.
41338
41339 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41340 (grub_arch_memdisk_size): Likewise.
41341
41342 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41343 (codestart): Replace hardcoded `0x100000' with
41344 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41345
41346 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41347 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41348 not NULL, append the contents of the file it refers to, at the end of
41349 the compressed kernel image. Initialize `grub_memdisk_image_size'
41350 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41351 (options): Add "memdisk"|'m' option.
41352 (main): Parse --memdisk|-m option, and pass user-provided path as
41353 parameter to generate_image().
41354
3d7f54c9 413552008-01-20 Robert Millan <rmh@aybabtu.com>
41356
41357 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41358 grub_dprintf() calls from here ...
41359 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41360
0bf74728 413612008-01-20 Robert Millan <rmh@aybabtu.com>
41362
41363 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41364
41365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41366 declaration.
41367 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41368 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41369 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41370 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41371 property).
41372 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41373 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41374
33bf70a7 413752008-01-19 Robert Millan <rmh@aybabtu.com>
41376
fe6b695a 41377 Get rid of confusing function (superseded by
33bf70a7 41378 `grub_ieee1275_get_integer_property')
41379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41380 prototype.
41381 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41382 function.
41383 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41384 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41385 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41386
e2da7d26 413872008-01-19 Robert Millan <rmh@aybabtu.com>
41388
41389 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41390 command after "shut-down", since implementations differ on which
41391 the command for halt is.
41392
59f1fd8d 413932008-01-19 Robert Millan <rmh@aybabtu.com>
41394
41395 * include/grub/i386/linuxbios/console.h: Add header protection.
41396 (grub_keyboard_controller_init): New function prototype.
41397 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41398 (KEYBOARD_COMMAND_READ): Likewise.
41399 (KEYBOARD_COMMAND_WRITE): Likewise.
41400 (KEYBOARD_SCANCODE_SET1): Likewise.
41401 (grub_keyboard_controller_write): New function.
41402 (grub_keyboard_controller_read): Likewise.
41403 (grub_keyboard_controller_init): Likewise.
41404
41405 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41406 (grub_console_init): On coreboot/LinuxBIOS, call
41407 grub_keyboard_controller_init().
41408
5f5a7c15 414092008-01-19 Robert Millan <rmh@aybabtu.com>
41410
41411 PowerPC changes provided by Pavel Roskin.
41412
41413 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41414 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41415 don't rely on cmain() doing it.
41416 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41417 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41418
1210e168 414192008-01-16 Robert Millan <rmh@aybabtu.com>
41420
41421 * include/grub/i386/linuxbios/memory.h
41422 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41423 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41424 receive `table_header' as argument. Instead, probe for it in the
41425 known memory ranges where it can be present.
41426 (grub_available_iterate): Do not pass a fixed `table_header' address
41427 to grub_linuxbios_table_iterate().
41428
3d04eab8 414292008-01-15 Robert Millan <rmh@aybabtu.com>
41430
41431 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41432 * conf/i386-ieee1275.rmk: New file.
41433 * include/grub/i386/ieee1275/console.h: Likewise.
41434 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41435 * include/grub/i386/ieee1275/kernel.h: Likewise.
41436 * include/grub/i386/ieee1275/time.h: Likewise.
41437 * kern/i386/ieee1275/init.c: Likewise.
41438 * kern/i386/ieee1275/startup.S: Likewise.
41439
d1bc1b73 414402008-01-15 Robert Millan <rmh@aybabtu.com>
41441
41442 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41443 when pointers are 32-bit (but still do set it to one when they are
41444 64-bit).
41445
66a65807 414462008-01-15 Robert Millan <rmh@aybabtu.com>
41447
41448 * include/grub/ieee1275/ieee1275.h
41449 (grub_ieee1275_get_integer_property): New function prototype.
41450
41451 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41452 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41453 grub_ieee1275_get_property() to handle endianness.
66a65807 41454
41455 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41456 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41457 where appropriate.
66a65807 41458 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41459 (grub_map): Likewise.
41460 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41461
a83ccafd 414622008-01-15 Bean <bean123ch@gmail.com>
41463
41464 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41465 (grub_script_execute_cmdline): Reset grub_errno.
41466
41467 * normal/main.c (read_config_file): Reset grub_errno.
41468
41469 * normal/parse.y (script_init): New.
41470 (script): Move function and menuentry here.
41471 (delimiter): New.
41472 (command): Add delimiter at the end of command.
41473 (commands): Adjust to match the new command.
41474 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41475 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41476 (if): Use the new commands.
41477
41478 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41479
df6ecfc6 414802008-01-15 Robert Millan <rmh@aybabtu.com>
41481
41482 * normal/menu.c (run_menu): Move timeout message from here ...
41483 (print_timeout): ... to here.
41484 (run_menu): Use print_timeout() once during initial draw to print
41485 the whole message, and again in every clock tick to update only
41486 the number of seconds.
41487
87ae25eb 414882008-01-15 Robert Millan <rmh@aybabtu.com>
41489
41490 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41491 actual size of `available' from grub_ieee1275_get_property(), and
41492 restrict parsing to that bound.
41493
47bf09a4 414942008-01-15 Christian Franke <franke@computer.org>
41495
41496 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41497 (argp_program_version): Remove variable.
41498 (argp_program_bug_address): Likewise.
41499 (options): Convert from struct argp_option to struct option.
41500 (struct arguments): Remove.
41501 (parse_opt): Remove.
41502 (usage): New function.
41503 (main): Replace struct args members by simple variables.
41504 Replace argp_parse() by getopt_long().
41505 Add switch to evaluate options.
41506 Add missing "(...)" around root_dev in prefix string.
41507
c86f1469 415082008-01-14 Robert Millan <rmh@aybabtu.com>
41509
41510 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41511 for grub_ieee1275_exit(), in order to improve portability.
41512
e622c559 415132008-01-14 Robert Millan <rmh@aybabtu.com>
41514
41515 * util/grub.d/10_linux.in (prefix): Define.
41516 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41517
44cb1ec8 415182008-01-13 Pavel Roskin <proski@gnu.org>
41519
41520 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41521 grub_errno if no errors have been detected.
41522
1eb8c802 415232008-01-12 Robert Millan <rmh@aybabtu.com>
41524
41525 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41526 (grub_util_get_dev_abstraction): New function prototype.
41527
41528 * util/getroot.c: Include `<grub/util/getroot.h>'
41529 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41530 (grub_util_get_dev_abstraction): ... here (new function).
41531
41532 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41533 `PRINT_ABSTRACTION'.
41534 (probe): Probe for abstraction type when requested.
41535 (main): Understand `--target=abstraction'.
41536
41537 * util/i386/efi/grub-install.in: Add abstraction module to core
41538 image when it is found to be necessary.
41539 * util/i386/pc/grub-install.in: Likewise.
41540 * util/powerpc/ieee1275/grub-install.in: Likewise.
41541
41542 * util/update-grub_lib.in (font_path): Return system path without
41543 converting to GRUB path.
41544 * util/update-grub.in: Convert system path returned by font_path()
41545 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41546 abstraction module is needed for loading fonts (if any). Export
41547 that as `GRUB_PRELOAD_MODULES'.
41548 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41549 insmod commands).
41550
52bd3de9 415512008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41552
41553 Remove some unused code from reiserfs.
f19dbdb7 41554
52bd3de9 41555 * fs/reiserfs.c (struct grub_reiserfs_key)
41556 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41557 (struct grub_reiserfs_node_body): Removed.
41558 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41559 Likewise.
41560 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41561 Likewise.
41562 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41563 Likewise.
41564 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41565 Likewise.
41566 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41567 Likewise.
41568 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41569 Likewise.
41570 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41571 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41572 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41573
2f80039d 415742008-01-10 Robert Millan <rmh@aybabtu.com>
41575
41576 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41577 Determines if a file is garbage left by packaging systems, etc.
41578 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41579 for processing /etc/grub.d scripts.
41580 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41581 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41582 as a condition for processing Linux images.
41583
87888032 415842008-01-10 Pavel Roskin <proski@gnu.org>
41585
41586 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41587 to compile reiserfs.c on PowerPC.
41588
7e54fced 415892008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41590
41591 * kern/device.c (grub_device_iterate): Do not abort device iteration
41592 when one of the devices cannot be opened.
41593 * kern/disk.c (grub_disk_open): Do not account previous failures of
41594 unrelated functions when grub_errno is checked for.
41595
5aa541e6 415962008-01-08 Robert Millan <rmh@aybabtu.com>
41597
41598 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41599 `! grub_linux_is_bzimage', change order of address comparison to make
41600 it more intuitive, and improve "too big zImage" error message.
41601
7076340d 416022008-01-08 Robert Millan <rmh@aybabtu.com>
41603
41604 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41605 `$(update-grub_DATA)'.
41606 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41607 targets.
41608
9ca70333 416092008-01-07 Robert Millan <rmh@aybabtu.com>
41610
41611 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41612 which instruction is modified by grub-setup during installation
41613 (since it wasn't obvious by only looking at this file).
41614
38ccf575 416152008-01-07 Robert Millan <rmh@aybabtu.com>
41616
41617 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41618 listing actual TODO items.
41619
f5db4291 416202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41621
868967cf 41622 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41623 correctly.
41624 (grub_reiserfs_get_key_offset): Likewise.
41625 (grub_reiserfs_set_key_offset): Likewise.
41626 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 41627 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 41628
41629 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41630 better to remove the bitfield version completely.
f19dbdb7 41631
868967cf 416322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41633
f5db4291 41634 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41635 allocated from the heap, due to the fshelp implementation.
41636 (grub_reiserfs_dir): Free NODE, due to the same reason.
41637
492e6d9d 416382008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41639
41640 Mostly from Vincent Pelletier:
f19dbdb7 41641
492e6d9d 41642 * fs/reiserfs.c: New file.
f19dbdb7 41643
492e6d9d 41644 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41645 (reiserfs_mod_SOURCES): New variable.
41646 (reiserfs_mod_CFLAGS): Likewise.
41647 (reiserfs_mod_LDFLAGS): Likewise.
41648
41649 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41650 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41651 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41652 normal/color.c.
41653
9ce3e7c1 416542008-01-06 Robert Millan <rmh@aybabtu.com>
41655
41656 * normal/color.c: Remove `<grub/env.h>'.
41657
f3b58148 416582008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41659
41660 * include/grub/normal.h: Include <grub/env.h>.
41661
7ac3bcfa 416622008-01-05 Robert Millan <rmh@aybabtu.com>
41663
41664 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41665 usage example with `(hd0,1)'.
fb358190 41666 Reported by Samuel Thibault.
7ac3bcfa 41667
c8ee99d7 416682008-01-05 Robert Millan <rmh@aybabtu.com>
41669
41670 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41671 (grub_linux_boot_zimage): Rename to ...
41672 (grub_linux_boot): ... this.
41673 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41674 (grub_linux_boot_zimage): Conditionalize zImage copy.
41675
41676 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41677 (grub_linux_boot_bzimage): Remove prototype.
41678 (grub_linux_boot_zimage): Rename to ...
41679 (grub_linux_boot): ... this.
41680
41681 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41682 (grub_linux_boot): Remove function.
41683
0ece25b1 416842008-01-05 Robert Millan <rmh@aybabtu.com>
41685
41686 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41687 (grub_env_write_color_highlight): Likewise.
41688 (grub_wait_after_message): Likewise.
41689
41690 * normal/color.c: New file.
41691
41692 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41693 (normal_mod_DEPENDENCIES): Likewise.
41694
41695 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41696 (normal_mod_DEPENDENCIES): Likewise.
41697
41698 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41699 (normal_mod_DEPENDENCIES): Likewise.
41700
41701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41702 (normal_mod_DEPENDENCIES): Likewise.
41703
41704 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41705 for waiting after a message is printed.
41706 * normal/main.c (read_config_file): Likewise.
41707 (grub_normal_init): Register grub_env_write_color_normal() and
41708 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41709 `color_highlight' variables as global.
41710
41711 * normal/menu.c (grub_wait_after_message): New function.
41712 (grub_color_menu_normal): New variable. Replaces ...
41713 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41714 (grub_color_menu_highlight): New variable. Replaces ...
41715 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41716 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41717 `GRUB_TERM_COLOR_STANDARD'.
41718 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41719 `normal_code' and `highlight_code' to `old_color_normal' and
41720 `old_color_highlight', respectively.
41721 (grub_menu_init_page): Update colors when drawing the menu, based on
41722 `menu_color_normal' and `menu_color_highlight' variables.
41723 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41724 a message is printed.
41725
182dd4e5 417262008-01-05 Robert Millan <rmh@aybabtu.com>
41727
41728 * kern/env.c (grub_env_context_open): Propagate hooks for global
41729 variables to new context.
41730
41731 * kern/main.c (grub_set_root_dev): Export `root' variable.
41732
ddf8f6ad 417332008-01-05 Robert Millan <rmh@aybabtu.com>
41734
41735 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41736 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41737 them.
41738
d8b43d9b 417392008-01-05 Robert Millan <rmh@aybabtu.com>
41740
41741 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41742
2bff2de3 417432008-01-04 Christian Franke <franke@computer.org>
41744
41745 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41746 of eisa_mmap.
41747
97eab917 417482008-01-03 Pavel Roskin <proski@gnu.org>
41749
41750 * kern/i386/linuxbios/init.c: Put "void" to all function
41751 declarations with no arguments.
41752 * kern/powerpc/ieee1275/init.c: Likewise.
41753 * term/i386/pc/at_keyboard.c: Likewise.
41754 * term/i386/pc/vga_text.c: Likewise.
41755 * util/grub-mkdevicemap.c: Likewise.
41756
b9416d00 417572008-01-02 Robert Millan <rmh@aybabtu.com>
41758
41759 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41760 message when loaded image is out of bounds.
41761 (grub_multiboot_load_elf64): Likewise.
41762
92695df9 417632008-01-02 Pavel Roskin <proski@gnu.org>
41764
41765 * util/grub.d/10_linux.in: Try version without ".old" when
41766 looking for initrd. It's better to use initrd from the newer
41767 kernel of the same version than no initrd at all.
41768
d98d9cad 417692008-01-01 Robert Millan <rmh@aybabtu.com>
41770
41771 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41772
dbfdce36 417732008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41774
f19dbdb7 41775 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41776 grub_video_get_active_render_target.
41777 (grub_video_adapter): Added unmap_color and get_active_render_target.
41778
f19dbdb7 41779 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41780 grub_video_get_active_render_target.
41781 (grub_video_get_info): Changed method to accept NULL pointer as an
41782 argument to allow detection of active video adapter.
41783
41784 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41785 grub_video_vbe_unmap_color_int.
41786 Added grub_video_vbe_unmap_color and
41787 grub_video_vbe_get_active_render_target.
41788 (grub_video_vbe_adapter): Added unmap_color and
41789 get_active_render_target.
41790
f19dbdb7 41791 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41792 with grub_video_vbe_unmap_color_int.
41793
41794 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41795 (DEFAULT_NORMAL_COLOR): Likewise.
41796 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41797 (DEFAULT_FG_COLOR): Removed.
41798 (DEFAULT_BG_COLOR): Likewise.
41799 (DEFAULT_CURSOR_COLOR): Changed value.
41800 (grub_virtual_screen): Added standard_color_setting,
41801 normal_color_setting, highlight_color_setting and term_color.
41802 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41803 (bitmap_width): Added.
41804 (bitmap_height): Likewise.
41805 (bitmap): Likewise.
41806 (set_term_color): Likewise.
41807 (grub_virtual_screen_setup): Changed to use new terminal coloring
41808 settings.
41809 (grub_gfxterm_init): Added init for bitmap.
41810 (grub_gfxterm_fini): Added destroy for bitmap.
41811 (redraw_screen_rect): Updated to use background bitmap and new
41812 terminal coloring.
41813 (scroll_up): Added optimization for case when there is no bitmap.
41814 (grub_gfxterm_cls): Fixed to use correct background color.
41815 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41816 coloring.
41817 (grub_virtual_screen_setcolor): Likewise.
41818 (grub_virtual_screen_getcolor): Added.
41819 (grub_gfxterm_background_image_cmd): Likewise.
41820 (grub_video_term): Added setcolor and getcolor.
41821 (MOD_INIT): Added registration of background_image command.
41822 (MOD_TERM): Added unregistration for background_image command.
41823
c3c20931 418242007-12-30 Pavel Roskin <proski@gnu.org>
41825
41826 * loader/multiboot_loader.c: Fix multiboot command
41827 unregistration. Fix all typos in the word "multiboot".
41828
df266716 418292007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41830
41831 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41832 support for initrd names used in Fedora.
41833
fc6e896c 418342007-12-26 Bean <bean123ch@gmail.com>
41835
41836 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41837 (cpio_mod_SOURCES): New variable.
41838 (cpio_mod_CFLAGS): Likewise.
41839 (cpio_mod_LDFLAGS): Likewise.
41840
41841 * fs/cpio.c: New file.
41842
41843 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41844
41845 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41846
41847 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41848
41849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41850
533110ad 418512007-12-25 Robert Millan <rmh@aybabtu.com>
41852
41853 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41854 (grub_getcolor): New function.
41855
41856 * kern/term.c (grub_getcolor): New function.
41857 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41858 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41859 (print_entry): Set normal and highlight colors to
41860 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41861 respectively, before printing and restore them to old
41862 values afterwards.
41863 (grub_menu_init_page): Likewise. Fill an additional colored space
41864 that would otherwise be left blank.
41865
41866 * term/efi/console.c (grub_console_getcolor): New function.
41867 (struct grub_console_term.getcolor): New variable.
41868 * term/i386/pc/console.c (grub_console_getcolor): New function.
41869 (struct grub_console_term.getcolor): New variable.
41870 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41871 (struct grub_console_term.getcolor): New variable.
41872
41873 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41874 (struct grub_console_term.setcolor): Remove variable.
41875 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41876 (struct grub_console_term.setcolor): Remove variable.
41877 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41878 (struct grub_console_term.setcolor): Remove variable.
41879 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41880 (struct grub_console_term.setcolor): Remove variable.
41881
4931827f 418822007-12-25 Robert Millan <rmh@aybabtu.com>
41883
41884 * configure.ac: Search for possible unifont.hex locations, and
41885 define UNIFONT_HEX if found.
41886
41887 * Makefile.in (UNIFONT_HEX): Define variable.
41888 (DATA): Rename to ...
41889 (PKGLIB): ... this. Update all users.
41890 (PKGDATA): New variable.
41891 (pkgdata_IMAGES): Rename to ...
41892 (pkglib_IMAGES): ... this. Update all users.
41893 (pkgdata_MODULES): Rename to ...
41894 (pkglib_MODULES): ... this. Update all users.
41895 (pkgdata_PROGRAMS): Rename to ...
41896 (pkglib_PROGRAMS): ... this. Update all users.
41897 (pkgdata_DATA): Rename to ...
41898 (pkglib_DATA): ... this. Update all users.
41899 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41900 (unicode.pff, ascii.pff): New rules.
41901 (all-local): Add `$(PKGDATA)' dependency.
41902 (install-local): Process `$(PKGDATA)'.
41903
41904 * util/update-grub_lib.in (font_path): Search for *.pff files in
41905 a few more locations, including `${pkgdata}'.
41906
57e57e31 419072007-12-23 Robert Millan <rmh@aybabtu.com>
41908
41909 Patch from Bean <bean123ch@gmail.com>:
41910 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41911 `size'.
41912
4bc72aa9 419132007-12-21 Bean <bean123ch@gmail.com>
41914
41915 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41916 (ntfscomp_mod_SOURCES): New variable.
41917 (ntfscomp_mod_CFLAGS): Likewise.
41918 (ntfscomp_mod_LDFLAGS): Likewise.
41919
41920 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41921 (grub_probe_SOURCES): Likewise.
41922 (grub_emu_SOURCES): Likewise.
41923
41924 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41925 (grub_emu_SOURCES): Likewise.
41926
41927 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41928 (grub_emu_SOURCES): Likewise.
41929
41930 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41931 (grub_emu_SOURCES): Likewise.
41932
41933 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41934 (read_run_list): Renamed to grub_ntfs_read_run_list.
41935 (decomp_nextvcn): Moved to ntfscomp.c.
41936 (decomp_getch): Likewise.
41937 (decomp_get16): Likewise.
41938 (decomp_block): Likewise.
41939 (read_block): Likewise.
41940 (read_data): Partially moved to ntfscomp.c.
41941 (fixup): Change unsigned to grub_uint16_t.
41942 (read_mft): Change unsigned long to grub_uint32_t.
41943 (read_attr): Likewise.
41944 (read_data): Likewise.
41945 (read_run_data): Likewise.
41946 (read_run_list): Likewise.
41947 (read_mft): Likewise.
41948
41949 * fs/ntfscomp.c: New file.
41950
41951 * include/grub/ntfs.h: New file.
41952
af680a87 419532007-12-16 Robert Millan <rmh@aybabtu.com>
41954
41955 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41956 IDE disk check, since Linux is known to support 20 IDE disks.
41957 Reported by Colin Watson.
41958
84be7599 419592007-12-15 Bean <bean123ch@gmail.com>
41960
41961 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41962 (lnxboot_img_SOURCES): New variable.
41963 (lnxboot_img_ASFLAGS): Likewise.
41964 (lnxboot_img_LDFLAGS): Likewise.
41965
41966 * boot/i386/pc/lnxboot.S: New file.
41967
6af9db01 419682007-11-24 Pavel Roskin <proski@gnu.org>
41969
41970 * configure.ac: Test if '--build-id=none' is supported by the
41971 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41972 objcopy to generate incorrect binary files (binutils
41973 2.17.50.0.18-1 as shipped by Fedora 8).
41974 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41975 linking, so that build ID doesn't break the test.
41976
7361cfe6 419772007-11-24 Pavel Roskin <proski@gnu.org>
41978
41979 * include/grub/i386/time.h: use "void" in the argument list
41980 of grub_cpu_idle().
41981 * include/grub/powerpc/time.h: Likewise.
41982 * include/grub/sparc64/time.h: Likewise.
41983
1593e10c 419842007-11-18 Christian Franke <franke@computer.org>
41985
41986 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41987 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41988 This fixes the problem that function keys did not work in grub-emu.
41989
3b8db1a8 419902007-11-18 Christian Franke <franke@computer.org>
41991
41992 * disk/host.c (grub_host_open): Remove attribute unused from
41993 name parameter. Add check for "host". This fixes the problem
41994 that grub-emu does not find partitions.
41995
2e29408d 419962007-11-18 Christian Franke <franke@computer.org>
41997
41998 * util/hostfs.c (is_dir): New function.
41999 (grub_hostfs_dir): Handle missing dirent.d_type case.
42000 (grub_hostfs_read): Add missing fseek().
42001 (grub_hostfs_label): Clear label pointer. This fixes a crash
42002 of grub-emu on "ls (host)".
42003
398cd047 420042007-11-18 Christian Franke <franke@computer.org>
42005
42006 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42007 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42008 to 64 bit boundary by default.
42009
c405c391 420102007-11-18 Bean <bean123ch@gmail.com>
42011
42012 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42013 (hexdump_mod_SOURCES): New variable.
42014 (hexdump_mod_CFLAGS): Likewise.
42015 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42016
c405c391 42017 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42018
42019 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42020
42021 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42022
42023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42024
42025 * include/grub/hexdump.h: New file.
42026
42027 * commands/hexdump.c: New file.
42028
5cced7fd 420292007-11-10 Robert Millan <rmh@aybabtu.com>
42030
42031 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42032 in grub_outb() calls.
42033 (beep_on): Likewise.
42034
8b714eb0 420352007-11-10 Christian Franke <franke@computer.org>
42036
42037 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42038 (grub_menu_run): Likewise.
42039
ce0f1839 420402007-11-10 Robert Millan <rmh@aybabtu.com>
42041
42042 * include/grub/i386/efi/machine.h: New file.
42043 * include/grub/i386/linuxbios/machine.h: Likewise.
42044 * include/grub/i386/pc/machine.h: Likewise.
42045 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42046 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42047
42048 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42049 (serial_hw_io_addr): New variable.
42050 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42051 instead of `(unsigned short *) 0x400'.
42052
270c237d 420532007-11-10 Bean <bean123ch@gmail.com>
42054
42055 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42056
a87783bf 420572007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42058
42059 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42060 (vga_mod_SOURCES): Added.
42061 (vga_mod_CFLAGS): Likewise.
42062 (vga_mod_LDFLAGS): Likewise.
42063
42064 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42065 grub_outb() calls.
42066 (set_map_mask): Likewise.
42067 (set_read_map): Likewise.
42068 (set_read_address): Likewise.
42069 (vga_font): Removed variable.
42070 (get_vga_glyph): Removed function.
42071 (invalidate_char): Likewise.
42072 (write_char): Changed to use grub_font_get_glyph() for font
42073 information.
42074 (grub_vga_putchar): Likewise.
42075 (grub_vga_getcharwidth): Likewise.
42076
6433b448 420772007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42078
42079 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42080 flags.
42081 (pxeboot_img_LDFLAGS): Likewise.
42082 (diskboot_img_LDFLAGS): Likewise.
42083 (kernel_img_LDFLAGS): Likewise.
42084
49178511 420852007-11-06 Robert Millan <rmh@aybabtu.com>
42086
42087 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42088 in grub_outb() calls.
42089 (serial_hw_init): Likewise.
42090
53b052de 420912007-11-05 Robert Millan <rmh@aybabtu.com>
42092
42093 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42094 spaces. Skip non-regular files.
42095
5ab33bba 420962007-11-05 Robert Millan <rmh@aybabtu.com>
42097
42098 * kern/disk.c (grub_disk_firmware_fini)
42099 (grub_disk_firmware_is_tainted): New variables.
42100
42101 * include/grub/disk.h (grub_disk_firmware_fini)
42102 (grub_disk_firmware_is_tainted): Likewise.
42103
42104 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42105 (grub_disk_biosdisk_fini): ... to here.
42106 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42107 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42108 is set. Register grub_disk_biosdisk_fini() in
42109 `grub_disk_firmware_fini'.
42110
42111 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42112 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42113 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42114 to finish existing firmware disk interface.
42115
42116 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42117 (ata_mod_SOURCES): New variable.
42118 (ata_mod_CFLAGS): Likewise.
42119 (ata_mod_LDFLAGS): Likewise.
42120
0149ab7c 421212007-11-05 Robert Millan <rmh@aybabtu.com>
42122
42123 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42124 (grub_ata_wait): Reimplement using grub_millisleep().
42125
42126 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42127 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42128
be7ac41e 421292007-11-03 Marco Gerards <marco@gnu.org>
42130
42131 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42132 (CRTC_ADDR_PORT): New macro.
42133 (CRTC_DATA_PORT): Likewise.
42134 (CRTC_CURSOR): Likewise.
42135 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42136 (CRTC_CURSOR_ADDR_LOW): Likewise.
42137 (update_cursor): New function.
42138 (grub_console_real_putchar): Call `update_cursor'.
42139 (grub_console_gotoxy): Likewise.
42140 (grub_console_cls): Set the default color when clearing the
42141 screen.
42142 (grub_console_setcursor): Implemented.
42143
bb06ab2e 421442007-11-03 Marco Gerards <marco@gnu.org>
42145
42146 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42147 become activate.
42148 (grub_ata_pio_write): Likewise.
42149
42150 (grub_atapi_identify): Wait after issuing an ATA command.
42151 (grub_atapi_packet): Likewise.
42152 (grub_ata_identify): Likewise.
42153 (grub_ata_readwrite): Likewise.
42154
cf8f780b 421552007-11-03 Marco Gerards <marco@gnu.org>
42156
42157 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42158 (grub_ata_pio_write): Likewise.
42159 (grub_ata_readwrite): Use `grub_error', instead of
42160 returning `grub_errno'.
42161
ed649e54 421622007-11-03 Marco Gerards <marco@gnu.org>
42163
42164 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42165 grub_ata_pio_write once for every single sector, instead of for
42166 multiple sectors.
42167
ca25d8f0 421682007-10-31 Robert Millan <rmh@aybabtu.com>
42169
42170 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42171
42172 * conf/i386-linuxbios.rmk: New file.
42173
42174 * kern/i386/pc/hardware.c: Likewise.
42175 * term/i386/pc/at_keyboard.c: Likewise.
42176 * term/i386/pc/vga_text.c: Likewise.
42177
42178 * include/grub/i386/linuxbios/boot.h: Likewise.
42179 * include/grub/i386/linuxbios/console.h: Likewise.
42180 * include/grub/i386/linuxbios/init.h: Likewise.
42181 * include/grub/i386/linuxbios/kernel.h: Likewise.
42182 * include/grub/i386/linuxbios/loader.h: Likewise.
42183 * include/grub/i386/linuxbios/memory.h: Likewise.
42184 * include/grub/i386/linuxbios/serial.h: Likewise.
42185 * include/grub/i386/linuxbios/time.h: Likewise.
42186
42187 * kern/i386/linuxbios/init.c: Likewise.
42188 * kern/i386/linuxbios/startup.S: Likewise.
42189 * kern/i386/linuxbios/table.c: Likewise.
42190
e911ecc1 421912007-10-31 Marco Gerards <marco@gnu.org>
42192
42193 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42194 (ata_mod_SOURCES): New variable.
42195 (ata_mod_CFLAGS): Likewise.
42196 (ata_mod_LDFLAGS): Likewise.
42197
42198 * disk/ata.c: New file.
42199
42200 * include/grub/disk.h (grub_disk_dev_id): Add
42201 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42202
7f66d0e0 422032007-10-31 Robert Millan <rmh@aybabtu.com>
42204
42205 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42206 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42207
42208 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42209 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42210
42211 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42212 `<grub/types.h>'.
42213
42214 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42215
5cd7dd46 422162007-10-27 Robert Millan <rmh@aybabtu.com>
42217
3236ca65 42218 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42219
2ebfc90f 422202007-10-22 Robert Millan <rmh@aybabtu.com>
42221
42222 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42223 `"../realmode.S"'.
42224 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42225
73fcb0f3 422262007-10-22 Robert Millan <rmh@aybabtu.com>
42227
42228 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42229 (pkgdata_MODULES): Add `biosdisk.mod'.
42230 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42231 variables.
42232
42233 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42234 (grub_biosdisk_init): Replace with ...
42235 (GRUB_MOD_INIT(biosdisk)): ... this.
42236 (grub_biosdisk_fini): Replace with ...
42237 (GRUB_MOD_FINI(biosdisk)): ... this.
42238
42239 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42240 (grub_machine_init): Remove call to grub_biosdisk_init().
42241 (grub_machine_fini): Remove call to grub_machine_fini().
42242
42243 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42244
3381d274 422452007-10-22 Robert Millan <rmh@aybabtu.com>
42246
42247 * include/grub/time.h: New file.
42248 * include/grub/i386/time.h: Likewise.
42249 * include/grub/powerpc/time.h: Likewise.
42250 * include/grub/sparc64/time.h: Likewise.
42251
42252 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42253 instances to ...
42254 (KERNEL_MACHINE_TIME_HEADER): ... this.
42255 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42256 instances to ...
42257 (KERNEL_MACHINE_TIME_HEADER): ... this.
42258 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42259 instances to ...
42260 (KERNEL_MACHINE_TIME_HEADER): ... this.
42261
42262 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42263 (grub_millisleep): New function.
42264 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42265 (grub_millisleep): New function.
42266 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42267 Remove `grub/machine/time.h' include.
42268 (grub_millisleep): New function.
42269 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42270 Remove `grub/machine/time.h' include.
42271 (grub_millisleep): New function.
42272
42273 * include/grub/misc.h (grub_div_roundup): New function.
42274
42275 * kern/misc.c: Include `<grub/time.h>'.
42276 (grub_millisleep_generic): New function.
42277
42278 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42279 Add `time.h'.
42280 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42281 Add `time.h'.
42282 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42283 `machine/time.h'. Add `time.h'.
42284 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42285
a39a0312 422862007-10-21 Robert Millan <rmh@aybabtu.com>
42287
42288 * include/grub/misc.h (grub_max): New function.
42289
2aad70e2 422902007-10-21 Robert Millan <rmh@aybabtu.com>
42291
42292 * util/misc.c (grub_util_info): Call fflush() before returning.
42293
54b71c4b 422942007-10-20 Robert Millan <rmh@aybabtu.com>
42295
42296 * genmk.rb (Image): Copy `extra_flags' from here ...
42297 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42298
42299 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42300 to `argc' and `args' arguments.
42301
a979f513 423022007-10-17 Robert Millan <rmh@aybabtu.com>
42303
42304 * kern/i386/loader.S: New file.
42305
42306 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42307 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42308 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42309 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42310 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42311 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42312 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42313 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42314 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42315 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42316 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42317 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42318 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42319 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42320
42321 * kern/i386/realmode.S: New file.
42322
42323 * kern/i386/pc/startup.S (protstack): Moved from here ...
42324 * kern/i386/realmode.S (protstack)... to here.
42325 * kern/i386/pc/startup.S (gdt): Moved from here ...
42326 * kern/i386/realmode.S (gdt)... to here.
42327 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42328 * kern/i386/realmode.S (prot_to_real)... to here.
42329
42330 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42331 `kern/i386/realmode.S'.
42332
825fc8fd 423332007-10-17 Robert Millan <rmh@aybabtu.com>
42334
42335 * include/grub/i386/loader.h: New file.
42336
42337 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42338 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42339 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42340 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42341 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42342 * include/grub/i386/loader.h (grub_linux_prot_size)
42343 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42344 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42345 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42346 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42347
42348 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42349
e179b2f4 423502007-10-15 Robert Millan <rmh@aybabtu.com>
42351
42352 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42353 filesystem when dev->disk is unset.
42354 Do probe for filesystem even when dev->disk->has_partitions is set.
42355 In case a filesystem is found, always report it.
42356 In case it isn't, if dev->disk->has_partitions is set, report that
42357 a partition table was found instead of reporting that no filesystem
42358 could be identified.
42359
5db82af6 423602007-10-12 Robert Millan <rmh@aybabtu.com>
42361
42362 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42363 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42364
68f6ac74 42365 * include/grub/types.h (grub_host_to_target16): New macro.
42366 (grub_host_to_target32): Likewise.
42367 (grub_host_to_target64): Likewise.
42368 (grub_target_to_host16): Likewise.
42369 (grub_target_to_host32): Likewise.
42370 (grub_target_to_host64): Likewise.
5db82af6 42371
42372 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42373 Renamed from to ...
42374 (GRUB_MOD_ALIGN): ...this. Update all users.
42375
68f6ac74 42376 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42377 grub_host_to_target32.
42378 Replace grub_be_to_cpu32 with grub_target_to_host32.
42379 (load_modules): Likewise.
42380 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42381 Replace grub_be_to_cpu32 with grub_target_to_host32.
42382 Replace grub_cpu_to_be16 with grub_host_to_target16.
42383 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42384
3cf497cc 423852007-10-12 Robert Millan <rmh@aybabtu.com>
42386
42387 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42388 * util/elf/grub-mkimage.c: ... here.
42389
42390 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42391 `util/powerpc/ieee1275/grub-mkimage.c'.
42392
c8cc3692 423932007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42394
c8cc3692 42395 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42396 and make it easier to figure out.
42397 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42398 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42399 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42400 leave us with less than HEAP_MIN_SIZE total heap.
42401 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42402
5c58b791 424032007-10-03 Robert Millan <rmh@aybabtu.com>
42404
42405 * include/grub/i386/io.h: New file.
42406 * commands/i386/pc/play.c (inb): Removed.
42407 (outb): Removed.
42408 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42409 with grub_outb().
afcd2ef8 42410 * term/i386/pc/serial.c (inb): Removed.
42411 (outb): Removed.
42412 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42413 with grub_outb().
42414 * term/i386/pc/vga.c (inb): Removed.
42415 (outb): Removed.
42416 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42417 with grub_outb().
5c58b791 42418
1a477ed6 424192007-10-02 Robert Millan <rmh@aybabtu.com>
42420
42421 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42423 Reported by Marcin Kurek.
42424
6b5d80fa 424252007-09-07 Robert Millan <rmh@aybabtu.com>
42426
42427 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42428 SmartFirmware version updates (as released by Sven Luther), and avoid
42429 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42430 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42431 known broken.
42432
5618afbf 424332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42434
42435 From Hitoshi Ozeki:
42436 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42437 when merging two regions.
42438
6139dcd9 424392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42440
508e39ee 42441 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42442 * normal/completion.c (grub_normal_do_completion): Likewise.
42443 Reported by Hitoshi Ozeki.
42444
424452007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42446
6139dcd9 42447 Do not use devices at boot in chainloading.
f19dbdb7 42448
6139dcd9 42449 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42450 (boot_part_addr): Likewise.
42451 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42452 with BOOT_DRIVE and BOOT_PART_ADDR.
42453 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42454 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42455
38da6516 424562007-08-29 Robert Millan <rmh@aybabtu.com>
42457
42458 Patch from Simon Peter <dn.tlp@gmx.net>:
42459 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42460 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42461 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42462 util/i386/pc/grub-setup.c_DEPENDENCIES.
42463 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42464 util/grub-probe.c_DEPENDENCIES.
42465 * conf/powerpc-ieee1275.rmk: Likewise.
42466
29d0928c 424672007-08-28 Robert Millan <rmh@aybabtu.com>
42468
42469 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42470 to tell grub-mkdevicemap how to name devices.
42471 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42472 feature).
42473
42474 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42475 util/i386/get_disk_name.c.
42476 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42477 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42478 util/ieee1275/get_disk_name.c.
42479
42480 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42481
42482 * DISTLIST: Add util/i386/get_disk_name.c and
42483 util/ieee1275/get_disk_name.c.
42484
42485 * util/grub-mkdevicemap.c: Replace device naming logic with
42486 grub_util_get_disk_name() calls.
42487
5a0d3cca 424882007-08-20 Robert Millan <rmh@aybabtu.com>
42489
42490 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42491 (so that it works for both plural and singular quantities).
42492
8b72db2f 424932007-08-05 Robert Millan <rmh@aybabtu.com>
42494
42495 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42496 so that [xz] isn't taken into account when determining order.
42497
352466bf 424982007-08-02 Marco Gerards <marco@gnu.org>
42499
42500 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42501 `include/multiboot2.h', `include/grub/elfload.h',
42502 `include/multiboot.h', `include/grub/multiboot.h',
42503 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42504 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42505 `kern/elf.c', `loader/multiboot_loader.c',
42506 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42507 `loader/i386/pc/multiboot2.c',
42508 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42509 `util/i386/pc/grub-mkrescue.in'. Remove
42510 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42511 `include/grub/i386/pc/util/biosdisk.h' and
42512 `include/grub/powerpc/ieee1275/multiboot.h'.
42513
8f096014 425142007-08-02 Bean <bean123ch@gmail.com>
42515
42516 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42517 (ntfs_mod_SOURCES): New variable.
42518 (ntfs_mod_CFLAGS): Likewise.
42519 (ntfs_mod_LDFLAGS): Likewise.
42520
42521 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42522 (grub_probe_SOURCES): Likewise.
42523 (grub_emu_SOURCES): Likewise.
42524
42525 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42526 (grub_emu_SOURCES): Likewise.
42527
42528 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42529 (grub_emu_SOURCES): Likewise.
f19dbdb7 42530
8f096014 42531 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42532
42533 * fs/ntfs.c: New file.
42534
9959f7db 425352007-08-02 Bean <bean123ch@gmail.com>
42536
42537 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42538
42539 * file.h (grub_file): Likewise.
42540
42541 * fshelp.h (grub_fshelp_read_file): Likewise.
42542
42543 * util/i386/pc/grub-setup.c (setup): Likewise.
42544 (save_first_sector): Likewise.
42545 (save_blocklists): Likewise.
f19dbdb7 42546
9959f7db 42547 * fs/affs.c (grub_affs_read_file): Likewise.
42548
42549 * fs/ext2.c (grub_ext2_read_file): Likewise.
42550
42551 * fs/fat.c (grub_fat_read_data): Likewise.
42552
42553 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42554
42555 * fs/hfs.c (grub_hfs_read_file): Likewise.
42556
42557 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42558
42559 * fs/jfs.c (grub_jfs_read_file): Likewise.
42560
42561 * fs/minix.c (grub_minix_read_file): Likewise.
42562
42563 * fs/sfs.c (grub_sfs_read_file): Likewise.
42564
42565 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42566
9959f7db 42567 * fs/xfs.c (grub_xfs_read_file): Likewise.
42568
42569 * command/blocklist.c (read_blocklist): Likewise.
42570 (print_blocklist): Likewise.
42571
0a203f83 425722007-08-02 Marco Gerards <marco@gnu.org>
42573
42574 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42575 `util/hostfs.c'.
42576
42577 * disk/host.c: New file.
42578
42579 * util/hostfs.c: Likewise.
42580
42581 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42582 return `GRUB_ERR_BAD_FS'.
42583 * fs/sfs.c (grub_sfs_mount): Likewise.
42584 * fs/xfs.c (grub_xfs_mount): Likewise.
42585
42586 * include/grub/disk.h (enum grub_disk_dev_id): Add
42587 `GRUB_DISK_DEVICE_HOST_ID'.
42588
42589 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42590
e5dfe777 425912007-07-24 Jerone Young <jerone@gmail.com>
42592
f19dbdb7 42593 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42594 modules for compilation.
42595 * conf/powerpc-ieee1275.rmk: Likewise.
42596
42597 * include/multiboot.h: Move multiboot definitions to one file. Rename
42598 many definitions to not get grub specific.
42599 * include/multiboot2.h: Create header with multiboot 2 definitions.
42600 * include/grub/multiboot.h: Header for grub specific function
42601 prototypes and definitions.
42602 * include/grub/multiboot2.h: Likewise.
42603 * include/grub/multiboot_loader.h: Likewise.
42604 * include/grub/i386/pc/multiboot.h: Removed.
42605 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42606
42607 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42608 and 2 to allow for one multiboot and module commands.
42609 * loader/multiboot2.c: Add multiboot2 functionality.
42610 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42611 and definition names.
42612 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42613 2 functions.
42614 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42615 ieee1275 specific multiboot2 code.
42616
42617 * kern/i386/pc/startup.S: Change headers and definition names for
42618 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42619
daf0f0ba 426202007-07-22 Robert Millan <rmh@aybabtu.com>
42621
42622 * geninitheader.sh: Process file specified in first parameter rather
42623 than hardcoding grub_modules_init.lst.
fe6b695a 42624 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 42625 than hardcoding grub_modules_init.h.
42626
42627 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42628 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42629 grub_probe_init.[ch] and grub_setup_init.[ch].
42630
42631 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42632 grub_modules_init.h with grub_emu_init.h.
42633 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42634 grub_probe_init.[ch] files.
42635 * conf/i386-efi.rmk: Likewise.
42636 * conf/i386-pc.rmk: Likewise.
42637 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42638 grub_setup_init.[ch] files.
42639
42640 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42641 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42642 to initialize modules rather than a list of hardcoded functions.
42643 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42644 grub_init_all() to initialize modules rather than a list of hardcoded
42645 functions.
42646
54cdc1cc 426472007-07-22 Robert Millan <rmh@aybabtu.com>
42648
42649 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42650 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42651
ad0686cc 426522007-07-22 Robert Millan <rmh@aybabtu.com>
42653
42654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42655 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42656 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42657 flag when running on SmartFirmware.
42658 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42659 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42660 was set.
42661
42662 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42663 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42664 rather than decreasing it.
42665
42666 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42667 there's not enough space to do it, fail in the same way as when it
42668 can't be done because there are no partitions.
42669
42670 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42671 when nvsetenv failed.
42672
969c02ec 426732007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42674
42675 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42676 because this rule is automatically generated.
42677 (grub-mkrescue): Removed for the same reason as above.
42678
5a79f472 426792007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42680
42681 Migrate to GNU General Public License Version 3.
f19dbdb7 42682
5a79f472 42683 * COPYING: Replaced with the plain text version of GPLv3.
42684
42685 * config.guess: Updated from gnulib.
42686 * config.sub: Likewise.
42687
42688 * geninit.sh: Output a GPLv3 copyright notice.
42689 * geninitheader.sh: Likewise.
42690 * genmodsrc.sh: Likewise.
42691 * gensymlist.sh.in: Likewise.
42692
42693 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42694 * boot/i386/pc/diskboot.S: Likewise.
42695 * boot/i386/pc/pxeboot.S: Likewise.
42696 * commands/blocklist.c: Likewise.
42697 * commands/boot.c: Likewise.
42698 * commands/cat.c: Likewise.
42699 * commands/cmp.c: Likewise.
42700 * commands/configfile.c: Likewise.
42701 * commands/echo.c: Likewise.
42702 * commands/help.c: Likewise.
42703 * commands/ls.c: Likewise.
42704 * commands/search.c: Likewise.
42705 * commands/terminal.c: Likewise.
42706 * commands/test.c: Likewise.
42707 * commands/videotest.c: Likewise.
42708 * commands/i386/cpuid.c: Likewise.
42709 * commands/i386/pc/halt.c: Likewise.
42710 * commands/i386/pc/play.c: Likewise.
42711 * commands/i386/pc/reboot.c: Likewise.
42712 * commands/i386/pc/vbeinfo.c: Likewise.
42713 * commands/i386/pc/vbetest.c: Likewise.
42714 * commands/ieee1275/halt.c: Likewise.
42715 * commands/ieee1275/reboot.c: Likewise.
42716 * commands/ieee1275/suspend.c: Likewise.
42717 * disk/loopback.c: Likewise.
42718 * disk/lvm.c: Likewise.
42719 * disk/raid.c: Likewise.
42720 * disk/efi/efidisk.c: Likewise.
42721 * disk/i386/pc/biosdisk.c: Likewise.
42722 * disk/ieee1275/ofdisk.c: Likewise.
42723 * font/manager.c: Likewise.
42724 * fs/affs.c: Likewise.
42725 * fs/ext2.c: Likewise.
42726 * fs/fat.c: Likewise.
42727 * fs/fshelp.c: Likewise.
42728 * fs/hfs.c: Likewise.
42729 * fs/hfsplus.c: Likewise.
42730 * fs/iso9660.c: Likewise.
42731 * fs/jfs.c: Likewise.
42732 * fs/minix.c: Likewise.
42733 * fs/sfs.c: Likewise.
42734 * fs/ufs.c: Likewise.
42735 * fs/xfs.c: Likewise.
42736 * hello/hello.c: Likewise.
42737 * include/grub/acorn_filecore.h: Likewise.
42738 * include/grub/arg.h: Likewise.
42739 * include/grub/bitmap.h: Likewise.
42740 * include/grub/boot.h: Likewise.
42741 * include/grub/cache.h: Likewise.
42742 * include/grub/device.h: Likewise.
42743 * include/grub/disk.h: Likewise.
42744 * include/grub/dl.h: Likewise.
42745 * include/grub/elfload.h: Likewise.
42746 * include/grub/env.h: Likewise.
42747 * include/grub/err.h: Likewise.
42748 * include/grub/file.h: Likewise.
42749 * include/grub/font.h: Likewise.
42750 * include/grub/fs.h: Likewise.
42751 * include/grub/fshelp.h: Likewise.
42752 * include/grub/gzio.h: Likewise.
42753 * include/grub/hfs.h: Likewise.
42754 * include/grub/kernel.h: Likewise.
42755 * include/grub/loader.h: Likewise.
42756 * include/grub/lvm.h: Likewise.
42757 * include/grub/misc.h: Likewise.
42758 * include/grub/mm.h: Likewise.
42759 * include/grub/net.h: Likewise.
42760 * include/grub/normal.h: Likewise.
42761 * include/grub/parser.h: Likewise.
42762 * include/grub/partition.h: Likewise.
42763 * include/grub/pc_partition.h: Likewise.
42764 * include/grub/raid.h: Likewise.
42765 * include/grub/rescue.h: Likewise.
42766 * include/grub/script.h: Likewise.
42767 * include/grub/setjmp.h: Likewise.
42768 * include/grub/symbol.h: Likewise.
42769 * include/grub/term.h: Likewise.
42770 * include/grub/terminfo.h: Likewise.
42771 * include/grub/tparm.h: Likewise.
42772 * include/grub/types.h: Likewise.
42773 * include/grub/video.h: Likewise.
42774 * include/grub/efi/api.h: Likewise.
42775 * include/grub/efi/chainloader.h: Likewise.
42776 * include/grub/efi/console.h: Likewise.
42777 * include/grub/efi/console_control.h: Likewise.
42778 * include/grub/efi/disk.h: Likewise.
42779 * include/grub/efi/efi.h: Likewise.
42780 * include/grub/efi/pe32.h: Likewise.
42781 * include/grub/efi/time.h: Likewise.
42782 * include/grub/i386/linux.h: Likewise.
42783 * include/grub/i386/setjmp.h: Likewise.
42784 * include/grub/i386/types.h: Likewise.
42785 * include/grub/i386/efi/kernel.h: Likewise.
42786 * include/grub/i386/efi/loader.h: Likewise.
42787 * include/grub/i386/efi/time.h: Likewise.
42788 * include/grub/i386/pc/biosdisk.h: Likewise.
42789 * include/grub/i386/pc/boot.h: Likewise.
42790 * include/grub/i386/pc/chainloader.h: Likewise.
42791 * include/grub/i386/pc/console.h: Likewise.
42792 * include/grub/i386/pc/init.h: Likewise.
42793 * include/grub/i386/pc/kernel.h: Likewise.
42794 * include/grub/i386/pc/loader.h: Likewise.
42795 * include/grub/i386/pc/memory.h: Likewise.
42796 * include/grub/i386/pc/multiboot.h: Likewise.
42797 * include/grub/i386/pc/serial.h: Likewise.
42798 * include/grub/i386/pc/time.h: Likewise.
42799 * include/grub/i386/pc/vbe.h: Likewise.
42800 * include/grub/i386/pc/vbeblit.h: Likewise.
42801 * include/grub/i386/pc/vbefill.h: Likewise.
42802 * include/grub/i386/pc/vbeutil.h: Likewise.
42803 * include/grub/i386/pc/vga.h: Likewise.
42804 * include/grub/ieee1275/ieee1275.h: Likewise.
42805 * include/grub/ieee1275/ofdisk.h: Likewise.
42806 * include/grub/powerpc/libgcc.h: Likewise.
42807 * include/grub/powerpc/setjmp.h: Likewise.
42808 * include/grub/powerpc/types.h: Likewise.
42809 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42810 * include/grub/powerpc/ieee1275/console.h: Likewise.
42811 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42812 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42813 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42814 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42815 * include/grub/powerpc/ieee1275/time.h: Likewise.
42816 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42817 * include/grub/sparc64/libgcc.h: Likewise.
42818 * include/grub/sparc64/setjmp.h: Likewise.
42819 * include/grub/sparc64/types.h: Likewise.
42820 * include/grub/sparc64/ieee1275/console.h: Likewise.
42821 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42822 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42823 * include/grub/sparc64/ieee1275/time.h: Likewise.
42824 * include/grub/util/biosdisk.h: Likewise.
42825 * include/grub/util/getroot.h: Likewise.
42826 * include/grub/util/lvm.h: Likewise.
42827 * include/grub/util/misc.h: Likewise.
42828 * include/grub/util/raid.h: Likewise.
42829 * include/grub/util/resolve.h: Likewise.
42830 * io/gzio.c: Likewise.
42831 * kern/device.c: Likewise.
42832 * kern/disk.c: Likewise.
42833 * kern/dl.c: Likewise.
42834 * kern/elf.c: Likewise.
42835 * kern/env.c: Likewise.
42836 * kern/err.c: Likewise.
42837 * kern/file.c: Likewise.
42838 * kern/fs.c: Likewise.
42839 * kern/loader.c: Likewise.
42840 * kern/main.c: Likewise.
42841 * kern/misc.c: Likewise.
42842 * kern/mm.c: Likewise.
42843 * kern/parser.c: Likewise.
42844 * kern/partition.c: Likewise.
42845 * kern/rescue.c: Likewise.
42846 * kern/term.c: Likewise.
42847 * kern/efi/efi.c: Likewise.
42848 * kern/efi/init.c: Likewise.
42849 * kern/efi/mm.c: Likewise.
42850 * kern/i386/dl.c: Likewise.
42851 * kern/i386/efi/init.c: Likewise.
42852 * kern/i386/efi/startup.S: Likewise.
42853 * kern/i386/pc/init.c: Likewise.
42854 * kern/i386/pc/lzo1x.S: Likewise.
42855 * kern/i386/pc/startup.S: Likewise.
42856 * kern/ieee1275/ieee1275.c: Likewise.
42857 * kern/powerpc/cache.S: Likewise.
42858 * kern/powerpc/dl.c: Likewise.
42859 * kern/powerpc/ieee1275/cmain.c: Likewise.
42860 * kern/powerpc/ieee1275/crt0.S: Likewise.
42861 * kern/powerpc/ieee1275/init.c: Likewise.
42862 * kern/powerpc/ieee1275/openfw.c: Likewise.
42863 * kern/sparc64/cache.S: Likewise.
42864 * kern/sparc64/dl.c: Likewise.
42865 * kern/sparc64/ieee1275/init.c: Likewise.
42866 * kern/sparc64/ieee1275/openfw.c: Likewise.
42867 * loader/efi/chainloader.c: Likewise.
42868 * loader/efi/chainloader_normal.c: Likewise.
42869 * loader/i386/efi/linux.c: Likewise.
42870 * loader/i386/efi/linux_normal.c: Likewise.
42871 * loader/i386/pc/chainloader.c: Likewise.
42872 * loader/i386/pc/chainloader_normal.c: Likewise.
42873 * loader/i386/pc/linux.c: Likewise.
42874 * loader/i386/pc/linux_normal.c: Likewise.
42875 * loader/i386/pc/multiboot.c: Likewise.
42876 * loader/i386/pc/multiboot_normal.c: Likewise.
42877 * loader/powerpc/ieee1275/linux.c: Likewise.
42878 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42879 * normal/arg.c: Likewise.
42880 * normal/cmdline.c: Likewise.
42881 * normal/command.c: Likewise.
42882 * normal/completion.c: Likewise.
42883 * normal/execute.c: Likewise.
42884 * normal/function.c: Likewise.
42885 * normal/lexer.c: Likewise.
42886 * normal/main.c: Likewise.
42887 * normal/menu.c: Likewise.
42888 * normal/menu_entry.c: Likewise.
42889 * normal/misc.c: Likewise.
42890 * normal/parser.y: Likewise.
42891 * normal/script.c: Likewise.
42892 * normal/i386/setjmp.S: Likewise.
42893 * normal/powerpc/setjmp.S: Likewise.
42894 * normal/sparc64/setjmp.S: Likewise.
42895 * partmap/acorn.c: Likewise.
42896 * partmap/amiga.c: Likewise.
42897 * partmap/apple.c: Likewise.
42898 * partmap/gpt.c: Likewise.
42899 * partmap/pc.c: Likewise.
42900 * partmap/sun.c: Likewise.
42901 * term/gfxterm.c: Likewise.
42902 * term/terminfo.c: Likewise.
42903 * term/efi/console.c: Likewise.
42904 * term/i386/pc/console.c: Likewise.
42905 * term/i386/pc/serial.c: Likewise.
42906 * term/i386/pc/vesafb.c: Likewise.
42907 * term/i386/pc/vga.c: Likewise.
42908 * term/ieee1275/ofconsole.c: Likewise.
42909 * util/biosdisk.c: Likewise.
42910 * util/console.c: Likewise.
42911 * util/genmoddep.c: Likewise.
42912 * util/getroot.c: Likewise.
42913 * util/grub-emu.c: Likewise.
42914 * util/grub-mkdevicemap.c: Likewise.
42915 * util/grub-probe.c: Likewise.
42916 * util/lvm.c: Likewise.
42917 * util/misc.c: Likewise.
42918 * util/raid.c: Likewise.
42919 * util/resolve.c: Likewise.
42920 * util/update-grub.in: Likewise.
42921 * util/update-grub_lib.in: Likewise.
42922 * util/grub.d/00_header.in: Likewise.
42923 * util/grub.d/10_hurd.in: Likewise.
42924 * util/grub.d/10_linux.in: Likewise.
42925 * util/i386/efi/grub-install.in: Likewise.
42926 * util/i386/efi/grub-mkimage.c: Likewise.
42927 * util/i386/pc/grub-install.in: Likewise.
42928 * util/i386/pc/grub-mkimage.c: Likewise.
42929 * util/i386/pc/grub-mkrescue.in: Likewise.
42930 * util/i386/pc/grub-setup.c: Likewise.
42931 * util/i386/pc/misc.c: Likewise.
42932 * util/powerpc/ieee1275/grub-install.in: Likewise.
42933 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42934 * util/powerpc/ieee1275/misc.c: Likewise.
42935 * video/bitmap.c: Likewise.
42936 * video/video.c: Likewise.
42937 * video/i386/pc/vbe.c: Likewise.
42938 * video/i386/pc/vbeblit.c: Likewise.
42939 * video/i386/pc/vbefill.c: Likewise.
42940 * video/i386/pc/vbeutil.c: Likewise.
42941 * video/readers/tga.c: Likewise.
42942
3572d015 429432007-07-02 Robert Millan <rmh@aybabtu.com>
42944
42945 * conf/i386-efi.rmk: Replace obsolete reference to
42946 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42947 with util/getroot.c.
42948 * conf/powerpc-ieee1275.rmk: Likewise.
42949 * conf/sparc64-ieee1275.rmk: Likewise.
42950
42951 * util/grub-emu.c (main): Fix unchecked pointer handling.
42952
2c2a681b 429532007-07-02 Robert Millan <rmh@aybabtu.com>
42954
42955 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42956 invocation to fail, in order to support partition-less media.
42957
42958 * util/i386/pc/grub-install.in: Likewise.
42959
42960 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42961 which fs or partmap modules are needed (akin to its sister scripts).
42962
42963 Also use grub-probe to get rid of unportable /proc/mounts check.
42964
42965 Print the same informational message that the other scripts do, before
fe6b695a 42966 exiting.
2c2a681b 42967
6193defe 429682007-06-23 Robert Millan <rmh@aybabtu.com>
42969
fe6b695a 42970 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 42971 a font file can be found and, if so, echo the GRUB path to it.
42972
42973 * util/update-grub.in: Handle multiple terminals depending on user
42974 input, platform availability and font file presence. Propagate
42975 variables of our findings to /etc/grub.d/ children.
42976
42977 * util/grub.d/00_header.in: Handle multiple terminals, based on
42978 environment setup by update-grub.
42979
eface1dc 429802007-06-23 Robert Millan <rmh@aybabtu.com>
42981
ba50d28f 42982 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 42983
bf697e28 429842007-06-21 Robert Millan <rmh@aybabtu.com>
42985
42986 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42987 indicate end of data section in kernel image.
42988 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42989 GRUB_KERNEL_MACHINE_DATA_END.
42990
42991 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42992 space for it.
42993 * kern/i386/efi/startup.S: Likewise.
42994
42995 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42996 during image generation. Implement --prefix option to override this
42997 patch.
42998 * util/i386/efi/grub-mkimage.c: Likewise.
42999
43000 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43001 code to make path relative to its root into a separate function.
43002
43003 * util/i386/pc/grub-install.in: Use newly provided
43004 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43005 pass the result to grub-install --prefix.
43006
baa574b4 430072007-06-13 Robert Millan <rmh@aybabtu.com>
43008
43009 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43010 DEFAULT_DEVICE_MAP.
43011 * util/grub-emu.c: Use above definitions from misc.h instead of
43012 defining them.
43013 * util/grub-mkdevicemap.c: Likewise.
43014 * util/i386/pc/grub-setup.c: Likewise.
43015 * util/grub-probe.c: Likewise.
43016 (probe): Abort with grub_util_error() when either
43017 grub_guess_root_device or grub_util_get_grub_dev fails.
43018
0215dcbf 430192007-06-12 Robert Millan <rmh@aybabtu.com>
43020
43021 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43022 "pager" assignment.
43023 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43024 "pcdata".
43025 * util/grub-probe.c (probe): Likewise for "drive_name".
43026
8af2ab7b 430272007-06-11 Robert Millan <rmh@aybabtu.com>
43028
43029 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43030 not just the cdrom one.
43031
59d31694 430322007-06-11 Robert Millan <rmh@aybabtu.com>
43033
43034 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43035 Add --pkglibdir=DIR option to override pkglibdir.
43036 Mention --image-type=TYPE in help output.
43037 Fix --grub-mkimage (it was a no-op).
fe6b695a 43038 Abort gracefully when no parameter is given.
59d31694 43039
7ee367e4 430402007-06-11 Robert Millan <rmh@aybabtu.com>
43041
43042 * util/i386/pc/grub-mkrescue.in: New file.
43043 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43044 * Makefile.in: Handle bin_SCRIPTS.
43045
29b0ed46 430462007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43047
43048 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43049 list of video modes.
43050
c0f90770 430512007-06-06 Robert Millan <rmh@aybabtu.com>
43052
43053 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43054 file doesn't exist, or if it is in a filesystem grub can't read.
43055
43056 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43057 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43058 header comment to fit in 80 columns when the variables are resolved.
43059
43060 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43061 could be identified by update-grub. Remove redundant check for
fe6b695a 43062 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43063 handles that).
43064
fb36dc26 430652007-06-04 Robert Millan <rmh@aybabtu.com>
43066
43067 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43068
43069 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43070
43071 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43072
0c68c93e 430732007-06-04 Robert Millan <rmh@aybabtu.com>
43074
43075 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43076
43077 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43078 grub_apple_partition_map_fini.
43079
43080 * util/biosdisk.c
43081 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43082 to access >2 TiB disks).
43083
43084 Print disk->total_sectors with %llu instead of %lu, since this
43085 variable is always 64-bit (prevents wrong disk size from being displayed
43086 on either >2 TiB disk or big-endian CPU).
43087
43088 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43089 into a generic case that supports all (sane) partition maps.
43090
43091 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43092 breaks big-endian.
43093
43094 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43095 and grub_apple_partition_map_fini() after that.
43096
0f23eb74 430972007-06-01 Robert Millan <rmh@aybabtu.com>
43098
43099 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43100
43101 * util/grub.d/00_header.in: Only enable gfxterm when
43102 convert_system_path_to_grub_path() succeeds.
43103
42c71976 431042007-05-20 Robert Millan <rmh@aybabtu.com>
43105
43106 * util/update-grub_lib.in: New file.
43107 * DISTLIST: Add update-grub_lib.in.
43108 * conf/common.rmk: Generate update-grub_lib and install it in
43109 $(lib_DATA).
43110 * Makefile.in: Add install routine for $(lib_DATA).
43111
43112 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43113 function provided by update-grub_lib to support arbitrary paths of
43114 unifont.pff.
43115 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43116 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43117
5beb2291 431182007-05-19 Robert Millan <rmh@aybabtu.com>
43119
43120 * commands/i386/cpuid.c: New module.
43121 * DISTLIST: Add it.
43122 * conf/i386-efi.rmk: Enable cpuid.mod.
43123 * conf/i386-pc.rmk: Likewise.
43124
7262eca1 431252007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43126
43127 * kern/disk.c (grub_disk_read): Check return value of
43128 grub_realloc().
43129
260ba823 431302007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43131
43132 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43133 arrays.
43134 * disk/raid.c (grub_raid_open): Likewise.
43135
1ecb6cf2 431362007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43137
43138 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43139 stack instead of on the heap.
43140
43141 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43142 before doing a read on it.
43143
43144 * configure.ac: Only use -fno-stack-protector for the target
43145 environment.
f19dbdb7 43146
21c8cbb1 431472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43148
43149 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43150 __attribute_ ((unused)) to mode_type argument.
43151
43152 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43153
21c8cbb1 43154 * kern/misc.c (memcmp): Fix prototype.
43155
43156 * include/grub/partition.h [GRUB_UTIL]
43157 (grub_gpt_partition_map_init): Add prototype.
43158 (grub_gpt_partition_map_fini): Likewise.
43159
43160 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43161 at the right place.
43162
43163 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43164 (grub_fat_read_data): Likewise.
43165 (grub_fat_find_dir): Likewise.
43166
43167 * font/manager.c (find_glyph): Make table a const.
43168 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43169
849d55d3 431702007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43171
43172 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43173 code, first search for device in /dev/mapper, then in /dev.
43174 (grub_util_get_grub_dev): New function.
43175 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43176 prototype.
43177 * util/grub-probe.c (probe): Remove check for RAID, call
43178 grub_util_get_grub_dev() instead of
43179 grub_util_biosdisk_get_grub_dev().
43180 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43181 grub_util_biosdisk_get_grub_dev().
43182 * util/i386/pc/grub-setup.c (main): Likewise.
43183
8fff7c2f 431842007-05-16 Robert Millan <rmh@aybabtu.com>
43185
43186 * DISTLIST: Update for the latest changes.
43187 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43188 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43189 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43190 grub/util/biosdisk.h.
43191 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43192 grub/util/biosdisk.h.
43193
48e12b52 431942007-05-16 Robert Millan <rmh@aybabtu.com>
43195
43196 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43197
46b9d128 431982007-05-16 Robert Millan <rmh@aybabtu.com>
43199
43200 * util/i386/efi/grub-install.in: New.
43201 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43202 newly added grub-install.
43203 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43204 include.
43205 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43206 grub/util/biosdisk.h.
43207 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43208 grub/util/biosdisk.h.
43209
2d1a40a9 432102007-05-16 Robert Millan <rmh@aybabtu.com>
43211
43212 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43213 * include/grub/util/biosdisk.h: ... here.
43214 * util/i386/pc/biosdisk.c: Moved to ...
43215 * util/biosdisk.c: ... here.
43216 * util/i386/pc/getroot.c: Moved to ...
43217 * util/getroot.c: ... here.
43218 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43219 * util/grub-mkdevicemap.c: ... here.
43220 * util/i386/pc/grub-probe.c: Moved to ...
43221 * util/grub-probe.c: ... here.
43222
9e26e3bc 432232007-05-15 Robert Millan <rmh@aybabtu.com>
43224
43225 * util/update-grub.in: Remove duplicated line in grub.cfg header
43226 message.
43227
57f96397 432282007-05-13 Robert Millan <rmh@aybabtu.com>
43229
43230 * util/update-grub.in: Fix a few assumptions about the devices holding
43231 /, /boot and /boot/grub being the same.
43232 * util/grub.d/00_header.in: Likewise.
43233 * util/grub.d/10_hurd.in: Likewise.
43234 * util/grub.d/10_linux.in: Likewise.
43235
43236 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43237 patterns. Use that to define the `.old' suffix as older than `'.
43238
43239 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43240
43241 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43242 the grub.cfg header message.
43243
2e610d62 432442007-05-11 Robert Millan <rmh@aybabtu.com>
43245
43246 * util/update-grub.in: Create device.map if it doesn't already exist,
43247 before attempting to run grub-probe.
43248 Check for grub-probe and grub-mkdevicemap with the same code
43249 grub-install is using.
43250 Remove test mode.
43251
3f6a10ef 432522007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43253
43254 * Makefile.in: Add the datarootdir autoconf variable.
43255
02e7b75e 432562007-05-09 Robert Millan <rmh@aybabtu.com>
43257
43258 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43259 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43260
75f396cc 432612007-05-07 Robert Millan <rmh@aybabtu.com>
43262
43263 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43264 determine partition map module.
43265 * util/i386/pc/grub-install.in: Use this feature to decide which
43266 partition module to load, instead of hardcoding pc and gpt.
43267
da65cb36 432682007-05-07 Robert Millan <rmh@aybabtu.com>
43269
43270 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43271 source directory differs from build directory.
43272
b57d6a91 432732007-05-05 Robert Millan <rmh@aybabtu.com>
43274
43275 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43276 initialisation.
43277
509d00f1 432782007-05-05 Robert Millan <rmh@aybabtu.com>
43279
43280 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43281
c48f23ef 432822007-05-05 Robert Millan <rmh@aybabtu.com>
43283
43284 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43285 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43286
20b97658 432872007-05-05 Robert Millan <rmh@aybabtu.com>
43288
43289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43290 (grub_probe_SOURCES): Likewise.
43291 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43292 GPT and initialize dos_part and bsd_part accordingly.
43293 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43294 install_bsd_part.
43295 (main): Activate gpt module for use during partition identification,
43296 and deactivate it afterwards.
43297 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43298 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43299 partition identification, and deactivate it afterwards.
43300
99123174 433012007-05-05 Robert Millan <rmh@aybabtu.com>
43302
43303 * term/i386/pc/console.c (grub_console_fini): Call
43304 grub_term_set_current() before grub_term_unregister().
43305
ebd97f6e 433062007-05-04 Robert Millan <rmh@aybabtu.com>
43307
43308 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43309 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43310 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43311 and update-grub_DATA.
43312 * conf/common.rmk: Build and install update-grub components.
43313 * conf/common.mk: Regenerate.
43314 * util/update-grub.in: New. Core of update-grub.
43315 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43316 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43317 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43318 * util/grub.d/README: New. Document grub.d directory layout.
43319
b06a264d 433202007-05-01 Robert Millan <rmh@aybabtu.com>
43321
43322 * util/grub-emu.c: Move initialization functions
43323 grub_util_biosdisk_init() and grub_init_all() before
43324 grub_util_biosdisk_get_grub_dev(), which relies on them.
43325
41f0050e 433262007-04-19 Robert Millan <rmh@aybabtu.com>
43327
43328 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43329 it is used later.
43330
04582bb3 433312007-04-18 Jerone Young <jerone@gmail.com>
43332
f19dbdb7 43333 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43334 stanza.
43335
08db4632 433362007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43337
08db4632 43338 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43339 continue on and look for device node with real device name.
43340
801b76be 433412007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43342
fe6b695a 43343 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43344 ability.
43345 * Makefile.in: Add autoconf package transformation code.
43346 * util/i386/pc/grub-install.in: Likewise.
43347 * util/powerpc/ieee1275/grub-install.in: Likewise.
43348
6795c4e1 433492007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43350
43351 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43352 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43353 (EXT2_REVISION): Likewise.
43354 (EXT2_INODE_SIZE): Likewise.
43355 (struct grub_ext2_block_group): Added a missing member
43356 "used_dirs".
43357 (grub_ext2_read_inode): Divide by the inode size in a superblock
43358 instead of 128 to obtain INODES_PER_BLOCK.
43359 Use the macro EXT2_INODE_SIZE instead of directly using
43360 SBLOCK->INODE_SIZE.
43361
d70af616 433622007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43363
43364 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43365 superblock instead of the structure size to compute an
43366 offset. This fixes the problem that GRUB could not read a
43367 filesystem when inode size is different from 128-byte.
43368
3b801603 433692007-03-05 Marco Gerards <marco@gnu.org>
43370
43371 * normal/main.c (read_config_file): When "menu" is not set, create
43372 an initial context.
43373
4785bfe4 433742007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43375
43376 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43377 (HEAP_LIMIT): New macro.
43378 (grub_claim_heap): Claim memory up to `heaplimit'.
43379
a0cbb023 433802007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43381
43382 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43383 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43384 (_start): Likewise.
43385 (grub_arch_modules_addr): Return address after `_end'.
43386 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43387 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43388 (add_segments): Calculate `_end' from phdr size and location.
43389 (ALIGN_UP): Moved to ...
43390 * include/grub/misc.h: here.
43391 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43392 New macro.
43393 (GRUB_IEEE1275_MODULE_BASE): Removed.
43394
fd7d8eba 433952007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43396
43397 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43398 loop boundary.
43399
9b09e6fc 434002007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43401
43402 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43403 All users updated.
43404 (grub_elf64_load_hook_t): Likewise.
43405 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43406 debug output.
43407
3ce27299 434082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43409
43410 * kern/mm.c: Update copyright.
43411 (grub_mm_debug): Correct syntax error.
43412 (grub_mm_dump_free): New function.
43413 (grub_debug_free): Call `grub_free'.
43414 * include/grub/mm.h: Update copyright.
43415 (grub_mm_dump_free): Add declaration.
43416
077d5fee 434172007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43418
43419 * include/grub/ieee1275/ieee1275.h: Update copyright.
43420 * kern/powerpc/ieee1275/init.c: Likewise.
43421 * kern/powerpc/ieee1275/openfw.c: Likewise.
43422
43423 * loader/powerpc/ieee1275/linux.c: Likewise.
43424 * include/grub/elfload.h: Likewise.
43425 * kern/elf.c: Likewise.
43426 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43427 callers.
43428 (grub_elf64_load): Likewise.
43429 (grub_elf32_load_segment): Move to a nested function.
43430 (grub_elf64_load_segment): Likewise.
43431
dc946850 434322007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43433
43434 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43435 prototype.
43436 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43437 (grub_heap_len): Likewise.
43438 (HEAP_SIZE): New macro.
43439 (grub_claim_heap): New function.
43440 (grub_machine_init): Don't claim heap directly. Call
43441 `grub_claim_heap'.
43442 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43443 (grub_available_iterate): New function.
43444
baa2a121 434452007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43446
43447 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43448 * configure.ac: Use it for testing the HOST and TARGET compilers.
43449
4fe9862e 434502006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43451
43452 * Makefile.in (enable_grub_emu): New variable.
43453 * configure.ac (--enable-grub-emu): New option.
43454 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43455 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43456 * conf/i386-pc.rmk: Likewise.
43457 * conf/powerpc-ieee1275.rmk: Likewise.
43458 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43459
a8aa5762 434602006-12-12 Marco Gerards <marco@gnu.org>
43461
43462 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43463
43464 * kern/env.c (grub_env_unset): Don't free the member `value' when
43465 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43466 pointer.
43467
43468 * normal/main.c (current_menu): Removed.
43469 (free_menu): Unset the `menu' environment variable.
43470 (grub_normal_menu_addentry): Make use of the environment variable
43471 `menu', instead of using the global `current_menu'. Allocate
43472 memory for the sourcecode of this entry.
43473 (read_config_file): New argument `nested', changed all callers.
43474 Only in the case of a new context, initialize a new menu. Set the
43475 `menu' environment variable.
43476 (grub_normal_execute): Don't set and unset the environment
43477 variable `menu' here anymore. Only free the menu when leaving the
43478 context.
43479
43480 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43481 leak.
43482
957b3a3e 434832006-12-11 Marco Gerards <marco@gnu.org>
43484
43485 * normal/menu_entry.c (run): Fix off by one bug so the last line
43486 is executed. Move the loader check to outside the loop.
43487
ef875714 434882006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43489
43490 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43491
4e739985 434922006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43493
43494 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43495 the number of sectors. Reported by Andrey Shuvikov
43496 <mr_hyro@yahoo.com>.
f19dbdb7 43497
790707f2 434982006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43499
43500 * kern/disk.c (grub_disk_read): When there is a read error, always
43501 try to read only the necessary data.
f19dbdb7 43502
790707f2 43503 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43504 disk/raid.c.
43505 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43506 prototype.
43507 [GRUB_UTIL] (grub_raid_fini): Likewise.
43508 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43509 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43510 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43511 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43512 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43513 and grub_raid_fini().
f19dbdb7 43514
03e58196 435152006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43516
43517 * include/grub/types.h (__unused): Rename to UNUSED.
43518 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43519 (grub_elf64_size): Likewise.
f19dbdb7 43520
ae4f23bf 435212006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43522
43523 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43524 grub_error_push and grub_error_pop in the error-handling path.
43525 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43526 length.
43527
2166cc83 435282006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43529
43530 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43531 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43533 (kernel_elf_SOURCES): Likewise.
43534 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43535 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43536 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43537 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43538 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43539 (elf_mod_SOURCES): New variable.
43540 (elf_mod_CFLAGS): Likewise.
43541 (elf_mod_LDFLAGS): Likewise.
43542 * include/grub/types.h (__unused): New macro.
43543 * include/grub/elfload.h: New file.
43544 * kern/elf.c: Likewise.
43545 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43546 (ELF32_LOADMASK): New macro.
43547 (ELF64_LOADMASK): Likewise.
43548 (vmlinux): Removed.
43549 (grub_linux_load32): New function.
43550 (grub_linux_load64): Likewise.
43551 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43552 Use grub_elf_t instead of grub_file_t.
43553
a09d5aa5 435542006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43555
43556 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43557 `catch_result' to struct set_color_args.
43558
d976fc51 435592006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43560
43561 * normal/menu.c: Include grub/script.h.
43562 * normal/menu_entry.c: Likewise.
43563 * include/grub/normal.h: Do not include grub/script.h.
43564
67507549 435652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43566
43567 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43568
69203a99 435692006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43570
43571 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43572 disk.
43573 (grub_disk_close): Print debug messages when closing a disk.
43574 (grub_disk_read): Print debug messages when disk read fails.
43575 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43576 filesystem type.
43577 * kern/partition.c: Include misc.h.
43578 (grub_partition_iterate): Print debug messages when detecting
43579 partition type.
43580
e2b8278c 435812006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43582
43583 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43584 is negative.
43585 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43586
97b2f2ff 435872006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43588
43589 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43590 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43591
6555d655 435922006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43593
43594 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43595 instead of sizeof(lv). Patch by Michael Guntsche.
43596
4d42b77f 435972006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43598
43599 * disk/lvm.c: Rename VGS to VG_LIST.
43600 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43601 (grub_lvm_open): Likewise.
43602 Thanks to Michael Guntsche for finding this bug.
43603
5d74d927 436042006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43605
43606 * configure.ac (AC_INIT): Bumped to 1.95.
43607
a1bb27e4 436082006-10-14 Robert Millan <rmh@aybabtu.com>
43609
43610 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43611 with "/dev/.static/dev/md".
43612
e0994b8b 436132006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43614
43615 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43616 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43617 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43618 DRIVE_NAME are always freed.
43619
43620 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43621 DOS_PART, as a DOS partition is counted from one instead of zero
43622 now. Reported by Robert Millan.
43623
ddd5cee9 436242006-10-14 Robert Millan <rmh@aybabtu.com>
43625
43626 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43627 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43628 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43629 string returned by grub_guess_root_device.
43630 * util/i386/pc/grub-setup.c: Likewise.
43631 * util/i386/pc/grub-probefs.c: Likewise.
43632
43633 * util/i386/pc/grub-probefs.c: Rename to ...
43634 * util/i386/pc/grub-probe.c: ... this.
43635 * DISTLIST: Remove grub-probefs, add grub-probe.
43636 * conf/i386-efi.rmk: Likewise.
43637 * conf/i386-pc.rmk: Likewise.
43638 * util/i386/pc/grub-install.in: Likewise.
43639
43640 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43641 choose which information we want to print.
43642
2b002173 436432006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43644
43645 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43646 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43647 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43648 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43649 video/readers/tga.c and video/i386/pc/vbeutil.c.
43650
436512006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43652
43653 Added support for RAID and LVM.
f19dbdb7 43654
2b002173 43655 * disk/lvm.c: New file.
43656 * disk/raid.c: Likewise.
43657 * include/grub/lvm.h: Likewise.
f19dbdb7 43658 * include/grub/raid.h: Likewise.
2b002173 43659 * include/grub/util/lvm.h: Likewise.
43660 * include/grub/util/raid.h: Likewise.
43661 * util/lvm.c: Likewise.
43662 * util/raid.c: Likewise.
43663
43664 * include/grub/disk.h (grub_disk_dev_id): Add
43665 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43666 (grub_disk_get_size): New prototype.
43667 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43668 returns a partition.
43669 (grub_disk_get_size): New function.
f19dbdb7 43670
2b002173 43671 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43672 verbatim if grub_install_dos_part is -2.
43673
43674 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43675 and LVM devices.
43676
43677 * util/i386/pc/grub-setup.c (setup): New argument
43678 MUST_EMBED. Force embedding of GRUB when the argument is
43679 true. Close FILE before returning.
43680 (main): Add support for RAID and LVM.
f19dbdb7 43681
2b002173 43682 * conf/common.rmk: Add RAID and LVM modules.
43683 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43684 util/lvm.c.
43685 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43686
43687 * kern/misc.c (grub_strstr): New function.
43688 * include/grub/misc.h (grub_strstr): New prototype.
43689
050548d0 436902006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43691
43692 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43693
da849d2d 436942006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43695
43696 * kern/misc.c (grub_strtoull): Guess the base only if not
43697 specified.
43698
97b2f2ff 436992006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43700
43701 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43702 PowerMac support.
43703
97b2f2ff 437042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43705
43706 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43707
43708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43709 Remove `flags' argument. All callers changed.
43710 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43711 (IEEE1275_IHANDLE_INVALID): New variable.
43712 (IEEE1275_CELL_INVALID): New variable.
43713 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43714 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43715 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43716 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43717 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43718 codes from Open Firmware. All callers updated.
43719 (grub_ieee1275_next_property): Directly return Open Firmware return
43720 code.
43721 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43722 Standardize error checking from `grub_ieee1275_get_property'.
43723 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43724 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43725
97b2f2ff 437262006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43727
43728 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43729 `instance_to_package_args' to `instance_to_path_args'.
43730
43731 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43732 `grub_ieee1275_chosen'.
43733
43734 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43735 `grub_ieee1275_interpret'.
43736
97b2f2ff 437372006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43738
43739 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43740
97b2f2ff 437412006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43742
43743 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43744 (__cmpdi): Likewise.
43745
43746 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43747 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43748 `grub_ssize_t'.
43749
02bb8acc 43750 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43751
43752 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43753 to type `grub_ssize_t'.
43754 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43755
7f9a8531 437562006-09-22 Marco Gerards <marco@gnu.org>
43757
43758 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43759 newlines.
43760
b5ef1102 437612006-09-22 Marco Gerards <marco@gnu.org>
43762
43763 * commands/echo.c: New file.
43764
43765 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43766
43767 * conf/common.rmk (echo_mod_SOURCES): New variable.
43768 (echo_mod_CFLAGS): Likewise.
43769 (echo_mod_LDFLAGS): Likewise.
43770
2cff3677 437712006-09-22 Marco Gerards <marco@gnu.org>
43772
43773 * normal/main.c (get_line): Malloc memory instead of using
43774 preallocated memory. Removed the arguments `cmdline' and
43775 `max_len'. Updated all callers.
43776
6ba4688b 437772006-09-22 Marco Gerards <marco@gnu.org>
43778
43779 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43780 (normal_mod_DEPENDENCIES): Likewise.
43781
43782 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43783 (normal_mod_DEPENDENCIES): Likewise.
43784
43785 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43786
e02ac02c 437872006-09-22 Johan Rydberg <jrydberg@gnu.org>
43788
43789 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43790 programs.
43791 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43792 (normal_mod_DEPENDENCIES): Likewise.
43793 * conf/i386-pc.mk: Regenerate.
43794 * conf/i386-efi.mk: Likewise
43795 * conf/common.mk: Likewise.
43796 * conf/powerpc-ieee1275.mk: Likewise.
43797 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43798
8d252e44 437992006-09-22 Robert Millan <rmh@aybabtu.com>
43800
43801 Sync with i386 version.
43802 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43803 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43804
209bf7ac 438052006-09-21 Robert Millan <rmh@aybabtu.com>
43806
43807 Import from GRUB Legacy (lib/device.c):
43808 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43809 (init_device_map) [__linux__]: Add support for I2O devices.
43810
6b146090 438112006-09-14 Marco Gerards <marco@gnu.org>
43812
43813 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43814 `-melf_i386'.
43815
e38600a8 438162006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43817
43818 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43819 /boot/grub/*.lst.
78fa1790 43820
2952da5d 43821 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43822
2952da5d 43823 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43824 before adding it to device.map.
43825
01b82a64 438262006-08-15 Johan Rydberg <jrydberg@gnu.org>
43827
fe6b695a 43828 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43829 compiles a file; using the -MD option.
43830 * conf/common.mk: Regenerate.
43831 * conf/i386-pc.mk: Likewise.
43832 * conf/i386-efi.mk: Likewise.
43833 * conf/powerpc-ieee1275.mk: Likewise.
43834 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43835
1064790d 438362006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43837
43838 Move the prototypes of grub_setjmp and grub_longjmp to
43839 cpu/setjmp.h, so that each architecture may specify different
43840 attributes.
f19dbdb7 43841
1064790d 43842 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43843 (grub_longjmp): Likewise.
43844 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43845 (grub_longjmp): Likewise.
43846 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43847 (grub_longjmp): Likewise.
43848
43849 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43850 [!GRUB_UTIL] (grub_longjmp): Removed.
43851
29dda3ed 438522006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43853
43854 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43855 "color!" method does not return any value.
43856
ad2a06ed 438572006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43858
43859 * include/grub/bitmap.h: New file.
43860
43861 * include/grub/i386/pc/vbeutil.h: Likewise.
43862
43863 * video/bitmap.c: Likewise.
43864
43865 * video/readers/tga.c: Likewise.
43866
43867 * video/i386/pc/vbeutil.c: Likewise.
43868
43869 * commands/videotest.c: Code cleanup and updated to reflect to new
43870 video API.
43871
43872 * term/gfxterm.c: Likewise.
43873
43874 * video/video.c: Likewise.
43875
43876 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43877 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43878 (bitmap_mod_SOURCES): New entry.
43879 (bitmap_mod_CFLAGS): Likewise.
43880 (bitmap_mod_LDFLAGS): Likewise.
43881 (tga_mod_SOURCES): Likewise.
43882 (tga_mod_CFLAGS): Likewise.
43883 (tga_mod_LDFLAGS): Likewise.
43884
43885 * include/grub/video.h (grub_video_blit_operators): New enum type.
43886 (grub_video_render_target): Changed as forward declaration and moved
43887 actual definition to be video driver specific.
43888 (grub_video_adapter.blit_bitmap): Added blitting operator.
43889 (grub_video_adapter.blit_render_target): Likewise.
43890 (grub_video_blit_bitmap): Likewise.
43891 (grub_video_blit_render_target): Likewise.
43892
43893 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43894 driver specific render target definition.
43895 (grub_video_vbe_map_rgba): Added driver internal helper.
43896 (grub_video_vbe_unmap_color): Updated to use
43897 grub_video_i386_vbeblit_info.
43898 (grub_video_vbe_get_video_ptr): Likewise.
43899
43900 * include/grub/i386/pc/vbeblit.h
43901 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43902 grub_video_i386_vbeblit_info.
43903 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43904 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43905 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43906 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43907 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43908 (grub_video_i386_vbeblit_index_index): Likewise.
43909 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43910 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43911 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43912 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43913 operator.
43914 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43915 operator.
43916
43917 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43918 include/grub/i386/pc/vbeblit.h.
43919
43920 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43921 Updated to use grub_video_i386_vbeblit_info.
43922 (grub_video_i386_vbefill_R8G8B8): Likewise.
43923 (grub_video_i386_vbefill_index): Likewise.
43924 (grub_video_i386_vbefill): Added generic filler.
43925
43926 * video/i386/pc/vbefill.c: Updated to reflect changes on
43927 include/grub/i386/pc/vbefill.h.
43928
43929 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43930 grub_video_i386_vbeblit_info.
43931 (grub_video_vbe_unmap_color): Likewise.
43932 (grub_video_vbe_blit_glyph): Likewise.
43933 (grub_video_vbe_scroll): Likewise.
43934 (grub_video_vbe_draw_pixel): Removed function.
43935 (grub_video_vbe_get_pixel): Likewise.
43936 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43937 updated code to use it.
43938 (common_blitter): Added common blitter for render target and bitmap.
43939 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43940 (grub_video_vbe_blit_render_target): Likewise.
43941
bc8c036d 439422006-07-30 Johan Rydberg <jrydberg@gnu.org>
43943
43944 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43945 is in text mode if there is no console control protocol instance
43946 available.
43947
684a8eff 439482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43949
43950 * include/grub/video.h: Code cleanup.
43951
43952 * include/grub/i386/pc/vbe.h: Likewise.
43953
43954 * video/i386/pc/vbe.c: Likewise.
43955
43956 * video/i386/pc/vbeblit.c: Likewise.
43957
43958 * video/i386/pc/vbefill.c: Likewise.
43959
43960 * video/video.c: Likewise. Also added more comments.
43961
5915059b 439622006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43963
43964 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43965 (struct grub_biosdisk_dap): Likewise.
43966
43967 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43968 linkage settings for all functions.
43969
90ce5d56 439702006-07-12 Marco Gerards <marco@gnu.org>
43971
43972 * configure.ac (--enable-mm-debug): Fix typo.
43973
43974 * genkernsyms.sh.in: Use proper quoting for `CC'.
43975
43e7f879 439762006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43977
43978 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43979 (normal_mod_ASFLAGS): Remove "-m32".
43980
4889bdec 439812006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43982
43983 * util/misc.c: Include config.h.
43984 [!HAVE_MEMALIGN]: Do not include malloc.h.
43985 (grub_memalign): Use posix_memalign, if present. Then, use
43986 memalign, if present. Otherwise, emit an error.
43987
43988 * util/grub-emu.c: Do not include malloc.h.
43989
43990 * include/grub/util/misc.h: Include unistd.h. This is required for
43991 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43992 D. Eades III <hde@foobar-qux.org>.
43993
43994 * configure.ac (AC_GNU_SOURCE): Added.
43995 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43996 type.
43997
fd39d4da 439982006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43999
44000 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44001 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44002
b786f3b5 440032006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44004
44005 * include/grub/types.h (grub_host_addr_t): Rename to
44006 grub_target_addr_t.
44007 (grub_host_off_t): Rename to grub_target_off_t.
44008 (grub_host_size_t): Rename to grub_target_size_t.
44009 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44010 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44011
44012 * include/grub/kernel.h (struct grub_module_header): Change type
44013 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44014 (grub_module_info): Likewise.
f19dbdb7 44015
051988bb 440162006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44017
44018 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44019 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44020 Velazquez <jesus.velazquez@gmail.com>.
44021
deae281b 440222006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44023
44024 Count partitions from 1 instead of 0 in the string representation
44025 of partitions. Still use 0-based internally.
f19dbdb7 44026
deae281b 44027 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44028 (sun_partition_map_iterate): Use grub_partition_t instead of
44029 struct grub_partition *. Cast DESC->START_CYLINDER to
44030 grub_uint64_t after converting the endian.
44031 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44032 (sun_partition_map_get_name): Add 1 to P->INDEX.
44033
44034 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44035 PCDATA->DOS_PART.
44036 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44037
44038 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44039 zero instead of one.
44040 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44041 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44042
44043 * partmap/apple.c (apple_partition_map_iterate): Change the type
44044 of POS to unsigned.
44045 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44046 (apple_partition_map_get_name): Add 1 into P->INDEX.
44047
44048 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44049 of POS to unsigned.
44050 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44051 calculate the offset of a partition.
44052 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44053 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44054
44055 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44056 SECTOR to grub_disk_addr_t.
44057 (acorn_partition_map_iterate): Likewise.
44058 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44059 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44060 top.
44061 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44062
44063 * kern/i386/pc/init.c (make_install_device): Add 1 into
44064 GRUB_INSTALL_DOS_PART.
44065
44066 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44067 conditional.
44068
524a1e6a 440692006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44070
44071 Clean up the code to support 64-bit addressing in disks and
44072 files. This change is not enough for filesystems yet.
f19dbdb7 44073
524a1e6a 44074 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44075 type of "start" to grub_uint64_t.
44076 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44077 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44078 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44079 convert addresses.
44080
44081 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44082 to grub_disk_addr_t.
44083
44084 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44085 string.
44086
44087 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44088
44089 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44090 to char *.
44091
44092 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44093
44094 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44095
44096 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44097
44098 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44099 to grub_off_t, to detect an error from grub_file_seek.
44100 (grub_multiboot_load_elf32): Likewise.
44101
44102 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44103 maximum unsigned long value when an overflow is detected.
44104 (grub_strtoull): New function.
44105 (grub_divmod64): Likewise.
44106 (grub_lltoa): use grub_divmod64.
44107
44108 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44109 grub_disk_addr_t.
44110 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44111 the pointer to next character. Use grub_strtoull instead of
44112 grub_strtoul.
44113 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44114 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44115 respectively.
44116
fe6b695a 44117 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44118 return value is signed.
44119 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44120 test if OFFSET is less than zero, as OFFSET is unsigned now.
44121
44122 * kern/disk.c (struct grub_disk_cache): Change the type of
44123 "sector" to grub_disk_addr_t.
44124 (grub_disk_cache_get_index): Change the type of SECTOR to
44125 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44126 unsigned after shifting.
44127 (grub_disk_cache_invalidate): Change the type of SECTOR to
44128 grub_disk_addr_t.
44129 (grub_disk_cache_unlock): Likewise.
44130 (grub_disk_cache_store): Likewise.
44131 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44132 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44133 grub_disk_addr_t and grub_uint64_t, respectively.
44134 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44135 body, as the value of OFFSET is tweaked by
44136 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44137 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44138 respectively.
44139 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44140 body, as the value of OFFSET is tweaked by
44141 grub_disk_check_range. Change the types of LEN and N to
44142 grub_size_t.
44143
44144 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44145 and "saved_offset" to grub_off_t.
44146 (test_header): Cast BUF to char *.
44147 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44148 to char *.
44149 (grub_gzio_read): Change the types of OFFSET and SIZE to
44150 grub_off_t and grub_size_t, respectively.
44151
44152 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44153 Removed.
44154 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44155 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44156 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44157 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44158 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44159
44160 * include/grub/types.h (grub_off_t): Unconditionally set to
44161 grub_uint64_t.
44162 (grub_disk_addr_t): Changed to grub_uint64_t.
44163
44164 * include/grub/partition.h (struct grub_partition): Change the
44165 types of "start", "len" and "offset" to grub_disk_addr_t,
44166 grub_uint64_t and grub_disk_addr_t, respectively.
44167 (grub_partition_get_start): Return grub_disk_addr_t.
44168 (grub_partition_get_len): Return grub_uint64_t.
44169
44170 * include/grub/misc.h (grub_strtoull): New prototype.
44171 (grub_divmod64): Likewise.
44172
44173 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44174 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44175 grub_off_t, respectively.
44176 All callers and references changed.
44177
44178 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44179 grub_size_t in "read".
44180 All callers and references changed.
44181
44182 * include/grub/file.h (struct grub_file): Change the types of
44183 "offset" and "size" to grub_off_t and grub_off_t,
44184 respectively. Change the type of SECTOR to grub_disk_addr_t in
44185 "read_hook".
44186 (grub_file_read): Change the type of LEN to grub_size_t.
44187 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44188 grub_off_t.
44189 (grub_file_size): Return grub_off_t.
44190 (grub_file_tell): Likewise.
44191 All callers and references changed.
44192
44193 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44194 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44195 "write".
44196 (struct grub_disk): Change the type of "total_sectors" to
44197 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44198 "read_hook".
524a1e6a 44199 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44200 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44201 (grub_disk_write): Likewise.
44202 All callers and references changed.
44203
44204 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44205 char * for grub_strncmp to silence gcc.
44206 (grub_iso9660_mount): Likewise.
44207 (grub_iso9660_mount): Likewise.
44208 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44209 return statement.
44210 (grub_iso9660_iterate_dir): Likewise.
44211 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44212
44213 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44214 LEN to grub_disk_addr_t and grub_size_t, respectively.
44215
44216 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44217
44218 * fs/jfs.c (grub_jfs_read_file): Likewise.
44219
44220 * fs/minix.c (grub_jfs_read_file): Likewise.
44221
44222 * fs/sfs.c (grub_jfs_read_file): Likewise.
44223
44224 * fs/ufs.c (grub_jfs_read_file): Likewise.
44225
44226 * fs/xfs.c (grub_jfs_read_file): Likewise.
44227
44228 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44229 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44230 respectively.
44231
44232 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44233 BLKNR to -1 instead of returning GRUB_ERRNO.
44234 (grub_ext2_read_file): Change the types of SECTOR and
44235 LEN to grub_disk_addr_t and grub_size_t, respectively.
44236
44237 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44238 LEN to grub_disk_addr_t and grub_size_t, respectively.
44239
44240 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44241 grub_file_read.
44242
44243 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44244 string. Do not cast SECTOR explicitly.
44245
44246 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44247 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44248 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44249 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44250 over 2TB and LBA mode is not supported, raise an error.
44251 (get_safe_sectors): New function.
44252 (grub_biosdisk_read): Use get_safe_sectors.
44253 (grub_biosdisk_write): Likewise.
44254
44255 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44256 (grub_efidisk_write): Likewise.
44257
44258 * disk/loopback.c (delete_loopback): Cosmetic changes.
44259 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44260 correctly.
44261 (grub_loopback_open): Likewise.
44262 (grub_loopback_read): Likewise. Also, change the type of POS to
44263 grub_off_t, and fix the usage of grub_memset.
44264
44265 * commands/i386/pc/play.c: Include grub/machine/time.h.
44266
44267 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44268 print FILE->SIZE.
44269
44270 * commands/configfile.c: Include grub/env.h.
44271
44272 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44273 GRUB_ERRNO directly instead. Change the type of POS to
44274 grub_off_t. Follow the coding standard.
44275
44276 * commands/blocklist.c: Include grub/partition.h.
44277 (grub_cmd_blocklist): Return an error if the underlying device is
44278 not a disk. Take the starting sector of a partition into account,
44279 if a partition is used.
44280
44281 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44282 a length field.
44283 (lba_mode): Support 64-bit addresses.
44284 (chs_mode): Likewise.
44285 (copy_buffer): Adapted to the new offsets of a length field and a
44286 segment field.
44287 (blocklist_default_start): Allocate 64-bit space.
44288
44289 * boot/i386/pc/boot.S (force_lba): Removed.
44290 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44291 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44292 space.
44293 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44294 is useless.
44295 (lba_mode): Refactored to support a 64-bit address. More size
44296 optimization.
44297 (setup_sectors): Likewise.
44298
53af98ad 442992006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44300
44301 * DISTLIST: Added include/grub/i386/linux.h. Removed
44302 include/grub/i386/pc/linux.h
44303
44304 * configure.ac (AC_INIT): Bumped to 1.94.
44305
44306 * config.guess: Updated from gnulib.
44307 * config.sub: Likewise.
44308 * install-sh: Likewise.
44309 * mkinstalldirs: Likewise.
44310
b4c1940a 443112006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44312
44313 * conf/common.rmk (grub_modules_init.lst): Depended on
44314 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44315 MODSRCFILES.
44316
44317 * genmk.rb (PModule::rule): Reverted the previous change.
44318
cfca1cfd 443192006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44320
44321 * conf/common.rmk (grub_modules_init.lst): Depends on
44322 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44323 that the target does not exist before producing.
44324 (grub_modules_init.h): Remove the target before generating.
44325 (grub_emu_init.c): Likewise.
44326
44327 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44328
aa6d7826 443292006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44330
44331 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44332 for the target-specific tests. Make sure that we also have the
44333 up-to-date target variables for those tests.
44334
26c607b9 443352006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44336
44337 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44338 (PModule::rule): Likewise.
44339
0162321a 443402006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44341
44342 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44343 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44344 target-specific flags should be prefixed.
44345 (PModule::rule): Likewise.
44346
6c826348 443472006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44348
44349 * configure.ac (CMP): Check if cmp is available explicitly.
44350
b977bf01 443512006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44352
44353 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44354 (target_cpu): New variable.
44355 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44356
b977bf01 44357 * util/i386/pc/grub-install.in (host_cpu): Removed.
44358 (target_cpu): New variable.
44359 (pkglibdir): Use target_cpu instead of host_cpu.
44360
44361 * util/genmoddep.c: Removed.
f19dbdb7 44362
b977bf01 44363 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44364 instead of GRUB_HOST_SIZEOF_VOID_P.
44365 * kern/dl.c: Likewise.
44366
44367 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44368 ...
44369 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44370 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44371 (GRUB_TARGET_SIZEOF_LONG): ... this.
44372 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44373 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44374 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44375 to ...
44376 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44377 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44378 (GRUB_TARGET_SIZEOF_LONG): ... this.
44379 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44380 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44381 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44382 to ...
44383 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44384 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44385 (GRUB_TARGET_SIZEOF_LONG): ... this.
44386 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44387 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44388
44389 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44390 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44391 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44392 instead of GRUB_HOST_SIZEOF_LONG.
44393 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44394 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44395 GRUB_CPU_WORDS_BIGENDIAN.
44396 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44397 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44398 grub_host_ssize_t.
44399
44400 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44401 (genmoddep_SOURCES): Likewise.
44402 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44403 (genmoddep_SOURCES): Likewise.
44404 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44405 (genmoddep_SOURCES): Likewise.
44406 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44407 Likewise.
44408 (genmoddep_SOURCES): Likewise.
44409
44410 * genmoddep.awk: New file.
44411
44412 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44413 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44414 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44415 (PModule::rule): Likewise.
44416 (Program::rule): Likewise.
44417 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44418 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44419 respectively.
44420
44421 * configure.ac: Rewritten intensively to use host and target
44422 instead of build and host, respectively.
44423
44424 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44425 (host_cpu): Removed.
44426 (target_cpu): New variable.
44427 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44428 (BUILD_CC): Removed.
44429 (BUILD_CFLAGS): Likewise.
44430 (BUILD_CPPFLAGS): Likewise.
44431 (TARGET_CC): New variable.
44432 (TARGET_CFLAGS): Likewise.
44433 (TARGET_CPPFLAGS): Likewise.
44434 (TARGET_LDFLAGS): Likewise.
44435 (AWK): Likewise.
44436 (include): Use target_cpu instead of host_cpu.
44437 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44438
b977bf01 44439 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44440
f09771a1 444412006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44442
44443 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44444 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44445 field 'false' to 'exec_on_false'.
44446 (grub_script_create_cmdif): Renamed argument names to reflect above
44447 changes.
44448
44449 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44450
44451 * normal/script.c (grub_script_create_cmdif): Likewise.
44452
118f4fb3 444532006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44454
44455 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44456 top.
44457 (grub_hfsplus_btree_recptr): Likewise.
44458 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44459 FILEBLOCK both to pass a block number and store next block
44460 number.
44461 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44462 overflow file correctly. Specify errors appropriately, because
44463 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44464 grub_hfsplus_btree_recptr to get the pointer to a found key.
44465 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44466 is found.
44467
44468 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44469 linux.mod.
44470 (_linux_mod_SOURCES): New variable.
44471 (_linux_mod_CFLAGS): Likewise.
44472 (_linux_mod_LDFLAGS): Likewise.
44473 (linux_mod_SOURCES): Likewise.
44474 (linux_mod_CFLAGS): Likewise.
44475 (linux_mod_LDFLAGS): Likewise.
44476
44477 * DISTLIST: Added loader/i386/efi/linux.c,
44478 loader/i386/efi/linux_normal.c and
44479 include/grub/i386/efi/loader.h.
44480
44481 * loader/i386/efi/linux.c: New file.
44482 * loader/i386/efi/linux_normal.c: Likewise.
44483 * include/grub/i386/efi/loader.h: Likewise.
44484
89a7d726 444852006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44486
44487 * commands/blocklist.c: New file.
44488
44489 * DISTLIST: Added commands/blocklist.c.
44490
44491 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44492 color for the background, and a darker color for the foreground.
89a7d726 44493 (grub_console_checkkey): Return READ_KEY.
44494 (grub_console_cls): Set the background to
44495 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44496
44497 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44498
44499 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44500 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44501
44502 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44503 prototype.
44504
44505 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44506 BG. The spec is wrong again.
44507
44508 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44509 prototype.
44510 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44511
44512 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44513 commands/blocklist.c.
44514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44515
89a7d726 44516 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44517 (blocklist_mod_SOURCES): New variable.
44518 (blocklist_mod_CFLAGS): Likewise.
44519 (blocklist_mod_LDFLAGS): Likewise.
44520
75c8f258 445212006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44522
44523 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44524 duplication.
44525 (lba_mode): Use %eax more intensively to reduce the code size.
44526
da2eb181 445272006-05-20 Marco Gerards <marco@gnu.org>
44528
44529 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44530
44531 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44532 for `menuentry'.
44533 (script): Accept leading newlines.
44534 (newlines): New rule to describe 0 or more newlines.
44535 (commands): Accept `command' with trailing newline. Fixed the
44536 order in which arguments were passed to `grub_script_add_cmd'.
44537 Accept commands separated by newlines.
44538 (function): Changed to accept newlines.
44539 (menuentry) Rewritten.
44540
44541 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44542 front of the list, instead of to the end.
44543
577b4050 445442006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44545
44546 * util/i386/pc/grub-install.in (bindir): New variable.
44547 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44548 Shaver <lbgwjl@gmail.com>.
44549
0d6e1189 445502006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44551
44552 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44553 grub/machine/linux.h
44554 * loader/i386/pc/linux.c: Likewise.
44555
44556 * include/grub/i386/pc/linux.h: Moved to ...
44557 * include/grub/i386/linux.h: ... here.
44558
44559 * include/grub/i386/linux.h (struct linux_kernel_params): New
44560 struct.
f19dbdb7 44561
31b86e9f 445622006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44563
44564 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44565 checking.
44566 (grub_video_vbe_blit_glyph): Likewise.
44567 (grub_video_vbe_blit_bitmap): Likewise.
44568 (grub_video_vbe_blit_render_target): Likewise.
44569
83b984de 445702006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44571
44572 * configure.ac (--with-platform): Properly quote the square
44573 brackets.
44574
5f0413bd 445752006-05-08 Marco Gerards <marco@gnu.org>
44576
44577 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44578 this...
44579 (kernel_elf_HEADERS): ...to this. Updated all users.
44580 (grubof_symlist.c): Renamed from this...
44581 (kernel_elf_symlist.c): ...to this. Updated all users.
44582 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44583 (grubof_SOURCES): Renamed from this...
44584 (kernel_elf_SOURCES): ...to this.
44585 (grubof_HEADERS): Renamed from this...
44586 (kernel_elf_HEADERS): ...to this.
44587 (grubof_CFLAGS): Renamed from this...
44588 (kernel_elf_CFLAGS): ...to this.
44589 (grubof_ASFLAGS): Renamed from this...
44590 (kernel_elf_ASFLAGS): ...to this.
44591 (grubof_LDFLAGS): Renamed from this...
44592 (kernel_elf_LDFLAGS): ...to this.
44593
44594 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44595 this...
44596 (kernel_elf_HEADERS): ...to this. Updated all users.
44597 (grubof_symlist.c): Renamed from this...
44598 (kernel_elf_symlist.c): ...to this. Updated all users.
44599 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44600 (grubof_SOURCES): Renamed from this...
44601 (kernel_elf_SOURCES): ...to this.
44602 (grubof_HEADERS): Renamed from this...
44603 (kernel_elf_HEADERS): ...to this.
44604 (grubof_CFLAGS): Renamed from this...
44605 (kernel_elf_CFLAGS): ...to this.
44606 (grubof_ASFLAGS): Renamed from this...
44607 (kernel_elf_ASFLAGS): ...to this.
44608 (grubof_LDFLAGS): Renamed from this...
44609 (kernel_elf_LDFLAGS): ...to this.
44610
44611 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44612 `kernel.elf' instead of `grubof'.
44613
05568c2e 446142006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44615
44616 Add --with-platform to configure. Use pkglibdir instead of
44617 pkgdatadir. This is reported by Roger Leigh.
44618
44619 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44620 (host_vendor): Likewise.
44621 (host_os): Likewise.
44622 (pkgdatadir): Likewise.
44623 (platform): New variable.
44624 (pkglibdir): Likewise.
44625 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 44626
05568c2e 44627 * util/i386/pc/grub-install.in (datadir): Removed.
44628 (host_vendor): Likewise.
44629 (host_os): Likewise.
44630 (pkgdatadir): Likewise.
44631 (platform): New variable.
44632 (pkglibdir): Likewise.
44633 Use PKGLIBDIR instead of PKGDATADIR.
44634
44635 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44636 instead of GRUB_DATADIR.
44637 (main): Likewise.
44638 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44639 (main): Likewise.
44640 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44641 (main): Likewise.
44642
44643 * configure.ac (--with-platform): New option.
44644 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44645
44646 * Makefile.in: Include a makefile based on PLATFORM instead of
44647 HOST_VENDOR.
44648 (pkgdatadir): Not appended by the machine type.
44649 (pkglibdir): Appended by the machine type.
44650 (host_vendor): Removed.
44651 (platform): New variable.
44652 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44653 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44654 (uninstall): Likewise.
44655
4e93851c 446562006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44657
44658 Use the environment context in the menu. Remove the commands
44659 "default" and "timeout", and use variables instead.
f19dbdb7 44660
4e93851c 44661 * normal/menu.c: Include grub/env.h.
44662 (print_entry): Cast TITLE to silence gcc.
44663 (get_timeout): New function.
44664 (set_timeout): Likewise.
44665 (get_entry_number): Likewise.
44666 (run_menu): Use a default entry, a fallback entry and a timeout
44667 in the environment variables "default", "fallback" and
44668 "timeout". Also, tweak the default entry if it is not within the
44669 current menu entries.
44670 (grub_menu_run): Use a fallback entry in the environment variable
44671 "fallback".
44672
44673 * normal/main.c (read_config_file): Do not initialize
44674 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44675 NEWMENU->TIMEOUT.
44676 (grub_normal_execute): Use a data slot to store the menu.
44677
44678 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44679 fallback_entry and timeout.
44680 (struct grub_menu_list): Removed.
44681 (grub_menu_list_t): Likewise.
44682 (struct grub_context): Likewise.
44683 (grub_context_t): Likewise.
44684 (grub_context_get): Likewise.
44685 (grub_context_get_current_menu): Likewise.
44686 (grub_context_push_menu): Likewise.
44687 (grub_context_pop_menu): Likewise.
44688 (grub_default_init): Likewise.
44689 (grub_default_fini): Likewise.
44690 (grub_timeout_init): Likewise.
44691 (grub_timeout_fini): Likewise.
44692
44693 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44694 and timeout.mod.
44695 (normal_mod_SOURCES): Removed normal/context.c.
44696
44697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44698 commands/default.c, commands/timeout.c and normal/context.c.
44699 (normal_mod_SOURCES): Removed normal/context.c.
44700
44701 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44702 commands/timeout.c and normal/context.c.
44703 (normal_mod_SOURCES): Removed normal/context.c.
44704
44705 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44706 commands/default.c, commands/timeout.c and normal/context.c.
44707 (normal_mod_SOURCES): Removed normal/context.c.
44708
44709 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44710 timeout.mod.
44711 (default_mod_SOURCES): Removed.
44712 (default_mod_CFLAGS): Likewise.
44713 (default_mod_LDFLAGS): Likewise.
44714 (timeout_mod_SOURCES): Removed.
44715 (timeout_mod_CFLAGS): Likewise.
44716 (timeout_mod_LDFLAGS): Likewise.
44717
44718 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44719 normal/context.c.
44720
44721 * commands/default.c: Removed.
44722 * commands/timeout.c: Likewise.
44723 * normal/context.c: Likewise.
44724
1eb9cc1d 447252006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44726
44727 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44728
385bd9c1 447292006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44730
44731 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44732 "next" to "prev" for readability.
44733 (struct grub_env_sorted_var): New struct.
44734 (grub_env_context): Renamed to ...
44735 (initial_context): ... this.
44736 (grub_env_var_context): Renamed to ...
44737 (current_context): ... this.
44738 (grub_env_find): Look only at CURRENT_CONTEXT.
44739 (grub_env_context_open): Rewritten to copy exported variables from
44740 previous context.
44741 (grub_env_context_close): Rewritten according to the new
44742 scheme. Also, add an assertion to prevent the initial context from
44743 removed.
44744 (grub_env_insert): Removed the code for the sorted list.
44745 (grub_env_remove): Likewise.
44746 (grub_env_export): Simply mark the variable with
44747 GRUB_ENV_VAR_GLOBAL.
44748 (grub_env_set): A cosmetic change for naming consistency.
44749 (grub_env_get): Likewise.
44750 (grub_env_unset): Likewise.
44751 (grub_env_iterate): Rewritten to sort variables within this
44752 function.
44753 (grub_register_variable_hook): Fixed for naming consistency. Call
44754 grub_env_find again, only if NAME is not found at the first time.
44755 (mangle_data_slot_name): New function.
44756 (grub_env_set_data_slot): Likewise.
44757 (grub_env_get_data_slot): Likewise.
44758 (grub_env_unset_data_slot): Likewise.
44759
44760 * include/grub/env.h (grub_env_var_type): New enum.
44761 (GRUB_ENV_VAR_LOCAL): New constant.
44762 (GRUB_ENV_VAR_GLOBAL): Likewise.
44763 (GRUB_ENV_VAR_DATA): Likewise.
44764 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44765 "type".
44766 (grub_env_set): Replace VAR with NAME for consistency.
44767 (grub_register_variable_hook): Likewise.
44768 (grub_env_export): Specify the name of the argument.
44769 (grub_env_set_data_slot): New prototype.
44770 (grub_env_get_data_slot): Likewise.
44771 (grub_env_unset_data_slot): Likewise.
44772
7f362539 447732006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44774
44775 Extend the loader so that GRUB can accept a loader which comes
44776 back to GRUB when a loaded image exits. Also, this change adds
44777 support for a chainloader on EFI.
f19dbdb7 44778
7f362539 44779 * term/efi/console.c: Include grub/misc.h.
44780 (grub_console_checkkey): Display a scan code on the top for
44781 debugging. This will be removed once the EFI port gets stable.
44782 Correct the scan code mapping.
44783
44784 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44785 allocate memory from larger regions, in order to reduce the number
44786 of allocated regions. Otherwise, the MacOSX loader panics.
44787 (filter_memory_map): Avoid less than 1MB for compatibility with
44788 other loaders.
44789 (add_memory_regions): Allocate from the tail of a region, if
44790 possible, to avoid allocating a region near to 1MB, for the MacOSX
44791 loader.
44792
44793 * kern/efi/init.c (grub_efi_set_prefix): Specify
44794 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44795
44796 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44797 argument IMAGE_HANDLE and specify it to get a loaded image.
44798 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44799 grub_efi_get_loaded_image.
fe6b695a 44800 (grub_efi_get_filename): Divide the length by the size of
7f362539 44801 grub_efi_char16_t.
44802 (grub_efi_get_device_path): New function.
44803 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44804 the length by the size of grub_efi_char16_t for a file path device
44805 path node.
44806
44807 * kern/loader.c (grub_loader_noreturn): New variable.
44808 (grub_loader_set): Accept a new argument NORETURN. Set
44809 GRUB_LOADER_NORETURN to NORETURN.
44810 All callers changed.
44811 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44812 grub_machine_fini.
44813
44814 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44815 prototype.
44816 (grub_efi_get_loaded_image): Take an argument to specify an image
44817 handle.
44818
44819 * include/grub/loader.h (grub_loader_set): Added one more argument
44820 NORETURN.
44821
44822 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44823 instead of grub_efi_open_protocol.
44824 (grub_efidisk_get_device_name): Likewise.
44825 (grub_efidisk_close): Print a newline.
44826 (grub_efidisk_get_device_handle): Fixed to use
44827 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44828 GRUB_EFI_DEVICE_PATH_TYPE.
44829
44830 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44831 * kern/efi/efi.c (device_path_guid): ... here.
44832
44833 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44834 chain.mod.
44835 (kernel_mod_HEADERS): Added efi/disk.h.
44836 (_chain_mod_SOURCES): New variable.
44837 (_chain_mod_CFLAGS): Likewise.
44838 (_chain_mod_LDFLAGS): Likewise.
44839 (chain_mod_SOURCES): Likewise.
44840 (chain_mod_CFLAGS): Likewise.
44841 (chain_mod_LDFLAGS): Likewise.
44842
44843 * DISTLIST: Added include/grub/efi/chainloader.h,
44844 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44845
44846 * include/grub/efi/chainloader.h: New file.
44847 * loader/efi/chainloader.c: Likewise.
44848 * loader/efi/chainloader_normal.c: Likewise.
44849
c0111d6e 448502006-04-30 Marco Gerards <marco@gnu.org>
44851
44852 * commands/configfile.c (grub_cmd_source): New function.
44853 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44854 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44855
df5341da 448562006-04-30 Marco Gerards <marco@gnu.org>
44857
44858 * normal/execute.c (grub_script_execute_cmd): Change the return
44859 type to `grub_err_t'. Correctly return the error.
44860 (grub_script_execute_cmdline): In case a command line is not a
44861 command or a function, try to interpret it as an assignment.
44862
f85934bd 448632006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44864
44865 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44866 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44867 skip a node whose name is obviously invalid as UTF-16,
44868 i.e. contains a NUL character. Stop the iteration when the last
44869 directory entry is found. Instead of using the return value of
44870 grub_hfsplus_btree_iterate_node, store the value in RET and use
44871 it, because the iterator can be stopped by the last directory
44872 entry.
44873
8f8a2cf8 448742006-04-30 Marco Gerards <marco@gnu.org>
44875
44876 * include/grub/env.h (grub_env_export): New prototype. Reported
44877 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44878
a27e84ce 448792006-04-30 Marco Gerards <marco@gnu.org>
44880
44881 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44882 size of the extents in a catalog file record.
44883
eaef0553 448842006-04-29 Marco Gerards <marco@gnu.org>
44885
44886 * commands/configfile.c (grub_cmd_configfile): Execute the
44887 configfile within its own context.
44888
44889 * include/grub/env.h (grub_env_context_open): New prototype.
44890 (grub_env_context_close): Likewise.
44891
44892 * kern/env.c (grub_env): Removed.
44893 (grub_env_sorted): Likewise.
44894 (grub_env_context): New variable.
44895 (grub_env_var_context): Likewise.
44896 (grub_env_find): Search both the active context and the global
44897 context.
44898 (grub_env_context_open): New function.
44899 (grub_env_context_close): Likewise.
44900 (grub_env_insert): Likewise.
44901 (grub_env_remove): Likewise.
44902 (grub_env_export): Likewise.
44903 (grub_env_set): Changed to use helper functions to avoid code
44904 duplication.
44905 (grub_env_iterate): Rewritten so both the current context and the
44906 global context are being used.
44907
44908 * normal/command.c (export_command): New function.
44909 (grub_command_init): Register the `export' function.
44910
7b455f4d 449112006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44912
44913 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44914 explicitly to suppress gcc's warnings.
44915 * fs/fat.c (grub_fat_find_dir): Likewise.
44916 (grub_fat_label): Likewise.
44917 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44918 (grub_xfs_mount): Likewise.
44919 (grub_xfs_label): Likewise.
44920 * fs/affs.c (grub_affs_mount): Likewise.
44921 (grub_affs_label): Likewise.
44922 (grub_affs_iterate_dir): Likewise.
44923 * fs/sfs.c (grub_sfs_mount): Likewise.
44924 (grub_sfs_iterate_dir): Likewise.
44925 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44926 * fs/hfs.c (grub_hfs_mount): Likewise.
44927 (grub_hfs_cmp_catkeys): Likewise.
44928 (grub_hfs_find_dir): Likewise.
44929 (grub_hfs_dir): Likewise.
44930 (grub_hfs_label): Likewise.
44931 * fs/jfs.c (grub_jfs_mount): Likewise.
44932 (grub_jfs_opendir): Likewise.
44933 (grub_jfs_getent): Likewise.
44934 (grub_jfs_lookup_symlink): Likewise.
44935 (grub_jfs_label): Likewise.
44936 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44937 (grub_hfsplus_iterate_dir): Likewise.
44938 (grub_hfsplus_btree_iterate_node): Made static.
44939
44940 * util/grub-emu.c (prefix): New variable.
44941 (grub_machine_set_prefix): New function.
44942 (main): Do not set the environment variable "prefix" here. Only
44943 set PREFIX, which is used later by grub_machine_set_prefix.
44944
44945 * include/grub/video.h: Do not include grub/symbol.h.
44946 (grub_video_register): Not exported. This symbol is not defined in
44947 the kernel.
44948 (grub_video_unregister): Likewise.
44949 (grub_video_iterate): Likewise.
44950 (grub_video_setup): Likewise.
44951 (grub_video_restore): Likewise.
44952 (grub_video_get_info): Likewise.
44953 (grub_video_get_blit_format): Likewise.
44954 (grub_video_set_palette): Likewise.
44955 (grub_video_get_palette): Likewise.
44956 (grub_video_set_viewport): Likewise.
44957 (grub_video_get_viewport): Likewise.
44958 (grub_video_map_color): Likewise.
44959 (grub_video_map_rgb): Likewise.
44960 (grub_video_map_rgba): Likewise.
44961 (grub_video_fill_rect): Likewise.
44962 (grub_video_blit_glyph): Likewise.
44963 (grub_video_blit_bitmap): Likewise.
44964 (grub_video_blit_render_target): Likewise.
44965 (grub_video_scroll): Likewise.
44966 (grub_video_swap_buffers): Likewise.
44967 (grub_video_create_render_target): Likewise.
44968 (grub_video_delete_render_target): Likewise.
44969 (grub_video_set_active_render_target): Likewise.
44970
44971 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44972 Undefined.
44973 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44974
44975 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44976 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44977 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44978 instead of $(srcdir)/genkernsyms.sh.
44979
44980 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44981 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44982 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44983 instead of $(srcdir)/genkernsyms.sh.
44984
44985 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44986 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44987 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44988 instead of $(srcdir)/genkernsyms.sh.
44989
44990 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44991 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44992 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44993 instead of $(srcdir)/genkernsyms.sh.
44994
44995 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44996 genkernsyms.sh.
44997
44998 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44999 genkernsyms.sh.
45000 (gensymlist.sh): New target.
45001 (genkernsyms.sh): Likewise.
45002
45003 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45004 genkernsyms.sh.in and gensymlist.sh.in.
45005
45006 * genkernsyms.sh: Removed.
45007 * gensymlist.sh: Likewise.
f19dbdb7 45008
7b455f4d 45009 * genkernsyms.sh.in: New file.
45010 * gensymlist.sh.in: Likewise.
45011
1885bb27 450122006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45013
45014 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45015 clobber "prefix", since we may have already set it manually.
45016
71538dff 450172006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45018
45019 * kern/misc.c (abort): New alias for grub_abort.
45020
2965c7cc 450212006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45022
45023 A new machine-specific function "grub_machine_set_prefix" is
45024 defined. This is called after loading modules, so that a prefix
45025 initialization can use modules. Also, this change adds an
45026 intensive debugging feature for the memory manager via the
45027 configure option "--enable-mm-debug".
f19dbdb7 45028
2965c7cc 45029 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45030 PART.LEN.
45031
45032 * kern/sparc64/ieee1275/init.c (abort): Removed.
45033 (grub_stop): Likewise.
45034 (grub_exit): New function.
45035 (grub_set_prefix): Renamed to ...
45036 (grub_machine_set_prefix): ... this.
45037 (grub_machine_init): Do not call grub_set_prefix.
45038
45039 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45040 (grub_machine_set_prefix): ... this.
45041 (grub_machine_init): Do not call grub_set_prefix.
45042
45043 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45044 (grub_machine_init): Do not set the prefix here.
45045
45046 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45047
45048 * kern/efi/init.c: Include grub/mm.h.
45049 (grub_efi_set_prefix): New function.
45050
45051 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45052 (grub_efi_get_filename): New function.
45053 (grub_print_device_path): Renamed to ...
45054 (grub_efi_print_device_path): ... this.
45055
45056 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45057 [MM_DEBUG] (grub_realloc): Likewise.
45058 [MM_DEBUG] (grub_free): Likewise.
45059 [MM_DEBUG] (grub_memalign): Likewise.
45060 [MM_DEBUG] (grub_mm_debug): New variable.
45061 [MM_DEBUG] (grub_debug_malloc): New function.
45062 [MM_DEBUG] (grub_debug_free): New function.
45063 [MM_DEBUG] (grub_debug_realloc): New function.
45064 [MM_DEBUG] (grub_debug_memalign): New function.
45065
45066 * kern/misc.c (grub_abort): Print a newline to distinguish
45067 the message.
45068
45069 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45070 grub_set_root_dev after loading modules. This is necessary when
45071 setting a prefix depends on modules.
45072
45073 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45074 (grub_efi_print_device_path): ... this.
45075 (grub_efi_get_filename): New prototype.
45076 (grub_efi_set_prefix): Likewise.
45077
45078 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45079 and grub/disk.h.
45080 (grub_efidisk_get_device_handle): New prototype.
45081 (grub_efidisk_get_device_name): Likewise.
45082
45083 * include/grub/mm.h: Include config.h.
45084 (MM_DEBUG): Removed.
45085 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45086 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45087 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45088 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45089 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45090 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45091 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45092 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45093 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45094
45095 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45096
45097 * disk/efi/efidisk.c: Include grub/partition.h.
45098 (iterate_child_devices): New function.
45099 (add_device): First, compare only last device path nodes, so that
45100 devices are sorted by the types.
45101 (grub_efidisk_get_device_handle): New function.
45102 (grub_efidisk_get_device_name): Likewise.
45103
45104 * configure.ac (--enable-mm-debug): New option to enable the
45105 memory manager debugging feature. This makes the binary much
45106 bigger, so is disabled by default.
45107
9cacaa17 451082006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45109
45110 Use grub_abort instead of grub_stop, and grub_exit must be
45111 define in each architecture now. Also, this change adds support
45112 for EFI disks.
f19dbdb7 45113
9cacaa17 45114 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45115 (grub_getkey): New function.
45116 (grub_term_get_current): Likewise.
45117
45118 * util/i386/pc/grub-setup.c: Include grub/term.h.
45119 (grub_getkey): New function.
45120 (grub_term_get_current): Likewise.
45121
45122 * util/misc.c (grub_stop): Renamed to ...
45123 (grub_exit): ... this.
45124
45125 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45126 (grub_exit): ... this.
45127 (grub_machine_init): Use grub_abort instead of abort.
45128 (grub_stop): Removed.
45129
45130 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45131 abort.
45132
45133 * kern/i386/pc/startup.S (grub_exit): New function.
45134 (cold_reboot): New label.
45135
45136 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45137 (grub_efi_init): Call grub_efidisk_init.
45138 (grub_efi_fini): Call grub_efidisk_fini.
45139
45140 * kern/efi/efi.c: Include grub/mm.h.
45141 (grub_efi_console_control_guid): Renamed to ...
45142 (console_control_guid): ... this.
45143 (grub_efi_loaded_image_guid): Renamed to ...
45144 (loaded_image_guid): ... this.
45145 (grub_efi_locate_handle): New function.
45146 (grub_efi_open_protocol): Likewise.
45147 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45148 GRUB_EFI_CONSOLE_CONTROL_GUID.
45149 (grub_efi_exit): Removed.
45150 (grub_stop): Likewise.
45151 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45152 (grub_exit): New function.
45153 (grub_print_device_path): Likewise.
45154
45155 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45156 (grub_enter_rescue_mode): Register "exit".
45157
45158 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45159 (grub_abort): New function.
45160
45161 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45162
45163 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45164
45165 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45166
45167 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45168 (grub_print_device_path): New prototype.
45169 (grub_efi_locate_handle): Likewise.
45170 (grub_efi_open_protocol): Likewise.
45171
45172 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45173 * disk/efi/efidisk.c: Likewise.
45174
45175 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45176
45177 * include/grub/efi/console_control.h
45178 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45179
45180 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45181 last 8 bytes as an array.
45182 (GRUB_EFI_DISK_IO_GUID): New macro.
45183 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45184 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45185 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45186 grub_uint8_t.
45187 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45188 (struct grub_efi_device_path): Rename the member "sub_type" to
45189 "subtype".
45190 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45191 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45192 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45193 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45194 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45195 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45196 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45197 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45198 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45199 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45200 (struct grub_efi_pci_device_path): New structure.
45201 (grub_efi_pci_device_path_t): New type.
45202 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45203 (struct grub_efi_pccard_device_path): New structure.
45204 (grub_efi_pccard_device_path_t): New type.
45205 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45206 (struct grub_efi_memory_mapped_device_path): New structure.
45207 (grub_efi_memory_mapped_device_path_t): New type.
45208 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45209 (struct grub_efi_vendor_device_path): New structure.
45210 (grub_efi_vendor_device_path_t): New type.
45211 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45212 (struct grub_efi_controller_device_path): New structure.
45213 (grub_efi_controller_device_path_t): New type.
45214 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45215 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45216 (struct grub_efi_acpi_device_path): New structure.
45217 (grub_efi_acpi_device_path_t): New type.
45218 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45219 (struct grub_efi_expanded_acpi_device_path): New structure.
45220 (grub_efi_expanded_acpi_device_path_t): New type.
45221 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45222 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45223 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45224 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45225 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45226 (struct grub_efi_atapi_device_path): New structure.
45227 (grub_efi_atapi_device_path_t): New type.
45228 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45229 (struct grub_efi_fibre_channel_device_path): New structure.
45230 (grub_efi_fibre_channel_device_path_t): New type.
45231 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45232 (struct grub_efi_1394_device_path): New structure.
45233 (grub_efi_1394_device_path_t): New type.
45234 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45235 (struct grub_efi_usb_device_path): New structure.
45236 (grub_efi_usb_device_path_t): New type.
45237 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45238 (struct grub_efi_usb_class_device_path): New structure.
45239 (grub_efi_usb_class_device_path_t): New type.
45240 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45241 (struct grub_efi_i2o_device_path): New structure.
45242 (grub_efi_i2o_device_path_t): New type.
45243 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45244 (struct grub_efi_mac_address_device_path): New structure.
45245 (grub_efi_mac_address_device_path_t): New type.
45246 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45247 (struct grub_efi_ipv4_device_path): New structure.
45248 (grub_efi_ipv4_device_path_t): New type.
45249 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45250 (struct grub_efi_ipv6_device_path): New structure.
45251 (grub_efi_ipv6_device_path_t): New type.
45252 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45253 (struct grub_efi_infiniband_device_path): New structure.
45254 (grub_efi_infiniband_device_path_t): New type.
45255 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45256 (struct grub_efi_uart_device_path): New structure.
45257 (grub_efi_uart_device_path_t): New type.
45258 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45259 (struct grub_efi_vendor_messaging_device_path): New structure.
45260 (grub_efi_vendor_messaging_device_path_t): New type.
45261 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45262 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45263 (struct grub_efi_hard_drive_device_path): New structure.
45264 (grub_efi_hard_drive_device_path_t): New type.
45265 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45266 (struct grub_efi_cdrom_device_path): New structure.
45267 (grub_efi_cdrom_device_path_t): New type.
45268 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45269 (struct grub_efi_vendor_media_device_path): New structure.
45270 (grub_efi_vendor_media_device_path_t): New type.
45271 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45272 (struct grub_efi_file_path_device_path): New structure.
45273 (grub_efi_file_path_device_path_t): New type.
45274 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45275 (struct grub_efi_protocol_device_path): New structure.
45276 (grub_efi_protocol_device_path_t): New type.
45277 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45278 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45279 (struct grub_efi_bios_device_path): New structure.
45280 (grub_efi_bios_device_path_t): New type.
45281 (struct grub_efi_disk_io): New structure.
45282 (grub_efi_disk_io_t): New type.
45283 (struct grub_efi_block_io_media): New structure.
45284 (grub_efi_block_io_media_t): New type.
45285 (struct grub_efi_block_io): New structure.
45286 (grub_efi_block_io_t): New type.
45287
45288 * include/grub/misc.h (grub_stop): Removed.
45289 (grub_exit): New prototype.
45290 (grub_abort): Likewise.
45291
45292 * include/grub/disk.h (enum grub_disk_dev_id): Added
45293 GRUB_DISK_DEVICE_EFIDISK_ID.
45294
45295 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45296 disk/efi/efidisk.c.
45297 (kernel_syms.lst): Remove the target if an error occurs.
45298
49986a9f 452992006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45300
45301 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45302 as it was simply too buggy.
45303
970d3b8a 453042006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45305
45306 * kern/misc.c (grub_lltoa): New function.
45307 (grub_vsprintf): Added support for the long long suffix,
45308 i.e. "ll".
45309
ff04ec24 453102006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45311
45312 * Makefile.in (LDFLAGS): Add variable.
45313 (LD): Remove variable.
45314 * configure.ac: Add -m32 to LDFLAGS.
45315 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45316 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45317 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45318 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45319 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45320 variables.
45321 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45322 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45323 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45324
37e5e1a4 453252006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45326
45327 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45328 length for unknown glyph.
45329
c352d8dd 453302006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45331
2eab1c0d 45332 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45333
2eab1c0d 45334 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45335 completely. Accept one more argument DIR. The caller has changed.
45336
45337 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45338
45339 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45340 (grub_efi_loaded_image_guid): New variable.
45341 (grub_efi_get_loaded_image): New function.
45342 (grub_arch_modules_addr): Likewise.
45343
45344 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45345 prototype.
45346
45347 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45348 (struct grub_efi_loaded_image): New structure.
45349 (grub_efi_loaded_image_t): New type.
45350
453512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45352
c352d8dd 45353 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45354 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45355 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45356
6d01d6b4 453572006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45358
45359 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45360
976a4ea0 453612006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45362
45363 * DISTLIST: Added include/grub/efi/console.h,
45364 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45365 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45366
45367 * include/grub/efi/console.h: New file.
45368 * include/grub/efi/time.h: Likewise.
45369 * include/grub/i386/efi/kernel.h: Likewise.
45370 * kern/efi/init.c: Likewise.
45371 * kern/efi/mm.c: Likewise.
45372 * term/efi/console.c: Likewise.
f19dbdb7 45373
976a4ea0 45374 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45375 (grub_stop): Removed.
45376 (grub_get_rtc): Likewise.
45377 (grub_machine_init): Simply call grub_efi_init.
45378 (grub_machine_fini): Call grub_efi_fini.
45379
45380 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45381 (grub_efi_output_string): Removed.
45382 (grub_efi_stall): New function.
45383 (grub_stop): Likewise.
45384 (grub_get_rtc): Likewise.
45385
45386 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45387 (grub_efi_stall): New prototype.
45388 (grub_efi_allocate_pages): Likewise.
45389 (grub_efi_free_pages): Likewise.
45390 (grub_efi_get_memory_map): Likewise.
45391 (grub_efi_mm_init): Likewise.
45392 (grub_efi_mm_fini): Likewise.
45393 (grub_efi_init): Likewise.
45394 (grub_efi_fini): Likewise.
45395
45396 * include/grub/i386/efi/time.h: Do not include
45397 grub/symbol.h. Include grub/efi/time.h.
45398 (GRUB_TICKS_PER_SECOND): Removed.
45399 (grub_get_rtc): Likewise.
45400
45401 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45402 Added padding. The EFI spec is buggy.
45403 (GRUB_EFI_BLACK): New macro.
45404 (GRUB_EFI_BLUE): Likewise.
45405 (GRUB_EFI_GREEN): Likewise.
45406 (GRUB_EFI_CYAN): Likewise.
45407 (GRUB_EFI_RED): Likewise.
45408 (GRUB_EFI_MAGENTA): Likewise.
45409 (GRUB_EFI_BROWN): Likewise.
45410 (GRUB_EFI_LIGHTGRAY): Likewise.
45411 (GRUB_EFI_BRIGHT): Likewise.
45412 (GRUB_EFI_DARKGRAY): Likewise.
45413 (GRUB_EFI_LIGHTBLUE): Likewise.
45414 (GRUB_EFI_LIGHTGREEN): Likewise.
45415 (GRUB_EFI_LIGHTCYAN): Likewise.
45416 (GRUB_EFI_LIGHTRED): Likewise.
45417 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45418 (GRUB_EFI_YELLOW): Likewise.
45419 (GRUB_EFI_WHITE): Likewise.
45420 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45421 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45422 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45423 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45424 (GRUB_EFI_BACKGROUND_RED): Likewise.
45425 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45426 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45427 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45428 (GRUB_EFI_TEXT_ATTR): Likewise.
45429
45430 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45431 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45432 (kernel_mod_HEADERS): Added efi/time.h.
45433
83709125 454342006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45435
45436 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45437 include/grub/efi/api.h, include/grub/efi/console_control.h,
45438 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45439 include/grub/i386/efi/time.h, kern/efi/efi.c,
45440 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45441 and util/i386/efi/grub-mkimage.c.
45442
45443 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45444
45445 * genmk.rb (PModule#rule): Do not export symbols if
45446 #{prefix}_EXPORTS is set to "no".
45447
45448 * conf/i386-efi.mk: New file.
45449 * conf/i386-efi.rmk: Likewise.
45450 * include/grub/efi/api.h: Likewise.
45451 * include/grub/efi/console_control.h: Likewise.
45452 * include/grub/efi/efi.h: Likewise.
45453 * include/grub/efi/pe32.h: Likewise.
45454 * include/grub/i386/efi/time.h: Likewise.
45455 * kern/efi/efi.c: Likewise.
45456 * kern/i386/efi/init.c: Likewise.
45457 * kern/i386/efi/startup.S: Likewise.
45458 * util/i386/efi/grub-mkimage.c: Likewise.
45459
454602006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45461
45462 * include/grub/script.h: Include <grub/parser.h> and
45463 "grub_script.tab.h".
45464 (struct grub_lexer_param): New struct.
45465 (struct grub_parser_param): Likewise.
45466 (grub_script_create_arglist): Pass the state in an argument.
45467 (grub_script_add_arglist): Likewise.
45468 (grub_script_create_cmdline): Likewise.
45469 (grub_script_create_cmdblock): Likewise.
45470 (grub_script_create_cmdif): Likewise.
45471 (grub_script_create_cmdmenu): Likewise.
45472 (grub_script_add_cmd): Likewise.
45473 (grub_script_arg_add): Likewise.
45474 (grub_script_lexer_ref): Likewise.
45475 (grub_script_lexer_deref): Likewise.
45476 (grub_script_lexer_record_start): Likewise.
45477 (grub_script_lexer_record_stop): Likewise.
45478 (grub_script_mem_record): Likewise.
45479 (grub_script_mem_record_stop): Likewise.
45480 (grub_script_malloc): Likewise.
45481 (grub_script_yylex): Likewise.
45482 (grub_script_yyparse): Likewise.
45483 (grub_script_yyerror): Likewise.
45484 (grub_script_yylex): Likewise.
45485 (grub_script_lexer_init): Return the state.
45486
45487 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45488 (grub_script_lexer_done): Likewise.
45489 (grub_script_lexer_getline): Likewise.
45490 (grub_script_lexer_refs): Likewise.
45491 (script): Likewise.
45492 (newscript): Likewise.
45493 (record): Likewise.
45494 (recording): Likewise.
45495 (recordpos): Likewise.
45496 (recordlen): Likewise.
45497 (grub_script_lexer_init): Return the state instead of setting
45498 global variables.
45499 (grub_script_lexer_ref): Use the newly added argument for state
45500 instead of globals.
45501 (grub_script_lexer_deref): Likewise.
45502 (grub_script_lexer_record_start): Likewise.
45503 (grub_script_lexer_record_stop): Likewise.
45504 (recordchar): Likewise.
45505 (nextchar): Likewise.
45506 (grub_script_yylex2): Likewise.
45507 (grub_script_yylex): Likewise.
45508 (grub_script_yyerror): Likewise.
45509
45510 * normal/parser.y (func_mem): Removed variable.
45511 (menu_entry): Likewise.
45512 (err): Likewise.
45513 (%lex-param): New parser option.
45514 (%parse-param): Likewise.
45515 (script): Always return the AST.
45516 (argument): Pass the state around.
45517 (arguments): Likewise.
45518 (grubcmd): Likewise.
45519 (commands): Likewise.
45520 (function): Likewise.
45521 (menuentry): Likewise.
45522 (if_statement): Likewise.
45523 (if): Likewise.
45524
45525 * normal/script.c (grub_script_memused): Removed variable.
45526 (grub_script_parsed): Likewise.
45527 (grub_script_malloc): Added a state argument. Use that instead of
45528 global variables.
45529 (grub_script_mem_record): Likewise.
45530 (grub_script_mem_record_stop): Likewise.
45531 (grub_script_arg_add): Likewise.
45532 (grub_script_add_arglist): Likewise.
45533 (grub_script_create_cmdline): Likewise.
45534 (grub_script_create_cmdif): Likewise.
45535 (grub_script_create_cmdmenu): Likewise.
45536 (grub_script_add_cmd): Likewise.
45537 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45538
e2a8c904 455392006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45540
45541 * normal/command.c (grub_command_init): Remove the title command.
45542
45543 * normal/lexer.c (grub_script_yylex): Renamed from this...
45544 (grub_script_yylex2): ... to this.
45545 (grub_script_yylex): New function. Temporary
45546 introduced to filter some tokens.
45547 (grub_script_yyerror): Print a newline.
45548
45549 * normal/main.c (read_config_file): Output information about the
45550 lines that contain errors. Wait for a key after all lines have
45551 been processed. Don't return an empty menu.
45552
45553 * normal/parser.y (func_mem): Don't initialize.
45554 (menu_entry): Likewise.
45555 (err): New variable.
45556 (script): Don't return anything when an error was encountered.
45557 (ws, returns): Removed rules.
45558 (argument): Disabled concatenated variable support.
45559 (arguments): Remove explicit separators.
45560 (grubcmd): Likewise.
45561 (function): Likewise.
45562 (menuentry): Likewise.
45563 (if): Likewise.
45564 (commands): Likewise. Add error handling.
45565
45566 * normal/script.c (grub_script_create_cmdline): If
45567 `grub_script_parsed' is 0, assume the parser encountered an error.
45568
c9a86192 455692006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45570
45571 * configure.ac: Add support for EFI. Fix the typo
45572 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45573
70f3b243 455742006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45575
45576 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45577 foreign multibyte characters should be shown correctly.
45578
65f201ad 455792006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45580
45581 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45582 calculation.
45583 (read_config_file): Made it to close file before returning.
45584
b4b93674 455852006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45586
45587 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45588 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45589 video/i386/pc/vbefill.c.
45590
45591 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45592 video/i386/pc/vbefill.c.
45593
45594 * include/grub/video.h (grub_video_blit_format): New enum.
45595 (grub_video_mode_info): Added new member blit_format.
45596 (grub_video_get_blit_format): New function prototype.
45597
45598 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45599 function prototype.
45600 (grub_video_vbe_map_rgb): Likewise.
45601 (grub_video_vbe_unmap_color): Likewise.
45602
45603 * include/grub/i386/pc/vbeblit.h: New file.
45604
45605 * include/grub/i386/pc/vbefill.h: New file.
45606
45607 * video/video.c (grub_video_get_blit_format): New function.
45608 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45609 (grub_video_vbe_map_rgb): Likewise.
45610 (grub_video_vbe_unmap_color): Likewise.
45611
45612 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45613 optimized fills.
45614 (grub_video_vbe_blit_render_target): Changed to use more optimized
45615 blits.
45616 (grub_video_vbe_setup): Added detection for optimized settings.
45617 (grub_video_vbe_create_render_target): Likewise.
45618
45619 * video/i386/pc/vbeblit.c: New file.
45620
45621 * video/i386/pc/vbefill.c: New file.
45622
c2379b9c 456232006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45624
45625 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45626 here...
45627
45628 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45629 parsing to support both hex and dec ranges. If filename was missing
45630 show usage information.
45631
bd0d7896 456322006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45633
45634 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45635 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45636
45637 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45638 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45639 (video_mod_SOURCES): Added.
45640 (video_mod_CFLAGS): Likewise.
45641 (video_mod_LDFLAGS): Likewise.
45642 (gfxterm_mod_SOURCES): Likewise.
45643 (gfxterm_mod_CFLAGS): Likewise.
45644 (gfxterm_mod_LDFLAGS): Likewise.
45645 (videotest_mod_SOURCES): Likewise.
45646 (videotest_mod_CFLAGS): Likewise.
45647 (videotest_mod_LDFLAGS): Likewise.
45648 (vesafb_mod_SOURCES): Removed.
45649 (vesafb_mod_CFLAGS): Likewise.
45650 (vesafb_mod_LDFLAGS): Likewise.
45651 (vga_mod_SOURCES): Likewise.
45652 (vga_mod_CFLAGS): Likewise.
45653 (vga_mod_LDFLAGS): Likewise.
45654
45655 * commands/videotest.c: New file.
45656
45657 * font/manager.c (fill_with_default_glyph): Modified to use
45658 grub_font_glyph.
45659 (grub_font_get_glyph): Likewise.
45660 (fontmanager): Renamed from this...
45661 (font_manager): ... to this.
45662
45663 * include/grub/font.h (grub_font_glyph): Added new structure.
45664 (grub_font_get_glyph): Modified to use grub_font_glyph.
45665
45666 * include/grub/misc.h (grub_abs): Added as inline function.
45667
45668 * include/grub/video.h: New file.
45669
45670 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45671 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45672 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45673 (grub_vbe_get_controller_info): Renamed from this...
45674 (grub_vbe_bios_get_controller_info): ... to this.
45675 (grub_vbe_get_mode_info): Renamed from this...
45676 (grub_vbe_bios_get_mode_info): ... to this.
45677 (grub_vbe_set_mode): Renamed from this...
45678 (grub_vbe_bios_set_mode): ... to this.
45679 (grub_vbe_get_mode): Renamed from this...
45680 (grub_vbe_bios_get_mode): ... to this.
45681 (grub_vbe_set_memory_window): Renamed from this...
45682 (grub_vbe_bios_set_memory_window): ... to this.
45683 (grub_vbe_get_memory_window): Renamed from this...
45684 (grub_vbe_bios_get_memory_window): ... to this.
45685 (grub_vbe_set_scanline_length): Renamed from this...
45686 (grub_vbe_set_scanline_length): ... to this.
45687 (grub_vbe_get_scanline_length): Renamed from this...
45688 (grub_vbe_bios_get_scanline_length): ... to this.
45689 (grub_vbe_set_display_start): Renamed from this...
45690 (grub_vbe_bios_set_display_start): ... to this.
45691 (grub_vbe_get_display_start): Renamed from this...
45692 (grub_vbe_bios_get_display_start): ... to this.
45693 (grub_vbe_set_palette_data): Renamed from this...
45694 (grub_vbe_bios_set_palette_data): ... to this.
45695 (grub_vbe_set_pixel_rgb): Removed.
45696 (grub_vbe_set_pixel_index): Likewise.
45697
45698 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45699 from this...
45700 (grub_vbe_bios_get_controller_info): ... to this.
45701 (grub_vbe_get_mode_info): Renamed from this...
45702 (grub_vbe_bios_get_mode_info): ... to this.
45703 (grub_vbe_set_mode): Renamed from this...
45704 (grub_vbe_bios_set_mode): ... to this.
45705 (grub_vbe_get_mode): Renamed from this...
45706 (grub_vbe_bios_get_mode): ... to this.
45707 (grub_vbe_set_memory_window): Renamed from this...
45708 (grub_vbe_bios_set_memory_window): ... to this.
45709 (grub_vbe_get_memory_window): Renamed from this...
45710 (grub_vbe_bios_get_memory_window): ... to this.
45711 (grub_vbe_set_scanline_length): Renamed from this...
45712 (grub_vbe_set_scanline_length): ... to this.
45713 (grub_vbe_get_scanline_length): Renamed from this...
45714 (grub_vbe_bios_get_scanline_length): ... to this.
45715 (grub_vbe_set_display_start): Renamed from this...
45716 (grub_vbe_bios_set_display_start): ... to this.
45717 (grub_vbe_get_display_start): Renamed from this...
45718 (grub_vbe_bios_get_display_start): ... to this.
45719 (grub_vbe_set_palette_data): Renamed from this...
45720 (grub_vbe_bios_set_palette_data): ... to this.
45721 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45722 getting corrupted after calling it. Added more pushes and pops.
45723 (grub_vbe_bios_set_mode): Likewise.
45724 (grub_vbe_bios_get_mode): Likewise.
45725 (grub_vbe_bios_get_memory_window): Likewise.
45726 (grub_vbe_bios_set_scanline_length): Likewise.
45727 (grub_vbe_bios_get_scanline_length): Likewise.
45728 (grub_vbe_bios_get_display_start): Likewise.
45729 (grub_vbe_bios_set_palette_data): Likewise.
45730
45731 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45732 (cl_insert): Likewise.
45733 (cl_delete): Likewise.
45734
45735 * term/gfxterm.c: New file.
45736
45737 * term/i386/pc/vesafb.c: Removed file.
45738
45739 * video/video.c: New file.
45740
45741 * video/i386/pc/vbe.c (real2pm): Added new function.
45742 (grub_video_vbe_draw_pixel): Likewise.
45743 (grub_video_vbe_get_video_ptr): Likewise.
45744 (grub_video_vbe_get_pixel): Likewise
45745 (grub_video_vbe_init): Likewise.
45746 (grub_video_vbe_fini): Likewise.
45747 (grub_video_vbe_setup): Likewise.
45748 (grub_video_vbe_get_info): Likewise.
45749 (grub_video_vbe_set_palette): Likewise.
45750 (grub_video_vbe_get_palette): Likewise.
45751 (grub_video_vbe_set_viewport): Likewise.
45752 (grub_video_vbe_get_viewport): Likewise.
45753 (grub_video_vbe_map_color): Likewise.
45754 (grub_video_vbe_map_rgb): Likewise.
45755 (grub_video_vbe_map_rgba): Likewise.
45756 (grub_video_vbe_unmap_color): Likewise.
45757 (grub_video_vbe_fill_rect): Likewise.
45758 (grub_video_vbe_blit_glyph): Likewise.
45759 (grub_video_vbe_blit_bitmap): Likewise.
45760 (grub_video_vbe_blit_render_target): Likewise.
45761 (grub_video_vbe_scroll): Likewise.
45762 (grub_video_vbe_swap_buffers): Likewise.
45763 (grub_video_vbe_create_render_target): Likewise.
45764 (grub_video_vbe_delete_render_target): Likewise.
45765 (grub_video_vbe_set_active_render_target): Likewise.
45766 (grub_vbe_set_pixel_rgb): Remove function.
45767 (grub_vbe_set_pixel_index): Likewise.
45768 (index_color_mode): Remove static variable.
45769 (active_mode): Likewise.
45770 (framebuffer): Likewise.
45771 (bytes_per_scan_line): Likewise.
45772 (grub_video_vbe_adapter): Added new static variable.
45773 (framebuffer): Likewise.
45774 (render_target): Likewise.
45775 (initial_mode): Likewise.
45776 (mode_in_use): Likewise.
45777 (mode_list): Likewise.
45778
5f97350b 457792006-03-10 Marco Gerards <marco@gnu.org>
45780
45781 * configure.ac (AC_INIT): Bumped to 1.93.
45782
45783 * DISTLIST: Added `include/grub/hfs.h'.
45784
a3c5c6f8 457852006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45786
45787 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45788 18H, which might help the BIOS falling back to next boot media.
45789
6de53d26 457902006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45791
45792 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45793 Poe Chen <poe.poechen@gmail.com>.
45794
77c4a393 457952006-01-17 Marco Gerards <marco@gnu.org>
45796
45797 * include/grub/normal.h: Include <grub/script.h>.
45798 (grub_command_list): Removed struct.
45799 (grub_command_list_t): Removed type.
45800 (grub_menu_entry): Remove members `num' and `command_list'. Add
45801 members `commands' and `sourcecode'.
45802 * include/grub/script.h: Add inclusion guards.
45803 (grub_script_cmd_menuentry): New struct.
45804 (grub_script_execute_menuentry): New prototype.
45805 (grub_script_lexer_record_start): Likewise.
45806 (grub_script_lexer_record_stop): Likewise.
45807 * normal/execute.c (grub_script_execute_menuentry): New function.
45808 * normal/lexer.c (record, recording, recordpos, recordlen): New
45809 variables.
45810 (grub_script_lexer_record_start): New function.
45811 (grub_script_lexer_record_stop): Likewise.
45812 (recordchar): Likewise.
45813 (nextchar): Likewise.
45814 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45815 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45816 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45817 (current_menu): New variable.
45818 (free_menu): Mainly rewritten.
45819 (grub_normal_menu_addentry): New function.
45820 (read_config_file): Rewritten.
45821 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45822 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45823 the menu entry.
45824 (run): Mainly rewritten.
45825 * normal/parser.y (menu_entry): New variable.
45826 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45827 (menuentry): New rule.
45828 (command): Add `menuentry'.
45829 (if_statement): Allow additional returns before `fi'.
45830 * normal/script.c (grub_script_create_cmdmenu): New function.
45831
144f1f98 458322006-01-03 Marco Gerards <marco@gnu.org>
45833
45834 * INSTALL: GNU Bison is required.
45835 * configure.ac: Rewritten the test to detect Bison.
45836 * Makefile.in (YACC): New variable. Reported by Xun Sun
45837 <xun.sun.cn@gmail.com>.
45838
af4b2d89 458392006-01-03 Marco Gerards <marco@gnu.org>
45840
45841 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45842 the HFS+ filesystem to filesystem blocks.
45843 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45844 GCC warning is silenced.
45845
15643b71 458462006-01-03 Marco Gerards <marco@gnu.org>
45847
45848 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45849 read from disk from big endian to host byte order.
45850
00905879 458512006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45852
45853 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45854 documentation.
45855 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45856 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45857 embedded HFS+ filesystem.
45858 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45859 (grub_hfs_sblock): Move from here...
45860 * include/grub/hfs.h: To here... New file.
45861 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45862 documentation.
45863 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45864 New macros.
45865 (grub_hfsplus_volheader): Change type of member `magic' to
45866 `grub_uint16_t'.
45867 (grub_hfsplus_data): Add new member `embedded_offset'.
45868 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45869 returned block.
45870 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45871 Calculate the offset.
45872
8899bc3e 458732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45874
45875 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45876 Removed.
45877 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45878
ae8c0277 458792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45880
45881 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45882 ENV->NAME is NULL after allocating ENV->VALUE.
45883
07084456 458842005-12-25 Marco Gerards <marco@gnu.org>
45885
45886 * kern/env.c (grub_env_set): Rewritten the error handling code.
45887
4750f5f1 458882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45889
45890 * geninit.sh: Made more robust, and more portable.
45891
50214199 458922005-12-25 Marco Gerards <marco@gnu.org>
45893
45894 Add support for Apple HFS+ filesystems.
f19dbdb7 45895
50214199 45896 * fs/hfsplus.c: New file.
45897
45898 * DISTLIST: Added `fs/hfsplus.c'.
45899
45900 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45901 (hfsplus_mod_SOURCES): New variable.
45902 (hfsplus_mod_CFLAGS): Likewise.
45903 (hfsplus_mod_LDFLAGS): Likewise.
45904 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45905 (grub_setup_SOURCES): Likewise.
45906 (grub_mkdevicemap_SOURCES): Likewise.
45907 (grub_emu_SOURCES): Likewise.
45908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45909
45910 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45911
45912 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45913
befaed6c 459142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45915
45916 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45917 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45918 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45919 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45920 normal/lexer.c, normal/parser.y, normal/script.c, and
45921 partmap/gpt.c.
45922 Removed kern/sparc64/cache.c.
45923
45924 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45925 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45926 grub_emu_init.c.
45927
45928 * configure.ac (AC_INIT): Bumped to 1.92.
45929
6a124103 459302005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45931
45932 * kern/err.c (grub_error_push): Added new function to support error
45933 stacks.
45934 (grub_error_pop): Likewise.
45935 (grub_error_stack_items): New local variable to support error stacks.
45936 (grub_error_stack_pos): Likewise.
45937 (grub_error_stack_assert): Likewise.
45938 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45939 stack depth.
45940 (grub_print_error): Added support to print errors from error stack.
45941
45942 * include/grub/err.h (grub_error_push): Added function prototype.
45943 (grub_error_pop): Likewise.
45944
be973c1b 459452005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45946
45947 * configure.ac: Accept `powerpc64' as host_cpu.
45948 (amd64): Rename to `biarch32'.
45949
45950 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45951 non-cacheline-aligned addresses.
45952
45953 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45954 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45955 if `size' is non-zero.
45956
b04216ab 459572005-12-03 Marco Gerards <mgerards@xs4all.nl>
45958
45959 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45960 and `cd' to make sure the filename is not prefixed with a
45961 directory name.
45962 (pkgdata_MODULES): Add `gpt.mod'.
45963 (gpt_mod_SOURCES): New variable.
45964 (gpt_mod_CFLAGS): Likewise.
45965 (gpt_mod_LDFLAGS): Likewise.
45966
45967 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45968
45969 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45970 New macro.
45971
45972 * partmap/gpt.c: New file.
45973
45974 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45975 GPT partition map is detected.
45976
41730ed9 459772005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45978
45979 * commands/i386/pc/play.c: New file.
45980 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45981 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45982 macros.
f19dbdb7 45983
95dc3643 459842005-11-27 Marco Gerards <mgerards@xs4all.nl>
45985
45986 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45987 ((unused))' to silence gcc warning.
45988
1569ec51 459892005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45990
45991 * configure.ac: Correct `AC_PROG_YACC' test.
45992
9abde152 459932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45994
45995 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45996 check before installing files.
45997
44b83271 459982005-11-22 Mike Small <smallm@panix.com>
45999
46000 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46001 number regex so multidigit numbers are recognized correctly.
46002
460032005-11-22 Mike Small <smallm@panix.com>
46004
46005 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46006 debugging message before attempting to claim memory.
46007 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46008 multiple addresses in case of failure.
46009
9c12956b 460102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46011
46012 * term/tparm.c (get_space): Remove empty `if' statement.
46013
46014 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46015
46016 * kern/parser.c (check_varstate): Rename `state' to 's'.
46017
aeaf81d9 460182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46019
46020 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46021 variable definitions to the beginning of each function. Sort stack
46022 variables by size.
46023 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46024 `buf' argument to `char *'.
46025
79bbb63f 460262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46027
46028 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46029 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46030 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46031 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46032 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46033 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46034 configfile.mod, search.mod, gzio.mod and test.mod.
46035 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46036 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46037 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46038 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46039 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46040 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46041 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46042 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46043 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46044 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46045 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46046 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46047 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46048 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46049 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46050 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46051 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46052 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46053 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46054 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46055 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46056 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46057 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46058
46059 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46060 `grep --include'.
46061 (pkgdata_MODULES): Add test.mod.
46062
233b1628 460632005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46064
46065 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46066 appending to variables with "+=".
46067 (PModule): Use full pathname to generate *.lst filenames.
46068
46069 * Makefile.in: Fixed list rules moved from genmk.rb.
46070 (.DELETE_ON_ERROR): New special target.
46071 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46072
46073 * conf/i386-pc.rmk: Include conf/common.mk.
46074 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46075 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46076 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46077 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46078 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46079 configfile.mod, search.mod, gzio.mod and test.mod.
46080 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46081 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46082 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46083 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46084 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46085 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46086 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46087 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46088 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46089 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46090 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46091 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46092 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46093 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46094 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46095 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46096 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46097 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46098 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46099 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46100 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46101 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46102 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46103 here...
46104 * conf/common.rmk: ... to here. New file.
46105
46106 * conf/common.mk: New file.
46107
16f820c8 461082005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46109
46110 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46111 (grub_script.tab.c): ... here.
46112
46113 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46114 (grub_script.tab.c): ... here.
46115
46116 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46117 (grub_script.tab.c): ... here.
46118
46119 * normal/command.c (grub_command_find): Fixed a memory leak of
46120 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46121
63ba1554 461222005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46123
46124 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46125 "@" which marks the start of a comment on ARM.
46126 (VARIABLE): Likewise.
46127
7f67dc13 461282005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46129
79bbb63f 46130 Add support for Linux/ADFS partition tables.
7f67dc13 46131
46132 * partmap/acorn.c: New file.
46133
46134 * include/grub/acorn_filecore.h: Likewise.
46135
46136 * DISTLIST: Added `partmap/acorn.c' and
46137 `include/grub/acorn_filecore.h'.
f19dbdb7 46138
7f67dc13 46139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46140 `partmap/acorn.c'.
46141 (pkgdata_MODULES): Add `acorn.mod'.
46142 (acorn_mod_SOURCES): New variable.
46143 (acorn_mod_CFLAGS): Likewise.
46144
46145 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46146 `partmap/acorn.c'.
46147 (pkgdata_MODULES): Add `acorn.mod'.
46148 (acorn_mod_SOURCES): New variable.
46149 (acorn_mod_CFLAGS): Likewise.
46150
46151 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46152 (pkgdata_MODULES): Add `acorn.mod'.
46153 (acorn_mod_SOURCES): New variable.
46154 (acorn_mod_CFLAGS): Likewise.
46155 (acorn_mod_LDFLAGS): Likewise.
46156
46157 * include/types.h (grub_disk_addr_t): New typedef.
46158
6d099807 461592005-11-13 Marco Gerards <mgerards@xs4all.nl>
46160
46161 * geninit.sh: New file.
46162
46163 * geninitheader.sh: Likewise.
46164
46165 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46166 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46167 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46168 * commands/configfile.c (grub_configfile_init)
46169 (grub_configfile_fini): Likewise.
46170 * commands/default.c (grub_default_init, grub_default_fini):
46171 Likewise.
46172 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46173 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46174 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46175 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46176 Likewise.
46177 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46178 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46179 Likewise.
46180 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46181 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46182 Likewise.
46183 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46184 Likewise.
fe6b695a 46185 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46186 Likewise.
46187 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46188 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46189 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46190 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46191 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46192 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46193 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46194 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46195 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46196 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46197 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46198 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46199 * partmap/amiga.c (grub_amiga_partition_map_init)
46200 (grub_amiga_partition_map_fini): Likewise.
46201 * partmap/apple.c (grub_apple_partition_map_init)
46202 (grub_apple_partition_map_fini): Likewise.
46203 * partmap/pc.c (grub_pc_partition_map_init)
46204 (grub_pc_partition_map_fini): Likewise.
46205 * partmap/sun.c (grub_sun_partition_map_init,
46206 grub_sun_partition_map_fini): Likewise.
46207 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46208 Likewise.
46209
46210 * util/grub-emu.c: Include <grub_modules_init.h>.
46211 (main): Don't initialize and de-initialize any modules directly,
46212 use `grub_init_all' and `grub_fini_all' instead.
46213
46214 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46215 `grub_vesafb_mod_init'.
46216 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46217 all users.
46218 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46219 `grub_vga_mod_init'. Updated all users.
46220 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46221
6d099807 46222 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46223 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46224 rules.
46225
46226 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46227 Generate a function to initialize the module in utilities.
46228 Updated all callers.
46229 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46230 initialize the module in utilities. Updated all callers.
46231
9046bcf0 462322005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46233
46234 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46235 escape sequence and a literal ^L to clear the screen.
46236
46237 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46238 when returning from Open Firmware.
46239
d13ea639 462402005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46241
46242 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46243 (grub_ofconsole_height): Likewise.
46244 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46245 manually insert a '\n'.
46246 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46247 `grub_ofconsole_height'. Return early if these are already set.
46248
a8fcf206 462492005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46250
46251 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46252 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46253 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46254 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46255 and `normal/script.c'.
46256 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46257 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46258 (test_mod_SOURCES): New variable.
46259 (test_mod_CFLAGS): Likewise.
46260 (test_mod_LDFLAGS): Likewise.
46261 (pkgdata_MODULES): Add `test.mod'.
46262 (grub_script.tab.c): New rule.
46263 (grub_script.tab.h): Likewise.
46264
b6b32745 462652005-11-07 Marco Gerards <mgerards@xs4all.nl>
46266
46267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46268 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46269 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46270 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46271 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46272 (test_mod_SOURCES): New variable.
46273 (test_mod_CFLAGS): Likewise.
46274 (pkgdata_MODULES): Add `test.mod'.
46275 (grub_script.tab.c): New rule.
46276 (grub_script.tab.h): Likewise.
46277
daac212a 462782005-11-06 Marco Gerards <mgerards@xs4all.nl>
46279
46280 Add initial scripting support.
46281
46282 * commands/test.c: New file.
46283 * include/grub/script.h: Likewise.
46284 * normal/execute.c: Likewise.
46285 * normal/function.c: Likewise.
46286 * normal/lexer.c: Likewise.
46287 * normal/parser.y: Likewise.
46288 * normal/script.c: Likewise.
46289
46290 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46291
daac212a 46292 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46293 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46294 `normal/function.c' and `normal/script.c'.
46295 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46296 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46297 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46298 variables.
daac212a 46299 (pkgdata_MODULES): Add `test.mod'.
46300 (grub_script.tab.c): New rule.
46301 (grub_script.tab.h): Likewise.
46302
46303 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46304
46305 * include/grub/normal.h (grub_test_init): New prototype.
46306 (grub_test_fini): Likewise.
f19dbdb7 46307
daac212a 46308 * normal/command.c: Include <grub/script.h>.
46309 (grub_command_execute): Rewritten.
f19dbdb7 46310
daac212a 46311 * util/grub-emu.c (main): Call `grub_test_init' and
46312 `grub_test_fini'.
46313
77500b2b 463142005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46315
46316 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46317 to 0.
46318 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46319 there are no pending characters.
46320
e45deb9e 463212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46322
46323 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46324 `grub_strndup' to drop device arguments. Replace unnecessary
46325 `grub_strndup' with `grub_strdup'.
46326
4ce32619 463272005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46328
46329 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46330 `debug' environment variable has been set.
46331
463322005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46333
4ce32619 46334 * Makefile.in (install-local): Use $(DATA).
46335 (uninstall): Likewise.
46336 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46337 (sbin_UTILITIES): ... to here.
46338 (sbin_SCRIPTS): New variable.
46339 (grub_install_SOURCES): New variable.
46340 * util/powerpc/ieee1275/grub-install.in: New file.
46341 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46342 variable.
46343 (add_segments): Call `grub_util_get_path'.
46344
25fe6f03 463452005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46346
46347 From Timothy Baldwin:
46348 * commands/ls.c (grub_ls_list_files): Close FILE with
46349 grub_file_close.
46350 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46351
04ccf3ec 463522005-10-24 Marco Gerards <mgerards@xs4all.nl>
46353
46354 * include/grub/parser.h: New file.
46355
46356 * kern/parser.c: Likewise.
46357
46358 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46359 (grub_setup_SOURCES): Likewise.
46360 (grub_probefs_SOURCES): Likewise.
46361 (grub_emu_SOURCES): Likewise.
46362 (kernel_img_HEADERS): Add `parser.h'.
46363
46364 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46365 (grub_emu_SOURCES): Add `kern/parser.c'.
46366 (grubof_SOURCES): Likewise.
46367
46368 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46369 (grubof_SOURCES): Add `kern/parser.c'.
46370
46371 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46372
46373 * kern/misc.c (grub_split_cmdline): Removed function.
46374
46375 * kern/rescue.c: Include <grub/parser.h>.
46376 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46377 of `grub_split_cmdline'.
46378
46379 * normal/command.c: Include <grub/parser.h>.
46380 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46381 of `grub_split_cmdline'.
46382
46383 * normal/completion.c: Include <grub/parser.h>.
46384 (cmdline_state): New variable.
46385 (iterate_dir): End the filename with a quote depending on the
46386 command line state.
46387 (get_state): new function.
46388 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46389 split the arguments and determine the current argument. When the
46390 argument string is not quoted, escape all spaces.
46391
6d8f4b0e 463922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46393
46394 * normal/sparc64/setjmp.S: New file.
46395
15cf03ed 463962005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46397
46398 * include/grub/sparc64/libgcc.h: New file.
46399 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46400 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46401 normal/sparc64/setjmp.c.
46402
03e8661a 464032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46404
46405 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46406 * kern/sparc64/cache.S: New file.
46407 * kern/sparc64/cache.c: Removed.
46408 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46409 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46410 -mtune=ultrasparc.
46411 (COMMON_LDFLAGS): Add -melf64_sparc.
46412 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46413 (grubof_SOURCES): Use cache.S instead of cache.c.
46414 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46415 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46416 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46417 commented though.
46418 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46419 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46420 (linux_mod_CFLAGS): Commented out.
46421 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46422 out because module isn't built.
46423 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46424 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46425 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46426 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46427 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46428 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46429 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46430 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46431 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46432 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46433 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46434 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46435 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46436 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46437
34eeec8a 464382005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46439
46440 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46441 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46442 longer, because HFS should not be used on PC.
46443
708367a3 464442005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46445
46446 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46447 consistently within the loop.
46448
6fa1251a 464492005-10-15 Marco Gerards <mgerards@xs4all.nl>
46450
46451 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46452 directory can not be read.
46453
4801580b 464542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46455
46456 * configure.ac (AC_INIT): Increase the version number to 1.91.
46457
46458 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46459 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46460 term/i386/pc/serial.c.
46461
219ad426 464622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46463
46464 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46465 file size must be permitted.
46466
46467 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46468 between %ah and %al.
46469
688e5699 464702005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46471
46472 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46473 grub_uint64_t.
46474 Call the hook with a NUL-terminated filename.
46475 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46476 grub_cpu_to_be32.
46477
46478 * kern/term.c (cursor_state): New variable.
46479 (grub_term_set_current): Reset the cursor state on a new
46480 terminal.
46481 (grub_setcursor): Rewritten to use CURSOR_STATE.
46482 (grub_getcursor): New function.
46483
46484 * include/grub/term.h (grub_getcursor): New prototype.
46485
46486 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46487 integers on ARM. Reported by Timothy Baldwin
46488 <T.E.Baldwin99@members.leeds.ac.uk>.
46489
bb34586c 464902005-10-11 Marco Gerards <mgerards@xs4all.nl>
46491
46492 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46493 allocated.
46494 (grub_sfs_dir): Likewise.
46495
9a909877 464962005-10-09 Marco Gerards <mgerards@xs4all.nl>
46497
46498 Add support for the SFS filesystem.
46499
46500 * fs/sfs.c: New file.
46501
46502 * DISTLIST: Added `fs/sfs.c'.
46503
46504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46505 (grub_probefs_SOURCES): Likewise.
46506 (grub_emu_SOURCES): Likewise.
46507 (pkgdata_MODULES): Add `sfs.mod'.
46508 (sfs_mod_SOURCES): New variable.
46509 (sfs_mod_CFLAGS): Likewise.
46510 (sfs_mod_LDFLAGS): Likewise.
46511
46512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46513 (pkgdata_MODULES): Add `sfs.mod'.
46514 (sfs_mod_SOURCES): New variable.
46515 (sfs_mod_CFLAGS): Likewise.
46516
46517 * util/grub-emu.c (main): Call `grub_sfs_init' and
46518 `grub_sfs_fini'.
46519
46520 * include/grub/fs.h (grub_sfs_init): New prototype.
46521 (grub_sfs_fini): Likewise.
46522
57bdbde3 465232005-10-07 Marco Gerards <mgerards@xs4all.nl>
46524
46525 Add support for the AFFS filesystem.
46526
46527 * fs/affs.c: New file.
46528
46529 * DISTLIST: Added `fs/affs.c'.
46530
46531 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46532 (grub_probefs_SOURCES): Likewise.
46533 (grub_emu_SOURCES): Likewise.
46534 (pkgdata_MODULES): Add `affs.mod'.
46535 (affs_mod_SOURCES): New variable.
46536 (affs_mod_CFLAGS): Likewise.
46537 (affs_mod_LDFLAGS): Likewise.
46538
46539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46540 (pkgdata_MODULES): Add `affs.mod'.
46541 (affs_mod_SOURCES): New variable.
46542 (affs_mod_CFLAGS): Likewise.
46543
46544 * util/grub-emu.c (main): Call `grub_affs_init' and
46545 `grub_affs_fini'.
46546
46547 * include/grub/fs.h (grub_affs_init): New prototype.
46548 (grub_affs_fini): Likewise.
46549
047b67e0 465502005-10-01 Marco Gerards <mgerards@xs4all.nl>
46551
46552 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46553
59b8208a 465542005-10-01 Marco Gerards <mgerards@xs4all.nl>
46555
46556 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46557 `-m32' to CFLAGS.
46558
46559 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46560 linking.
f19dbdb7 46561
59b8208a 46562 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46563 (COMMON_LDFLAGS): New variable.
46564 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46565 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46566 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46567 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46568 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46569 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46570 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46571 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46572 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46573 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46574 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46575 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46576 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46577 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46578 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46579 variables.
46580 (normal_mod_ASFLAGS): Add `-m32'.
46581
46582 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46583 (grub_host_size_t, grub_host_ssize_t): New types.
46584 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46585 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46586 `GRUB_HOST_SIZEOF_VOID_P'.
46587
46588 * include/grub/kernel.h (struct grub_module_header): Type of
46589 member offset changed to `grub_host_off_t'. Type of member size
46590 changed to `grub_host_size_t'.
46591 (struct grub_module_info): Type of member offset changed to
46592 `grub_host_off_t'. Type of member size changed to
46593 `grub_host_size_t'.
46594
b4093103 465952005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46596
46597 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46598
b4093103 46599 * kern/i386/pc/startup.S (multiboot_header): New label.
46600 (multiboot_entry): Likewise.
46601 (multiboot_trampoline): Likewise.
46602
46603 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46604 Increased to 0x4A0.
46605
46606 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46607 put parentheses after a question mark.
46608 [!GRUB_UTIL] (my_mod): New variable.
46609
46610 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46611
b2499b29 466122005-09-28 Marco Gerards <mgerards@xs4all.nl>
46613
46614 Adds support for the XFS filesystem. Btrees are not supported
46615 yet.
46616
46617 * fs/xfs.c: New file.
46618
46619 * DISTLIST: Added `fs/xfs.c'.
46620
46621 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46622 (grub_probefs_SOURCES): Likewise.
46623 (grub_emu_SOURCES): Likewise.
46624 (pkgdata_MODULES): Add `xfs.mod'.
46625 (xfs_mod_SOURCES): New variable.
46626 (xfs_mod_CFLAGS): Likewise.
46627
46628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46629 (pkgdata_MODULES): Add `xfs.mod'.
46630 (xfs_mod_SOURCES): New variable.
46631 (xfs_mod_CFLAGS): Likewise.
46632
46633 * util/grub-emu.c (main): Call `grub_xfs_init' and
46634 `grub_xfs_fini'.
46635
46636 * include/grub/fs.h (grub_xfs_init): New prototype.
46637 (grub_xfs_fini): Likewise.
46638
f19dbdb7 46639
83d37a62 466402005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46641
46642 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46643 color modes, allow greater than 16 colors to be configured as
46644 a default palette.
46645
47d2d65e 466462005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46647
46648 * normal/completion.c (complete_arguments): Add the qualifier
46649 const into OPTIONS.
46650
46651 From Omniflux <omniflux+lists@omniflux.com>:
46652 * include/grub/terminfo.h: New file.
46653 * include/grub/tparm.h: Likewise.
46654 * include/grub/i386/pc/serial.h: Likewise.
46655 * term/terminfo.c: Likewise.
46656 * term/tparm.c: Likewise.
46657 * term/i386/pc/serial.c: Likewise.
46658 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46659 serial.mod.
46660 (terminfo_mod_SOURCES): New variable.
46661 (terminfo_mod_CFLAGS): Likewise.
46662 (serial_mod_SOURCES): Likewise.
46663 (serial_mod_CFLAGS): Likewise.
46664
48b671ff 466652005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46666
46667 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46668 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46669 and kern/powerpc/ieee1275/cmain.c, respectively.
46670
46671 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46672 * kern/powerpc/ieee1275/crt0.S: ... here.
46673
46674 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46675 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46676
48b671ff 46677 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46678 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46679 instead of boot/powerpc/ieee1275/crt0.S and
46680 boot/powerpc/ieee1275/cmain.c, respectively.
46681
46682 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46683 sectors. It was not used anyway.
46684
09fc77a7 466852005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46686
46687 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46688 `unused parameter' warning.
46689
003789c7 466902005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46691
46692 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46693 function.
46694 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46695 getcharwidth.
46696
67f44c86 466972005-08-28 Marco Gerards <metgerards@student.han.nl>
46698
46699 * include/grub/normal.h (enum grub_completion_type): Added
46700 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46701
46702 * normal/cmdline.c (print_completion): Handle
46703 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46704 * normal/menu_entry.c (store_completion): Likewise.
46705
46706 * normal/completion.c (complete_arguments): New function.
46707 (grub_normal_do_completion): Call `complete_arguments' when the
46708 current words start with a dash.
46709
0b5abe02 467102005-08-27 Marco Gerards <metgerards@student.han.nl>
46711
46712 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46713 `gzio.mod' instead of `io.mod').
46714
d9864ee1 467152005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46716
46717 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46718 (DISTDIRS): Added io and video.
46719 Rewrite the search routine to make an output consistently.
46720
46721 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46722 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46723 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46724 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46725 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46726 util/powerpc/ieee1275/misc.c.
f19dbdb7 46727
d9864ee1 46728 * include/grub/gzio.h: New file.
46729 * io/gzio.c: Likewise.
f19dbdb7 46730
d9864ee1 46731 * kern/file.c (grub_file_close): Call grub_device_close only if
46732 FILE->DEVICE is not NULL.
46733
46734 * include/grub/mm.h [!NULL] (NULL): New macro.
46735
46736 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46737
46738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46739 (pkgdata_MODULES): Added gzio.mod.
46740 (gzio_mod_SOURCES): New variable.
46741 (gzio_mod_CFLAGS): Likewise.
46742
46743 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46744 (pkgdata_MODULES): Added gzio.mod.
46745 (gzio_mod_SOURCES): New variable.
46746 (gzio_mod_CFLAGS): Likewise.
46747
46748 * commands/cat.c: Include grub/gzio.h.
46749 (grub_cmd_cat): Use grub_gzfile_open instead of
46750 grub_file_open.
f19dbdb7 46751
d9864ee1 46752 * commands/cmp.c: Include grub/gzio.h.
46753 (grub_cmd_cmp): Use grub_gzfile_open instead of
46754 grub_file_open.
46755
46756 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46757 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46758 grub_file_open.
46759 (grub_rescue_cmd_module): Likewise.
46760
fa46f4b5 467612005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46762
46763 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46764 kern/sparc64/ieee1275/init.c because it contains _start.
46765 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46766
e9211b5d 467672005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46768
46769 * configure.ac: Add support for sparc64 host with ieee1275
46770 firmware.
46771 * configure: Generated from configure.ac.
46772 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46773 instead of int.
46774 (grub_ofdisk_read): Likewise.
46775 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46776 pointers as (void *) to remove a warning.
46777 (grub_ofdisk_close): Likewise.
46778 (grub_ofdisk_read): Likewise.
46779 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46780 returns, so make it return void to remove a warning.
46781 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46782 Corresponding prototype change.
46783 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46784 values, and cast the pointers as (void *) to remove a warning.
46785 (grub_mm_dump): Likewise.
46786 * conf/sparc64-ieee1275.mk: New file.
46787 * conf/sparc64-ieee1275.rmk: Likewise.
46788 * include/grub/sparc64/setjmp.h: Likewise.
46789 * include/grub/sparc64/types.h: Likewise.
46790 * include/grub/sparc64/ieee1275/console.h: Likewise.
46791 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46792 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46793 * include/grub/sparc64/ieee1275/time.h: Likewise.
46794 * kern/sparc64/cache.c: Likewise.
46795 * kern/sparc64/dl.c: Likewise.
46796 * kern/sparc64/ieee1275/init.c: Likewise.
46797 * kern/sparc64/ieee1275/openfw.c: Likewise.
46798
385c6a92 467992005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46800
46801 * util/console.c (grub_ncurses_putchar): If C is greater than
46802 0x7f, set C to a question mark.
46803 (grub_ncurses_getcharwidth): New function.
46804 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46805 getcharwidth.
46806
46807 * normal/menu.c (print_entry): Made aware of Unicode. First,
46808 convert TITLE to UCS-4, and predict the cursor position by
46809 grub_getcharwidth.
46810
46811 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46812 const to SRC.
46813 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46814
16ccb8b1 468152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46816
46817 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46818 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46819 grub_strcat.
46820
46821 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46822 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46823 grub_strcpy and grub_strlen. Take it into account that a space
46824 character is inserted as a delimiter.
46825
6a85ce79 468262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46827
46828 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46829 invalid magic in the error.
6a85ce79 46830
46831 * commands/search.c: New file.
f19dbdb7 46832
6a85ce79 46833 * util/grub-emu.c (main): Call grub_search_init and
46834 grub_search_fini.
46835
46836 * kern/rescue.c (grub_rescue_print_disks): Removed.
46837 (grub_rescue_print_devices): New function.
46838 (grub_rescue_cmd_ls): Use grub_device_iterate with
46839 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46840 grub_rescue_print_disks.
46841
46842 * kern/partition.c (grub_partition_iterate): Return the result of
46843 PARTMAP->ITERATE instead of GRUB_ERRNO.
46844
46845 * kern/device.c: Include grub/partition.h.
46846 (grub_device_iterate): New function.
46847
46848 * include/grub/partition.h (grub_partition_iterate): Return int
46849 instead of grub_err_t.
46850
46851 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46852 prototype.
46853 [GRUB_UTIL] (grub_search_fini): Likewise.
46854
46855 * include/grub/device.h (grub_device_iterate): New prototype.
46856
46857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46858 commands/search.c.
46859 (pkgdata_MODULES): Added search.mod.
46860 (search_mod_SOURCES): New variable.
46861 (search_mod_CFLAGS): Likewise.
46862
46863 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46864 (pkgdata_MODULES): Added search.mod.
46865 (search_mod_SOURCES): New variable.
46866 (search_mod_CFLAGS): Likewise.
46867
46868 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46869 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46870 All callers changed.
46871
46872 * DISTLIST: Added commands/search.c.
46873
ef095434 468742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46875
46876 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46877 conversion.
46878 (grub_getcharwidth): New function.
46879
46880 * kern/misc.c (grub_utf8_to_ucs4): New function.
46881
46882 * include/grub/term.h (struct grub_term): Added a new member
46883 "getcharwidth".
46884 (grub_getcharwidth): New prototype.
46885
46886 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46887
46888 * term/i386/pc/console.c (map_char): New function. Segregated from
46889 grub_console_putchar.
46890 (grub_console_putchar): Use map_char.
46891 (grub_console_getcharwidth): New function.
46892 (grub_console_term): Specified grub_console_getcharwidth as
46893 getcharwidth.
46894
46895 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46896 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46897
46898 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46899 GRUB_ERRNO.
46900 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46901 on grub_strtoul completely.
46902 (write_char): Declare local variables in the beginning of the
46903 function.
46904 (grub_vesafb_getcharwidth): New function.
46905 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46906 getcharwidth.
46907
1f0a95e4 469082005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46909
46910 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46911 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46912 commands/i386/pc/vbetest.c.
46913
46914 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46915 call grub_vbe_get_controller_info again, because the returned
46916 information is volatile.
46917 (grub_vbe_set_video_mode): Mostly rewritten.
46918 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46919 grub_vbe_status_t correctly.
46920 (grub_vbe_get_video_mode_info): Likewise.
46921 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46922 several if statements.
46923
46924 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46925 * commands/i386/pc/vbeinfo.c: ... this.
46926
46927 * commands/i386/pc/vbe_test.c: Renamed to ...
46928 * commands/i386/pc/vbetest.c: ... this.
46929
46930 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46931 ...
46932 (grub_cmd_vbeinfo): ... this. Save video modes before
46933 iterating. Skip a video mode, if it is not available, not enough
46934 information is given or it is monochrome. Show the memory
46935 model. Leave the interpretation of MODEVAR to grub_strtoul
46936 completely.
46937 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46938 (GRUB_MOD_FINI): Likewise.
46939
46940 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46941 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46942 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46943 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46944 grub_strtoul completely.
46945 (real2pm): Removed.
46946 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46947 (GRUB_MOD_FINI): Likewise.
46948
46949 * normal/misc.c: Include grub/mm.h.
46950
46951 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46952 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46953 (vbe_list_modes_mod_SOURCES): Removed.
46954 (vbe_list_modes_mod_CFLAGS): Likewise.
46955 (vbe_test_mod_SOURCES): Likewise.
46956 (vbe_test_mod_CFLAGS): Likewise.
46957 (vbeinfo_mod_SOURCES): New variable.
46958 (vbeinfo_mod_CFLAGS): Likewise.
46959 (vbetest_mod_SOURCES): Likewise.
46960 (vbetest_mod_CFLAGS): Likewise.
46961
992ffbbe 469622005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46963
46964 * normal/misc.c: New file.
46965
46966 * DISTLIST: Added normal/misc.c.
f19dbdb7 46967
992ffbbe 46968 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46969 DISK to HOOK. Call HOOK with DISK.
46970 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46971 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46972 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46973
46974 * normal/menu_entry.c (struct screen): Added a new member
46975 "completion_shown".
46976 (completion_buffer): New global variable.
46977 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46978 (store_completion): New function.
46979 (complete): Likewise.
46980 (clear_completions): Likewise.
46981 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46982 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46983 a tab, call complete.
46984
46985 * normal/completion.c (disk_dev): Removed.
46986 (print_simple_completion): Likewise.
46987 (print_partition_completion): Likewise.
46988 (print_func): New global variable.
46989 (add_completion): Do not take the arguments WHAT or PRINT any
46990 longer. Added a new argument TYPE. Instead of printing directly,
46991 call PRINT_FUNC if not NULL.
46992 All callers changed.
46993 (complete_device): Use a local variable DEV instead of
46994 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46995 (grub_normal_do_completion): Take a new argument HOOK. Do not
46996 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46997 empty string, return NULL instead.
46998 All callers changed.
46999
47000 * normal/cmdline.c (print_completion): New function.
47001
47002 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47003 to HOOK.
47004 All callers changed.
47005
47006 * kern/disk.c (grub_print_partinfo): Removed.
47007
47008 * include/grub/partition.h (struct grub_partition_map): Add a new
47009 argument DISK into HOOK of ITERATE.
47010 (grub_partition_iterate): Add a new argument DISK to HOOK.
47011
47012 * include/grub/normal.h (enum grub_completion_type): New enum.
47013 (grub_completion_type_t): New type.
47014 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47015 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47016 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47017 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47018 (grub_normal_do_completion): Added a new argument HOOK.
47019 (grub_normal_print_device_info): New prototype.
47020
47021 * include/grub/disk.h (grub_print_partinfo): Removed.
47022
47023 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47024 (normal_mod_SOURCES): Likewise.
47025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47026 (normal_mod_SOURCES): Likewise.
47027
47028 * commands/ls.c (grub_ls_list_disks): Use
47029 grub_normal_print_device_info instead of grub_print_partinfo. Free
47030 PNAME.
47031 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47032 duplicating the code.
47033
0bd41162 470342005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47035
47036 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47037 follow GCS more precisely.
47038 * commands/i386/pc/vbe_test.c: Likewise.
47039 * include/grub/i386/pc/vbe.h: Likewise.
47040 * term/i386/pc/vesafb.c: Likewise.
47041 * video/i386/pc/vbe.c: Likewise.
0bd41162 47042
6323696a 470432005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47044
47045 * DISTLIST: Added term/i386/pc/vesafb.c
47046 DISTLIST: Added video/i386/pc/vbe.c
47047 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47048 DISTLIST: Added commands/i386/pc/vbe_test.c.
47049 * commands/i386/pc/vbe_list_modes.c: New file.
47050 * commands/i386/pc/vbe_test.c: Likewise.
47051 * term/i386/pc/vesafb.c: Likewise.
47052 * video/i386/pc/vbe.c: Likewise.
47053 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47054 (grub_vbe_probe) Added prototype.
47055 (grub_vbe_set_video_mode) Likewise.
47056 (grub_vbe_get_video_mode) Likewise.
47057 (grub_vbe_get_video_mode_info) Likewise.
47058 (grub_vbe_set_pixel_rgb) Likewise.
47059 (grub_vbe_set_pixel_index) Likewise.
47060 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47061 (pkgdata_MODULES): Added vesafb.mod.
47062 (pkgdata_MODULES): Added vbe_list_modes.mod.
47063 (pkgdata_MODULES): Added vbe_test.mod.
47064 (vbe_mod_SOURCES): Added.
47065 (vbe_mod_CFLAGS): Likewise.
47066 (vesafb_mod_SOURCES): Likewise.
47067 (vesafb_mod_CFLAGS): Likewise.
47068 (vbe_list_modes_mod_SOURCES): Likewise.
47069 (vbe_list_modes_mod_CFLAGS): Likewise.
47070 (vbe_test_mod_SOURCES): Likewise.
47071 (vbe_test_mod_CFLAGS): Likewise.
47072
0a74e62f 470732005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47074
0a74e62f 47075 * normal/command.c (grub_command_execute): If INTERACTIVE is
47076 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47077 CMDLINE. Disable the pager if INTERACTIVE is true.
47078 All callers are changed.
47079
47080 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47081 before reading a config file.
47082 * normal/main.c (read_config_file): Even if a command is not
47083 found, register it if it is within an entry.
47084
47085 * util/grub-emu.c: Include sys/types.h and unistd.h.
47086 (options): Added --hold.
47087 (struct arguments): Added a new member "hold".
47088 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47089 missing.
47090 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47091 cleared by a debugger, if it is not zero.
47092
47093 * include/grub/normal.h (grub_command_execute): Add an argument
47094 INTERACTIVE.
47095
e51f85ae 470962005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47097
47098 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47099
e9c6f39b 471002005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47101
47102 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47103 program with another one, because the old one didn't detect a bug
47104 in gcc-3.4. Always use regparm 2, because the new test is still
47105 not enough for gcc-4.0. Someone must investigate a simple test
47106 case which detects a bug in gcc-4.0.
47107
8de3495c 471082005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47109
47110 * DISTLIST: Added normal/completion.c.
47111
47112 * normal/completion.c: New file.
f19dbdb7 47113
8de3495c 47114 * term/i386/pc/console.c (grub_console_getwh): New function.
47115 (grub_console_term): Assign grub_console_getwh to getwh.
47116
47117 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47118 function is defined in normal/completion.c as
47119 grub_normal_do_completion.
47120 (grub_cmdline_get): Use grub_normal_do_completion instead of
47121 grub_tab_complete.
47122
47123 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47124 returns non-zero, otherwise return 0.
47125 (grub_partition_iterate): First, probe the partition map. Then,
47126 call ITERATE only for this partition map.
47127
47128 * kern/misc.c (grub_strncmp): Rewritten.
47129
47130 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47131 returns non-zero. Otherwise return 0.
47132
47133 * include/grub/partition.h (grub_partition_map_iterate): Return
47134 int instead of void.
47135
47136 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47137
47138 * include/grub/misc.h (grub_strncmp): Change the type of N to
47139 grub_size_t.
47140
47141 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47142 of void.
47143
47144 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47145 unsigned explicitly before comparing it with I.
8de3495c 47146
47147 * kern/main.c (grub_env_write_root): Add the attribute unused into
47148 VAR.
47149
47150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47151 normal/completion.c.
47152 (normal_mod_SOURCES): Likewise.
47153 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47154 (normal_mod_SOURCES): Likewise.
47155
47156 * normal/command.c (grub_iterate_commands): If ITERATE returns
47157 non-zero, return one immediately.
47158
e85e144b 471592005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47160
47161 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47162 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47163 descriptions.
47164 (grub_vbe_get_controller_info): New function.
47165 (grub_vbe_get_mode_info): Likewise.
47166 (grub_vbe_set_mode): Likewise.
47167 (grub_vbe_get_mode): Likewise.
47168 (grub_vbe_set_memory_window): Likewise.
47169 (grub_vbe_get_memory_window): Likewise.
47170 (grub_vbe_set_scanline_length): Likewise.
47171 (grub_vbe_get_scanline_length): Likewise.
47172 (grub_vbe_set_display_start): Likewise.
47173 (grub_vbe_get_display_start): Likewise.
47174 (grub_vbe_set_palette_data): Likewise.
47175 * include/grub/i386/pc/vbe.h: New file.
47176
c46153d2 471772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47178
47179 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47180 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47181 * DISTLIST: Likewise.
47182 * kern/ieee1275/of.c: Moved to ...
47183 * kern/ieee1275/ieee1275.c: ... here.
47184
0cb90c45 471852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47186
47187 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47188 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47189 Pass 0 as `end' parameter to grub_strtoul().
47190
a19fb360 471912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47192
47193 * include/grub/powerpc/ieee1275/console.h: Do not include
47194 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47195 ifdef.
47196 (grub_console_cur_color): Remove i386-specific prototype.
47197 (grub_console_real_putchar): Likewise.
47198 (grub_console_checkkey): Likewise.
47199 (grub_console_getkey): Likewise.
47200 (grub_console_getxy): Likewise.
47201 (grub_console_gotoxy): Likewise.
47202 (grub_console_cls): Likewise.
47203 (grub_console_setcursor): Likewise.
47204 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47205 Include <grub/machine/console.h>.
47206 * term/ieee1275/ofconsole.c: Likewise.
47207
4ac9bd04 472082005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47209
47210 * Makefile.in (LIBLZO): New variable.
47211
47212 * configure.ac: Check for LZO version 2.
47213
47214 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47215 lzo/lzo1x.h instead of lzo1x.h.
47216
47217 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47218 of -llzo.
47219
47220 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47221 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47222
47223 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47224 copying the data from PARTITION to P.
47225
f4917dfd 472262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47227
47228 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47229 negative, unload the module.
47230
47231 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47232 map is "pc_partition_map" but not "pc".
47233 (usage): Fix the description. The options are --boot-image and
47234 --core-image but not --boot-file or --core-file.
47235 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47236 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47237 DEFAULT_DIRECTORY.
47238
47239 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47240 --core-file. Specify INSTALL_DEVICE as an argument.
47241
47242 * util/console.c: Include config.h.
47243 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47244 [HAVE_NCURSES_H]: Include ncurses.h.
47245 [HAVE_CURSES_H]: Include curses.h.
47246 [!A_NORMAL] (A_NORMAL): Defined as zero.
47247 [!A_STANDOUT] (A_STANDOUT): Likewise.
47248
47249 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47250 -lncurses.
47251 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47252
47253 * configure.ac: Check for curses libraries and headers.
47254
47255 * Makefile.in (LIBCURSES): New variable.
47256
47257 * genmk.rb (Script::rule): Set the executable bits.
47258
47259 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47260 name of the PC partition map is "pc_partition_map" but not "pc".
47261
0e143073 472622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47263
47264 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47265 (modules): Likewise.
47266 (usage): Added descriptions for --modules and --grub-probefs.
47267 Handle --modules and --grub-probefs. Save the arguments in MODULES
47268 and GRUB_PROBEFS, respectively.
47269 Auto-detect a filesystem module against GRUBDIR. If the result is
47270 empty and modules are not specified explicitly, abort the
47271 installation. Add the result to MODULES.
47272
47273 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47274 disk/powerpc/ieee1275/ofdisk.c,
47275 include/grub/powerpc/ieee1275/init.h and
47276 term/powerpc/ieee1275/ofconsole.c.
47277 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47278 term/ieee1275/ofconsole.c.
47279
47280 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47281
47282 * COPYING: Upgraded to the latest version. Only the address of the
47283 FSF office has changed.
f19dbdb7 47284
efd6e6d5 472852005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47286
47287 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47288 kern/ieee1275.c with kern/ieee1275/of.c.
47289
47290 * kern/ieee1275.c: Moved to ...
47291 * kern/ieee1275/of.c: ... here.
47292
8ceafda2 472932005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47294
47295 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47296 readability.
8ceafda2 47297
47298 * config.guess: Updated to the latest version from gnulib.
47299 * config.sub: Likewise.
47300 * install.sh: Likewise.
47301 * mkinstalldirs: Likewise.
47302
47303 * include/grub/console.h: Removed. This file is arch-specific. Do
47304 not put this in include/grub.
47305
47306 * include/grub/i386/pc/console.h: Resurrected.
47307
47308 * util/console.c: Include grub/machine/console.h instead of
47309 grub/console.h.
47310 * util/grub-emu.c: Likewise.
47311
267f6cd9 473122005-08-04 Marco Gerards <metgerards@student.han.nl>
47313
47314 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47315 hardcoded value.
f19dbdb7 47316
267f6cd9 47317 From Vincent Pelletier <subdino2004@yahoo.fr>
47318 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47319 Redefined to use grub_getwh.
47320 (grub_term): New member named getwh.
47321 (grub_getwh): New prototype.
47322 * kern/term.c (grub_getwh): New function.
47323 * term/i386/pc/console.c (grub_console_getwh): New function.
47324 (grub_console_term): New member `getwh'.
47325 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47326 (grub_vga_term): New member `getwh'.
0b5abe02 47327 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47328 grub_ssize_t.
47329 (grub_ofconsole_getw): New function.
47330 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47331 (grub_ofconsole_term): New field named getwh and new initial
47332 value.
47333
3be7266d 473342005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47335
47336 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47337 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47338 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47339 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47340 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47341 of <grub/machine/ieee1275.h>.
47342 * commands/ieee1275/reboot.c: Likewise.
47343 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47344 * kern/ieee1275.c: ... to here. All users updated. Change all
47345 parameter structs to use new type `grub_ieee1275_cell_t'.
47346 * term/powerpc/ieee1275/ofconsole.c: Move ...
47347 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47348 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47349 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47350 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47351 to return int.
47352 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47353 Remove unused prototypes. All users updated.
47354 * include/grub/powerpc/ieee1275/console.h: Removed.
47355 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47356 `grub_ieee1275_cell_t'.
47357 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47358 Cast comparisons with -1 to the correct type.
47359 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47360 type to match `grub_ieee1275_entry_fn'.
47361
8b5f3938 473622005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47363
47364 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47365
47366 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47367 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47368 partmap/sun.c.
47369 (grub_probefs_SOURCES): New variable.
47370
47371 * util/i386/pc/grub-probefs.c: New file.
47372
47373 * util/i386/pc/grub-setup.c (main): Call
47374 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47375 grub_hfs_init and grub_jfs_init to initialize the system. Call
47376 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47377 grub_pc_partition_map_fini to finish the system.
47378
ea409713 473792005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47380
47381 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47382 function.
47383 (grub_multiboot_load_elf32): Likewise.
47384 (grub_multiboot_is_elf64): Likewise.
47385 (grub_multiboot_load_elf64): Likewise.
47386 (grub_multiboot_load_elf): Likewise.
47387 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47388 an ELF32 or ELF64 file.
47389 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47390
47391 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47392 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47393 NULL before calling FS->LABEL.
47394 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47395 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47396 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47397 before calling FS->LABEL.
47398
141a288b 473992005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47400
47401 * util/i386/pc/grub-install.in (datadir): New variable.
47402 (libdir): Removed.
47403 (pkgdatadir): New variable.
47404 (pkglibdir): Removed.
47405
0d5f8a54 474062005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47407
47408 * DISTLIST: Added util/i386/pc/grub-install.in.
47409
47410 * util/i386/pc/grub-install.in: New file.
47411
47412 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47413 (grub_install_SOURCES): Likewise.
47414
47415 * genmk.rb: Added support for scripts.
47416 (Script): New class.
47417 (scripts): New variable.
47418
47419 * Makefile.in (install-local): Install sbin_SCRIPTS by
47420 INSTALL_SCRIPT.
47421 (uninstall): Remove sbin_SCRIPTS.
47422
47423 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47424 device, try to get a GRUB device by
47425 grub_util_biosdisk_get_grub_dev.
47426 Free DEST_DEV.
47427
47428 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47429 description for --device-map.
47430
5f968e1e 474312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47432
47433 Change the semantics of variable hooks. They now return strings
47434 instead of error values.
f19dbdb7 47435
5f968e1e 47436 * util/i386/pc/grub-setup.c: Include grub/env.h.
47437 (setup): Use grub_device_set_root instead of grub_env_set.
47438
47439 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47440 grub_env_get instead of grub_device_set_root and
47441 grub_device_get_root, respectively.
47442
47443 * kern/main.c (grub_env_write_root): New function.
47444 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47445 grub_env_set instead of grub_device_set_root.
47446
47447 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47448 many variables.
47449 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47450 rather than calling ENV->WRITE_HOOK afterwards.
47451 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47452 passing a pointer of a pointer.
47453 (grub_register_variable_hook): Change the types of "read_hook" and
47454 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47455 respectively.
47456 Allocate the default empty string on the heap, because this string
47457 may be freed later.
47458
47459 * kern/device.c: Include grub/env.h.
47460 (grub_device_set_root): Removed.
47461 (grub_device_get_root): Likewise.
47462 (grub_device_open): Use grub_env_get instead of
47463 grub_device_get_root.
47464
47465 * include/grub/env.h (grub_env_read_hook_t): New type.
47466 (grub_env_write_hook_t): Likewise.
47467 (grub_env_var): Change the types of "read_hook" and "write_hook"
47468 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47469 (grub_register_variable_hook): Likewise.
47470
47471 * include/grub/device.h (grub_device_set_root): Removed.
47472 (grub_device_set_root): Likewise.
47473
47474 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47475 make sure that DIRNAME terminates with '/', so that
47476 grub_fat_find_dir will fail if PATH is not a directory.
47477
47478 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47479 from DIRNAME.
47480 Use the qualifier auto for print_files and print_files_long.
47481 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47482 as a regular file.
47483 Put a newline only if there is no error.
47484 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47485 used.
47486
896f0afd 474872005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47488
47489 * kern/partition.c (grub_partition_probe): Initialize PART to
47490 NULL. Otherwise, when no partition map is registered, this returns
47491 a garbage.
47492
b28b81b2 474932005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47494
47495 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47496 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47497 valid.
47498
5f3607e0 474992005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47500
47501 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47502 information on each device, if it does not have partitions. Print
47503 "Device" instead of "Disk", because this function is not specific
47504 to disk devices.
47505
47506 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47507 static to ensure that it is put on the memory rather than a
47508 register.
47509
502c87e8 475102005-07-17 Yoshinori Okuji <okuji@enbug.org>
47511
47512 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47513 (grub_cat_init): Likewise.
47514 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47515 (options): Likewise.
47516 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47517 (grub_configfile_init): Likewise.
47518 * font/manager.c (GRUB_MOD_INIT): Likewise.
47519 * commands/help.c (GRUB_MOD_INIT): Likewise.
47520 (grub_help_init): Likewise.
47521 * normal/command.c (grub_command_init): Likewise.
47522 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47523 * disk/loopback.c (grub_loop_init): Likewise.
47524 (GRUB_MOD_INIT): Likewise.
47525 * commands/ls.c (grub_ls_init): Likewise.
47526 (GRUB_MOD_INIT): Likewise.
47527 (options): Likewise.
47528 * commands/boot.c (grub_boot_init): Likewise.
47529 (GRUB_MOD_INIT): Likewise.
47530 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47531 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47532 (GRUB_MOD_INIT): Likewise.
47533 * commands/cmp.c (grub_cmp_init): Likewise.
47534 (GRUB_MOD_INIT): Likewise.
47535
47536 * normal/arg.c: Use <> instead of "" to include header files.
47537 (SHORT_ARG_HELP): New macro.
47538 (SHORT_ARG_USAGE): Likewise.
47539 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47540 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47541 descriptions.
47542 (find_short): Check if C is 'h' or 'u' explicitly.
47543 (grub_arg_show_help): Use space characters instead of tabs. Treat
47544 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47545 are shown with --help and --usage only if they are not used for
47546 the command itself.
47547 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47548 'h' and 'u'.
47549
47550 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47551 const into "longarg". Change the type of "shortarg" to int.
47552
f806d18e 475532005-07-17 Yoshinori Okuji <okuji@enbug.org>
47554
47555 * boot/i386/pc/boot.S (boot_drive_check): New label.
47556
47557 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47558 macro.
47559
47560 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47561 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47562
e293232b 475632005-07-17 Yoshinori Okuji <okuji@enbug.org>
47564
47565 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47566 When turning off Gate A20, skip the check and return immediately,
47567 because this is not fatal usually.
47568
ebedfd00 475692005-07-17 Yoshinori Okuji <okuji@enbug.org>
47570
47571 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47572 be 0x7C00 instead of 0x8000.
47573
47574 * boot/i386/pc/pxeboot.S: Rewritten.
47575
47576 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47577 EXT_C.
47578 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47579 result.
47580
654fc59f 475812005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47582
47583 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47584 robustness. This routine now supports a BIOS call and System
47585 Control Port A to modify the gate A20.
47586
47587 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47588 Increased to 0x440.
47589
09f9923f 475902005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47591
47592 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47593 device path and resulting ihandle.
47594 (grub_ofdisk_close): dprintf the ihandle being closed.
47595 (grub_ofdisk_read): dprintf function parameters.
47596 * kern/mm.c (grub_mm_init_region): Likewise.
47597 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47598 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47599 size, and boot arguments.
47600 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47601 before loading into memory.
47602 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47603 before loading into memory.
47604
7ef504d8 476052005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47606
47607 * kern/mm.c: Added much documentation.
47608 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47609 8, set to 5 instead of 8.
47610
e0f050c2 476112005-07-10 Yoshinori Okuji <okuji@enbug.org>
47612
47613 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47614
47615 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47616 (grub_mkdevicemap_SOURCES): New variable.
47617
47618 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47619 lib/device.c of GRUB Legacy.
47620
7224189a 476212005-07-10 Yoshinori Okuji <okuji@enbug.org>
47622
47623 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47624 instead of PATH is NULL.
47625
68c864eb 476262005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47627
47628 * commands/cmp.c (BUFFER_SIZE): New macro.
47629 (grub_cmd_cmp): Close the right file at the right time. Compare
47630 only data just read. Don't report files of different size as
47631 identical. Dynamically allocate buffers. Move variable
47632 declarations at the beginning of function.
47633
e6f3e614 476342005-07-09 Yoshinori Okuji <okuji@enbug.org>
47635
47636 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47637 reverse.
47638
f8f1559a 476392004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47640
47641 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47642 when backspace is pressed at beginning of line.
47643
39c9d41d 476442005-07-03 Yoshinori Okuji <okuji@enbug.org>
47645
47646 * DISTLIST: Added genfslist.sh.
47647
47648 * normal/main.c (fs_module_list): New variable.
47649 (autoload_fs_module): New function.
47650 (read_fs_list): Likewise.
47651 (grub_normal_execute): Call read_fs_list.
47652
47653 * kern/fs.c (grub_fs_autoload_hook): New variable.
47654 (grub_fs_probe): Added support for auto-loading.
47655
47656 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47657 (grub_fs_module_list_t): New type.
47658
47659 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47660 (grub_fs_autoload_hook): New prototype.
47661
47662 * genfslist.sh: New file.
f19dbdb7 47663
39c9d41d 47664 * genmk.rb: Added a rule to generate a filesystem list.
47665
121c1d83 476662005-06-30 Marco Gerards <metgerards@student.han.nl>
47667
47668 * configure.ac: Fix the test for cross-compiling.
47669
47670 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47671 define GRUB_UTIL anymore.
47672
47673 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47674 so this function works on other systems than just big endian.
47675 (load_modules): Likewise.
47676 (add_segments): Likewise.
47677
e75d76e1 476782005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47679
47680 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47681 contains `l' modifier, get a long from va_arg().
47682
50b5a0a7 476832005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47684
47685 * kern/mm.c (grub_free): If the next free block which is being
47686 merged is the first free block, set the first block to the block
47687 being freed.
47688 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47689
89371b20 476902005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47691
47692 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47693 `grub_ieee1275_chosen'.
47694
168d6e58 476952005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47696
47697 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47698 (grub_ieee1275_chosen): New variable.
47699 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47700 `chosen'.
47701 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47702 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47703 Rename first argument to `phandle' for consistency.
47704 (grub_ieee1275_get_property_length): Likewise.
47705 (grub_ieee1275_next_property): Likewise. Change type of first argument
47706 to grub_ieee1275_phandle_t.
47707 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47708 Move export next to declaration.
47709 (grub_ieee1275_chosen): New variable.
47710 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47711 Correct cosmetic typo.
47712 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47713 `grub_ieee1275_chosen'.
47714 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47715 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47716 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47717 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47718 `grub_ieee1275_chosen'.
47719
ca5baa3f 477202005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47721
47722 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47723 /chosen/bootargs.
47724 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47725 /chosen/bootargs as "variable=value" pairs.
47726
708b345f 477272005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47728
47729 * include/grub/misc.h (grub_dprintf): New macro.
47730 (grub_real_dprintf): New prototype.
47731 (grub_strword): Likewise.
47732 (grub_iswordseparator): Likewise.
47733 * kern/misc.c (grub_real_dprintf): New function.
47734 (grub_strword): Likewise.
47735 (grub_iswordseparator): Likewise.
47736
f4c5e67c 477372005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47738
47739 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47740 (roundup): Remove macro.
47741 (grub_ieee1275_flags): Make static.
47742 (grub_ieee1275_realmode): Remove.
47743 (grub_ieee1275_test_flag): New function.
47744 (grub_ieee1275_set_flag): Likewise.
47745 (find_options): Rename to `grub_ieee1275_find_options'; update
47746 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47747 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47748 (cmain): New prototype.
47749 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47750 `grub_ieee1275_flags' directly.
47751 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47752 machine/biosdisk.h.
47753 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47754 Don't include grub/machine/init.h.
47755 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47756 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47757 Remove prototype.
47758 (grub_ieee1275_realmode): Likewise.
47759 (grub_ieee1275_flag): New enum.
47760 (grub_ieee1275_test_flag): New prototype.
47761 (grub_ieee1275_set_flag): New prototype.
47762 * include/grub/powerpc/ieee1275/init.h: Remove file.
47763 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47764 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47765 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47766 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47767 comment.
47768 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47769 `grub_ieee1275_test_flag'.
47770 (grub_ieee1275_encode_devname): Likewise.
47771
ed16607e 477722005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47773
47774 * include/grub/powerpc/ieee1275/ieee1275.h
47775 (grub_ieee1275_encode_devname): New prototype.
47776 (grub_ieee1275_get_filename): Likewise.
47777 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47778 function.
47779 (grub_set_prefix): Likewise.
47780 (grub_machine_init): Call grub_set_prefix.
47781 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47782 (grub_parse_type): New enum.
47783 (grub_ieee1275_get_devargs): New function.
47784 (grub_ieee1275_get_devname): Likewise.
47785 (grub_ieee1275_parse_args): Likewise.
47786 (grub_ieee1275_get_filename): Likewise.
47787 (grub_ieee1275_encode_devname): Likewise.
47788
be369920 477892005-03-30 Marco Gerards <metgerards@student.han.nl>
47790
47791 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47792 `grub_loader_unset'.
47793
a5ce3a4a 477942005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47795
47796 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47797 instead of grub_ieee1275_interpret.
47798 (grub_halt_init): New function.
47799 (grub_halt_fini): Likewise.
47800 (GRUB_MOD_INIT): Correct message grammar.
47801 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47802 instead of grub_ieee1275_interpret.
47803 (grub_reboot_init): New function.
47804 (grub_reboot_fini): Likewise.
47805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47806 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47807 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47808 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47809 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47810 function.
47811 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47812 Add prototype.
47813 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47814 prototype.
47815 (grub_halt): Likewise.
47816 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47817 (cmain): Remove __attribute__((unused)).
47818 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47819 (grub_heap_len): Likewise.
47820 (grub_machine_fini): New function.
47821 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47822 (grub_halt): Likewise.
47823 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47824 function.
47825 * util/powerpc/ieee1275/misc.c: New file.
47826
0058f771 478272005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47828
47829 * DISTLIST: New file.
47830 * gendistlist.sh: Likewise.
f19dbdb7 47831
0058f771 47832 * Makefile.in (COMMON_DISTFILES): Removed.
47833 (BOOT_DISTFILES): Likewise.
47834 (CONF_DISTFILES): Likewise.
47835 (DISK_DISTFILES): Likewise.
47836 (FS_DISTFILES): Likewise.
47837 (INCLUDE_DISTFILES): Likewise.
47838 (KERN_DISTFILES): Likewise.
47839 (LOADER_DISTFILES): Likewise.
47840 (TERM_DISTFILES): Likewise.
47841 (UTIL_DISTFILES): Likewise.
47842 (DISTFILES): Likewise.
47843 (uninstall): Uninstall files in $(pkgdata_DATA).
47844 (DISTLIST): New target.
47845 (distdir): Use the contents of the file DISTLIST to get a list of
47846 distributed files.
47847
46b3b8a5 478482005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47849
47850 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47851 descriptor. This is ported from GRUB Legacy.
47852
47853 * gencmdlist.sh: Added an extra semicolon to make it work with
47854 old sed versions. Reported by Robert Bihlmeyer
47855 <robbe@orcus.priv.at>.
47856
5822ff87 478572005-03-08 Yoshinori Okuji <okuji@enbug.org>
47858
47859 Automatic loading of commands is supported.
f19dbdb7 47860
5822ff87 47861 * normal/main.c (read_command_list): New function.
47862 (grub_normal_execute): Call read_command_list.
47863
47864 * normal/command.c (grub_register_command): Return zero or CMD.
47865 Allocate CMD->NAME from the heap.
47866 Initialize CMD->MODULE_NAME to zero.
47867 Find the same name as well. If the same command is found and it is
47868 a dummy command, overwrite members. If it is not a dummy command,
47869 return zero.
47870 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47871 (grub_command_find): If a dummy command is found, load a module
47872 and retry to find a command only once.
47873
47874 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47875 make sure that each command is loaded.
47876
47877 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47878 macro.
47879 (struct grub_command): Remove const from the member `name'.
47880 Add a new member `module_name'.
47881 (grub_register_command): Return grub_command_t.
47882
47883 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47884 sure that each command is loaded.
47885
47886 * genmk.rb (PModule::rule): Specify a module name without the
47887 suffix ".mod" to gencmdlist.sh.
47888
7b1f4b57 478892005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47890
47891 * gencmdlist.sh: New file.
f19dbdb7 47892
7b1f4b57 47893 * genmk.rb (PModule::rule): Generate a rule for a command list.
47894 Clean command.lst.
47895 Generate command.lst from $(COMMANDFILES).
47896
47897 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47898 (DATA): Added $(pkgdata_DATA).
47899 (install-local): Install files in $(pkgdata_DATA).
47900
062aaf39 479012005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47902
47903 * term/i386/pc/vga.c (debug_command): Removed.
47904 (GRUB_MOD_INIT): Do not register the command "debug".
47905
47906 From Hollis Blanchard:
47907 * commands/configfile.c: New file.
47908 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47909 commands/configfile.c.
47910 (pkgdata_MODULES): Added configfile.mod.
47911 (configfile_mod_SOURCES): New variable.
47912 (configfile_mod_CFLAGS): Likewise.
47913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47914 commands/configfile.c.
47915 (pkgdata_MODULES): Added configfile.mod.
47916 (configfile_mod_SOURCES): New variable.
47917 (configfile_mod_CFLAGS): Likewise.
47918 * util/grub-emu.c (main): Call grub_configfile_init and
47919 grub_configfile_fini.
47920 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47921 prototype.
47922 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47923
cee01aa6 479242005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47925
47926 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47927 address.
47928
47929 * commands/help.c (grub_cmd_help): Do not print newlines after
47930 the last command in print_command_help.
47931
93f3a1d8 479322005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47933
47934 * commands/default.h: New file.
47935 * commands/timeout.h: Likewise.
47936 * normal/context.c: Likewise.
f19dbdb7 47937
93f3a1d8 47938 * util/misc.c: Do not include sys/times.h.
47939 Include sys/time.h and grub/machine/time.h.
47940 (grub_get_rtc): Rewritten with gettimeofday.
47941
47942 * util/grub-emu.c (main): Call grub_default_init and
47943 grub_timeout_init before grub_normal_init, and call
47944 grub_timeout_fini and grub_default_fini after grub_main.
47945
47946 * util/console.c (grub_ncurses_checkkey): Return the read
47947 character or -1.
47948
47949 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47950 timeouts.
47951
47952 * normal/main.c (read_config_file): Push MENU. If this fails,
47953 print an error and wait for a user input.
47954 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47955 If a menu is empty or an error occurs, pop MENU.
47956 (grub_normal_execute): Pop and free MENU after grub_menu_run
47957 returns.
47958
47959 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47960
47961 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47962 include time.h.
47963 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47964 without GRUB_UTIL.
47965 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47966 time.h.
47967 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47968 without GRUB_UTIL.
47969
47970 * include/grub/normal.h (struct grub_menu_list): New struct.
47971 (grub_menu_list_t): New type.
47972 (struct grub_context): New struct.
47973 (grub_context_t): New type.
47974 (grub_register_command): Got rid of EXPORT_FUNC.
47975 (grub_unregister_command): Likewise.
47976 (grub_context_get): New prototype.
47977 (grub_context_get_current_menu): Likewise.
47978 (grub_context_push_menu): Likewise.
47979 (grub_context_pop_menu): Likewise.
47980 [GRUB_UTIL] (grub_default_init): Likewise.
47981 [GRUB_UTIL] (grub_default_fini): Likewise.
47982 [GRUB_UTIL] (grub_timeout_init): Likewise.
47983 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47984
47985 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47986 commands/timeout.c and normal/context.c.
47987 (pkgdata_MODULES): Added default.mod and timeout.mod.
47988 (normal_mod_SOURCES): Added normal/context.c.
47989 (default_mod_SOURCES): New variable.
47990 (default_mod_CFLAGS): Likewise.
47991 (timeout_mod_SOURCES): Likewise.
47992 (timeout_mod_CFLAGS): Likewise.
47993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47994 conf/i386-pc.rmk.
47995 (pkgdata_MODULES): Added default.mod and timeout.mod.
47996 (normal_mod_SOURCES): Added normal/context.c.
47997 (default_mod_SOURCES): New variable.
47998 (default_mod_CFLAGS): Likewise.
47999 (timeout_mod_SOURCES): Likewise.
48000 (timeout_mod_CFLAGS): Likewise.
48001
48002 * Makefile.in (all-local): Added $(MKFILES).
48003
4ed2e1dd 480042005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48005
48006 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48007 (grub_emu_SOURCES): Likewise.
48008 (pkgdata_MODULES): Add `sun.mod'.
48009 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48011 `partmap/sun.c'.
48012 (pkgdata_MODULES): Add `sun.mod'.
48013 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48014 * include/grub/partition.h (grub_sun_partition_map_init): New
48015 prototype.
48016 (grub_sun_partition_map_fini): Likewise.
48017 * partmap/sun.c: New file.
48018 * util/grub-emu.c (main): Initialize and de-initialize the sun
48019 partitionmap support.
48020
4d4e372e 480212005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48022
48023 This implements an Emacs-like menu entry editor.
f19dbdb7 48024
4d4e372e 48025 * normal/menu_entry.c: New file.
f19dbdb7 48026
4d4e372e 48027 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48028 characters to ASCII.
48029 (saved_char): New variable.
48030 (grub_ncurses_checkkey): Rewritten completely.
48031 (grub_ncurses_getkey): Likewise.
48032 (grub_ncurses_init): Call raw instead of cbreak.
48033
48034 * normal/menu.c (print_entry): Do not put a space.
48035 (init_page): Renamed to ...
48036 (grub_menu_init_page): ... this. All callers changed.
48037 (edit_menu_entry): Removed.
48038 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48039
48040 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48041
48042 * kern/misc.c (grub_vprintf): Call grub_refresh.
48043
48044 * normal/menu.c (DISP_LEFT): Renamed to ...
48045 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48046 * normal/menu.c (DISP_UP): Renamed to ...
48047 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48048 * normal/menu.c (DISP_RIGHT): Renamed to ...
48049 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48050 * normal/menu.c (DISP_DOWN): Renamed to ...
48051 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48052 * normal/menu.c (DISP_HLINE): Renamed to ...
48053 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48054 * normal/menu.c (DISP_VLINE): Renamed to ...
48055 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48056 * normal/menu.c (DISP_UL): Renamed to ...
48057 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48058 * normal/menu.c (DISP_UR): Renamed to ...
48059 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48060 * normal/menu.c (DISP_LL): Renamed to ...
48061 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48062 * normal/menu.c (DISP_LR): Renamed to ...
48063 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48064 * normal/menu.c (TERM_WIDTH): Renamed to ...
48065 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48066 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48067 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48068 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48069 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48070 * normal/menu.c (TERM_MARGIN): Renamed to ...
48071 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48072 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48073 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48074 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48075 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48076 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48077 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48078 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48079 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48080 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48081 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48082 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48083 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48084 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48085 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48086 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48087 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48088 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48089 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48090 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48091 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48092 All callers changed.
48093
48094 * include/grub/normal.h: New prototype.
48095
48096 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48097 normal/menu_entry.c.
48098 (normal_mod_SOURCES): Likewise.
48099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48100 (normal_mod_SOURCES): Likewise.
48101
e6b92c8a 481022005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48103
48104 * include/grub/normal.h (grub_halt_init): New prototype.
48105 (grub_halt_fini): Likewise.
48106 (grub_reboot_init): Likewise.
48107 (grub_reboot_fini): Likewise.
48108
48109 * util/grub-emu.c: Include signal.h.
48110 (main_env): New global variable.
48111 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48112 catch C-c.
48113 (grub_machine_fini): New function.
48114 (main): Call grub_halt_init and grub_reboot_init before
48115 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48116 Call setjmp with MAIN_ENV to go back afterwards.
48117 Call grub_machine_fini right before return.
48118
48119 * include/grub/util/misc.h: Include setjmp.h.
48120 (main_env): New prototype.
48121
48122 * include/grub/kernel.h (grub_machine_fini): New prototype.
48123 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48124 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48125
48126 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48127 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48128 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48129
e6b92c8a 48130 * util/i386/pc/misc.c: New file.
f19dbdb7 48131
e6b92c8a 48132 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48133 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48134 commands/i386/pc/reboot.c.
48135
c642636f 481362005-02-14 Guillem Jover <guillem@hadrons.org>
48137
48138 * include/grub/dl.h (grub_dl_check_header): New prototype.
48139 (grub_arch_dl_check_header): Change return type to grub_err_t,
48140 remove size parameter and export function. Update all callers.
48141 * kern/dl.c (grub_dl_check_header): New function.
48142 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48143 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48144 are inside the core.
48145 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48146 independent ELF header checks.
48147 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48148 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48149 `grub_dl_check_header' instead of explicit checks. Check for the
48150 ELF type.
48151 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48152 `grub_dl_check_header' instead of explicit checks. Remove arch
48153 specific ELF header checks.
48154
e6b92c8a 48155 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48156 argument SIZE.
48157
5eabe94b 481582005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48159
48160 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48161 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48162
1b14a681 481632005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48164
48165 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48166 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48167 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48168 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48169 * partmap/amiga.c (amiga_partition_map_iterate): Return
48170 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48171 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48172
aca108aa 481732005-02-01 Guillem Jover <guillem@hadrons.org>
48174
48175 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48176 help info.
48177
c9f9c556 481782005-01-31 Marco Gerards <metgerards@student.han.nl>
48179
48180 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48181 Removed prototype.
48182 (grub_rescue_cmd_linux): New prototype.
48183 (grub_rescue_cmd_initrd): Likewise.
48184 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48185 `bi_rec'.
48186 (grub_linux_release_mem): Release the memory for the initrd.
48187 (grub_load_linux): Renamed from this...
48188 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48189 Changed `entry' not to be static. Loop over memory regions to
48190 find another one when the default fails.
48191 (grub_rescue_cmd_initrd): New function.
48192 (grub_linux_init): Remove function.
48193 (grub_linux_fini): Likewise.
48194 (GRUB_MOD_INIT): Register `initrd'.
48195 (GRUB_MOD_FINI): Unregister `initrd'.
48196 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48197 Function removed.
48198 (grub_linux_normal_fini): Likewise.
48199 (GRUB_MOD_INIT): Register `initrd'.
48200 (GRUB_MOD_FINI): Unregister `initrd'.
48201
990cf3aa 482022005-01-31 Marco Gerards <metgerards@student.han.nl>
48203
48204 * commands/help.c: New file.
48205 * normal/arg.c (show_help): Renamed to...
48206 (grub_arg_show_help): ... this.
48207 * commands/i386/pc/halt.c: New file.
48208 * commands/i386/pc/reboot.c: Likewise.
48209 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48210 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48211 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48212 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48213 variables.
48214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48215 `commands/help.c'.
48216 (pkgdata_MODULES): Add `help.mod'.
48217 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48218 * grub/i386/pc/init.h (grub_reboot): New prototype.
48219 (grub_halt): Likewise.
48220 * include/grub/normal.h (grub_arg_show_help): New prototype.
48221 (grub_help_init): Likewise.
48222 (grub_help_fini): Likewise.
48223 * util/grub-emu.c (main): Initialize and deinitialize the help
48224 command.
48225
48226 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48227
48228 * normal/command.c (grub_command_init): Fixed the description of
48229 the `set' and `unset' commands.
48230
482312005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48232
48233 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48234 function.
48235 * commands/ieee1275/halt.c: New file.
48236 * commands/ieee1275/reboot.c: Likewise.
48237 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48238 `__attribute__ ((unused))'. Some GCS related fixed.
48239 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48240 (grub_suspend_fini): Likewise.
48241 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48242 and `halt.mod'.
48243 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48244 (halt_mod_CFLAGS): New variables.
48245 * include/grub/powerpc/ieee1275/ieee1275.h
48246 (grub_ieee1275_interpret): New prototype.
48247
1ab09cc7 482482005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48249
48250 * include/grub/misc.h (memmove): New prototype.
48251 (memcpy): Likewise.
48252
8b8cbdb2 482532005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48254
48255 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48256 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48257
e3741a27 482582005-01-22 Marco Gerards <metgerards@student.han.nl>
48259
48260 * kern/misc.c (grub_strndup): Function rewritten.
48261
776bd780 482622005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48263
48264 * normal/menu.c (TERM_WIDTH): Macro redefined.
48265 (TERM_TOP_BORDER_Y): Likewise.
48266 (draw_border): Replaced while-loop by a for-loop. Make the number
48267 of lines consistent with the number of lines displayed in
48268 print_entries. Added a margin below the rectangle.
48269 (print_entry): Make the entry fit in the rectangle.
48270 (print_entries): Display the scroll arrows next to the right
48271 border.
48272
78026bce 482732005-01-21 Marco Gerards <metgerards@student.han.nl>
48274
48275 * fs/minix.c (grub_minix_find_file): Reserve more space for
48276 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48277 `grub_strncpy' to copy `path' into it.
48278
67bbaf0f 482792005-01-21 Marco Gerards <metgerards@student.han.nl>
48280
48281 Add the loopback device, a device via which files can be accessed
48282 as devices.
f19dbdb7 48283
67bbaf0f 48284 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48285 (pkgdata_MODULES): Add loopback.mod.
48286 (loopback_mod_SOURCES): New variable.
48287 (loopback_mod_CFLAGS): Likewise.
48288 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48289 `disk/loopback.c'.
48290 (pkgdata_MODULES): Add loopback.mod.
48291 (loopback_mod_SOURCES): New variable.
48292 (loopback_mod_CFLAGS): Likewise.
48293 * disk/loopback.c: new file.
48294 * include/grub/normal.h (grub_loop_init): New prototype.
48295 (grub_loop_fini): New prototype.
48296 * util/grub-emu.c (main): Initialize and de-initialize loopback
48297 support.
48298 * include/grub/disk.h (grub_disk_dev_id): Add
48299 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48300
6f1c18bd 483012005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48302
48303 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48304 function.
48305 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48306 (suspend_mod_SOURCES): New variable.
48307 (suspend_mod_CFLAGS): Likewise.
48308 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48309 New prototype.
48310 * commands/ieee1275/suspend.c: New file.
48311
b38551da 483122005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48313
48314 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48315 ((unused))' to `__attribute__ ((used))'.
b38551da 48316 (GRUB_MOD_FINI): Likewise.
48317 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48318 * genmk.rb (PModule): Assign space to common symbols when linking
48319 modules.
48320
777aff39 483212005-01-20 Marco Gerards <metgerards@student.han.nl>
48322
48323 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48324 `unsigned' arguments to `grub_size_t'.
48325 (grub_malloc): Likewise.
48326 (grub_realloc): Likewise.
48327 (grub_memalign): Likewise.
48328 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48329 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48330 * util/misc.c (grub_malloc): Likewise.
48331 (grub_realloc): Likewise.
48332 * kern/mm.c (get_header_from_pointer): Change the casts to
48333 `unsigned' into a cast to `grub_size_t'.
48334
48335 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48336 point to `currnode' when `currnode' is changed.
48337
48338 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48339 Schottelius <nico-linux@schottelius.org>.
48340
d0ff18e1 483412005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48342
48343 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48344 (note_path): Remove variable.
48345 (GRUB_IEEE1275_NOTE_NAME): New macro.
48346 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48347 (grub_ieee1275_note_hdr): New structure.
48348 (grub_ieee1275_note_desc): Likewise.
48349 (grub_ieee1275_note): Likewise.
48350 (load_note): Remove `dir' argument. All callers updated. Remove
48351 `note_img' and `path'. Do not load a file from `note_path'.
48352 Initialize a struct grub_ieee1275_note and write that to `out'.
48353 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48354
4ca7004c 483552005-01-05 Marco Gerards <metgerards@student.han.nl>
48356
48357 * util/misc.c (grub_util_read_image): Revert last change. It
48358 called `grub_util_read_at', which seeks from the beginning of the
48359 file.
48360
0b412211 483612005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48362
48363 * TODO: Add note about endianness in grub-mkimage.
48364 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48365 section.
48366 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48367 (grub_mkimage_SOURCES): New target.
48368 * include/grub/kernel.h (grub_start_addr): Remove variable.
48369 (grub_end_addr): Likewise.
48370 (grub_total_module_size): Likewise.
48371 (grub_kernel_image_size): Likewise.
48372 (GRUB_MODULE_MAGIC): New constant.
48373 (grub_module_info): New structure.
48374 (grub_arch_modules_addr): New prototype.
48375 (grub_get_end_addr): Remove prototype.
48376 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48377 * include/grub/powerpc/ieee1275/kernel.h: New file.
48378 * include/grub/util/misc.h (grub_util_get_fp_size): New
48379 prototype.
48380 (grub_util_read_at): Likewise.
48381 (grub_util_write_image_at): Likewise.
48382 * kern/main.c (grub_get_end_addr): Remove function.
48383 (grub_load_modules): Call grub_arch_modules_addr instead of using
48384 grub_end_addr. Look for a grub_module_info struct in memory. Use
48385 the grub_module_info fields instead of calling grub_get_end_addr
48386 as loop conditions. Move grub_add_unused_region code here.
48387 (grub_add_unused_region): Remove function.
48388 * kern/i386/pc/init.c: Include grub/cache.h.
48389 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48390 one call to add_mem_region.
48391 (grub_arch_modules_addr): New function.
48392 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48393 (grub_total_module_size): Likewise.
48394 Include grub/machine/kernel.h.
48395 (grub_arch_modules_addr): New function.
48396 * util/grub-emu.c (grub_end_addr): Remove variable.
48397 (grub_total_module_size): Likewise.
48398 (grub_arch_modules_addr): New function.
48399 * util/misc.c: Include unistd.h.
48400 (grub_util_get_fp_size): New function.
48401 (grub_util_read_at): Likewise.
48402 (grub_util_write_image_at): Likewise.
48403 (grub_util_read_image): Call grub_util_read_at.
48404 (grub_util_write_image): Call grub_util_write_image_at.
48405 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48406 additional memory in kernel_img for a struct grub_module_info.
48407 Fill in that grub_module_info.
48408 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48409
458786f8 484102005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48411
48412 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48413 New function.
48414 * include/grub/powerpc/ieee1275/ieee1275.h
48415 (grub_ieee1275_milliseconds): New prototype.
48416 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48417 Change to 1000.
48418 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48419 grub_ieee1275_milliseconds.
48420
ac507d1b 484212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48422
48423 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48424 variable.
48425 (find_options): New function.
48426 (cmain): Call find_options.
48427 * include/grub/powerpc/ieee1275/ieee1275.h
48428 (grub_ieee1275_realmode): New extern variable.
48429 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48430 grub_map if grub_ieee1275_realmode is false.
48431
6b8fd1c4 484322004-12-29 Marco Gerards <metgerards@student.han.nl>
48433
48434 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48435 lines are inserted and make it work like readline. Reported by
48436 Vincent Pelletier <subdino2004@yahoo.fr>.
48437
8514a1e0 484382004-12-28 Marco Gerards <metgerards@student.han.nl>
48439
48440 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48441
48442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48443 `kern/powerpc/cache.S'.
48444
924b6140 484452004-12-27 Marco Gerards <metgerards@student.han.nl>
48446
48447 * genmk.rb: Handle the `Program' class in the main loop. Written
48448 by Johan Rydberg <jrydberg@gnu.org>.
48449 (Program): New class.
48450 (programs): New variable.
48451 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48452 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48453 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48454 (help_arch): Function removed.
48455 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48456 `powerpc/libgcc.h' and `loader.h'.
48457 (pkgdata_PROGRAMS): New variable.
48458 (sbin_UTILITIES): Variable removed.
48459 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48460 (grubof_SOURCES): Variable re-defined so it only includes the
48461 core functionality.
48462 (grubof_CFLAGS): Remove `-DGRUBOF'.
48463 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48464 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48465 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48466 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48467 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48468 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48469 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48470 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48471 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48472 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48473 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48474 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48475 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48476 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48477 (pc_mod_CFLAGS): New variables.
48478 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48479 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48480 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48481 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48482 Moved from here...
48483 * include/grub/i386/pc/init.h (grub_os_area_addr)
48484 (rub_os_area_size): ... to here.
48485 * include/grub/powerpc/ieee1275/ieee1275.h
48486 (grub_ieee1275_entry_fn): Export symbol.
48487 * include/grub/powerpc/ieee1275/init.h: New file.
48488 * include/grub/powerpc/libgcc.h: Likewise.
48489 * include/grub/cache.h: Likewise.
48490 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48491 <hollis@penguinppc.org>.
48492 * kern/dl.c: Include <grub/cache.h>.
48493 (grub_dl_flush_cache): New function.
48494 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48495 for this module.
48496 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48497 (grub_console_init): Removed prototypes.
48498 (grub_machine_init): Don't initialize the modules anymore.
48499 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48500 static.
48501 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48502 Macro undef removed.
48503 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48504 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48505 relocation `R_PPC_REL32'. Return an error when the relocation is
48506 unknown.
48507 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48508 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48509 * util/misc.c (grub_arch_sync_caches): Likewise.
48510
e4b47e0c 485112004-12-19 Marco Gerards <metgerards@student.han.nl>
48512
48513 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48514 `symlist.c', add `grubof_symlist.c'.
48515 (symlist.c): Variable removed.
48516 (grubof_HEADERS): Variable added.
48517 (grubof_symlist.c): New target.
48518 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48519 `kernel_img_HEADERS'.
48520 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48521 * kern/powerpc/dl.c: New file.
48522 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48523 Function removed.
48524 (grub_arch_dl_relocate_symbols): Likewise.
48525 (grub_register_exported_symbols): Likewise.
48526
4ceb3636 485272004-12-13 Marco Gerards <metgerards@student.han.nl>
48528
48529 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48530 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48531 to fail instead. Reported by Vincent Pelletier
48532 <subdino2004@yahoo.fr>.
48533
48534 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48535 it is not allocated. Reported by Vincent Pelletier
48536 <subdino2004@yahoo.fr>.
48537
48538 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48539 output so the output looks better.
f19dbdb7 48540
3f1578fe 485412004-12-04 Marco Gerards <metgerards@student.han.nl>
48542
48543 Modulize the partition map support and add support for the amiga
48544 partition map.
f19dbdb7 48545
3f1578fe 48546 * commands/ls.c: Include <grub/partition.h> instead of
48547 <grub/machine/partition.h>.
48548 * kern/disk.c: Likewise.
48549 * kern/rescue.c: Likewise.
48550 * loader/i386/pc/chainloader.c: Likewise.
48551 * normal/cmdline.c: Likewise.
48552 * kern/powerpc/ieee1275/init.c: Likewise.
48553 (grub_machine_init): Call `grub_pc_partition_map_init',
48554 `grub_amiga_partition_map_init' and
48555 `grub_apple_partition_map_init'.
48556 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48557 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48558 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48559 `partition.h' and `pc_partition.h'.
48560 (grub_setup_SOURCES): Remove
48561 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48562 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48563 (grub_emu_SOURCES): Likewise.
48564 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48565 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48566 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48568 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48569 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48570 (grubof_SOURCES): Likewise.
48571 * disk/i386/pc/partition.c: File removed.
48572 * disk/powerpc/ieee1275/partition.c: Likewise.
48573 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48574 * include/grub/i386/pc/partition.h: Likewise.
48575 * kern/partition.c: New file.
48576 * partmap/amiga.c: Likewise.
48577 * partmap/apple.c: Likewise.
48578 * partmap/pc.c: Likewise.
48579 * include/grub/partition.h: Likewise..
48580 * include/grub/pc_partition.h: Likewise.
48581 * util/grub-emu.c: Include <grub/partition.h> instead of
48582 <grub/machine/partition.h>.
48583 (main): Call `grub_pc_partition_map_init',
48584 `grub_amiga_partition_map_init' and
48585 `grub_apple_partition_map_init' and deinitialize afterwards.
48586 * util/i386/pc/biosdisk.c: Include `#include
48587 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48588 `<grub/machine/partition.h>'.
48589 * util/i386/pc/grub-setup.c: Likewise.
48590 * util/i386/pc/biosdisk.c: Likewise.
48591 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48592 partition information in case of a PC partition.
48593 * util/i386/pc/grub-setup.c: Include `#include
48594 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48595 `<grub/machine/partition.h>'.
48596 (setup): Only access the PC specific partition information in case
48597 of a PC partition.
48598
0ef4ced9 485992004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48600
0ef4ced9 48601 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48602 (grub_longjmp): Likewise.
48603 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48604 20.
48605 * normal/powerpc/setjmp.S: New file.
48606 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48607 `normal/powerpc/setjmp.S'.
48608 (grubof_CFLAGS): Add `-DGRUBOF'.
48609 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48610 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48611
19950e29 486122004-11-16 Marco Gerards <metgerards@student.han.nl>
48613
48614 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48615 property named `name'. Correctly handle the error returned by
48616 `grub_ieee1275_finddevice' if a device can not be opened.
48617
a2fea427 486182004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48619
48620 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48621 `actual' for negativity.
48622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48623 kern/fshelp.c.
48624
41ea0ea3 486252004-11-01 Marco Gerards <metgerards@student.han.nl>
48626
48627 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48628 (PAGE_OFFSET): New macro.
48629 (CRTC_ADDR_PORT): Likewise.
48630 (CRTC_DATA_PORT): Likewise.
48631 (START_ADDR_HIGH_REGISTER): Likewise.
48632 (START_ADDR_LOW_REGISTER): Likewise.
48633 (GRAPHICS_ADDR_PORT): Likewise.
48634 (GRAPHICS_DATA_PORT): Likewise.
48635 (READ_MAP_REGISTER): Likewise.
48636 (INPUT_STATUS1_REGISTER): Likewise.
48637 (INPUT_STATUS1_VERTR_BIT): Likewise.
48638 (page): New variable.
48639 (wait_vretrace): New function.
48640 (set_read_map): Likewise.
48641 (set_start_address): Likewise.
48642 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48643 the right page.
48644 (check_vga_mem): Take the page into account.
48645 (write_char): Likewise.
48646 (write_cursor): Likewise.
48647 (scroll_up): Likewise. Copy the page to the page that is not
48648 shown and switch between both pages.
48649 (grub_vga_putchar): Fix off by one error.
48650 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48651 account.
48652
ad0bd20b 486532004-11-01 Marco Gerards <metgerards@student.han.nl>
48654
48655 Add support for iso9660 (including rockridge).
f19dbdb7 48656
ad0bd20b 48657 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48658 (iso9660_mod_SOURCES): New variable.
48659 (iso9660_mod_CFLAGS): Likewise.
48660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48661 * include/grub/fs.h (grub_iso9660_init): New prototype.
48662 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48663 * fs/iso9660.c: New file.
48664
48665 * include/grub/misc.h (grub_strncat): New prototype.
48666 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48667
ad0bd20b 48668 * fs/hfs.c (grub_hfs_mount): Translate the error
48669 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48670 * fs/jfs.c (grub_jfs_mount): Likewise.
48671 * fs/ufs.c (grub_ufs_mount): Likewise.
48672
a5477a59 486732004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48674
48675 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48676 which initialized BAT registers.
48677 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48678 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48679 Move from here...
48680 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48681 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48682 ... to here.
48683 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48684 (grub_mapclaim): Likewise.
48685 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48686 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48687 hand.
48688
9304c1f8 486892004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48690
48691 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48692 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48693 -ffreestanding and -msoft-float.
48694
86f4ae25 486952004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48696
48697 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48698 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48699 set in grub_ieee1275_flags.
48700
38912228 487012004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48702
48703 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48704 prototype.
48705 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48706 grub_console_init first.
48707 Change the memory range used for grub_ieee1275_claim and
48708 grub_mm_init_region.
48709 Print an error message if the claim fails.
48710 Include <grub/misc.h>.
48711
d1923dc8 487122004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48713
48714 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48715 Call grub_children_iterate for device nodes of type `scsi',
48716 `ide', or `ata'.
48717 (grub_ofdisk_open): Remove manual device alias resolution.
48718 Fix memory leak when device cannot be opened.
f19dbdb7 48719 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48720 (grub_children_iterate): New prototype.
48721 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48722 New function.
48723 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48724 Return -1 if args.size was -1.
48725
4512e4f3 487262004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48727
48728 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48729 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48730 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48731 Open Firmware's memory for it; claim memory from _start to _end.
48732 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48733 (_end): New extern.
48734 (_start): Zero BSS from __bss_start to _end.
48735 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48736 New extern.
48737 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48738
4d61feb0 487392004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48740
ad0bd20b 48741 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48742 -1 if args.base was -1.
4d61feb0 48743
026fa2f9 487442004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48745
48746 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48747 escape sequence instead of a literal ^L. Also call
48748 grub_ofconsole_gotoxy.
48749
9f2220ef 487502004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48751
48752 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48753 void * arguments to grub_addr_t. All callers updated. Also make
48754 the `result' argument optional.
48755 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48756 All callers updated.
48757
8a572cd7 487582004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48759
48760 * commands/ls.c (grub_ls_list_files): Use the string following the
48761 initial ')', if present, as the filesystem path.
48762 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48763
48764 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48765
18aa81f2 487662004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48767
48768 Make the source code of the menu interface more readable.
f19dbdb7 48769
18aa81f2 48770 * normal/menu.c: Include grub/mm.h.
48771 (TERM_WIDTH): New macro.
48772 (TERM_HEIGHT): Likewise.
48773 (TERM_INFO_HEIGHT): Likewise.
48774 (TERM_MARGIN): Likewise.
48775 (TERM_SCROLL_WIDTH): Likewise.
48776 (TERM_TOP_BORDER_Y): Likewise.
48777 (TERM_LEFT_BORDER_X): Likewise.
48778 (TERM_BORDER_WIDTH): Likewise.
48779 (TERM_MESSAGE_HEIGHT): Likewise.
48780 (TERM_BORDER_HEIGHT): Likewise.
48781 (TERM_NUM_ENTRIES): Likewise.
48782 (TERM_FIRST_ENTRY_Y): Likewise.
48783 (TERM_ENTRY_WIDTH): Likewise.
48784 (TERM_CURSOR_X): Likewise.
48785 (draw_border): Use macros instead of magic numbers.
48786 (print_entry): Likewise.
48787 (print_entries): Likewise.
48788 (run_menu): Likewise. Also, handle the key 'e'.
48789 (run_menu_entry): Ignore empty command lines.
48790 (print_message): Added a new argument EDIT. If EDIT is true,
48791 print a different message.
48792 (init_page): Likewise.
48793 (edit_menu_entry): New function. Not implemented yet.
48794
b47efe30 487952004-09-17 Marco Gerards <metgerards@student.han.nl>
48796
48797 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48798 can be loaded from normal mode.
f19dbdb7 48799
b47efe30 48800 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48801 `multiboot.mod'.
48802 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48803 (multiboot_mod_CFLAGS): New variables.
48804 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48805 * loader/i386/pc/multiboot_normal.c: Likewise.
48806
b47efe30 48807 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48808 attribute `unused'.
f19dbdb7 48809
b47efe30 48810 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48811 `fdiro' to read the mode information from instead of `diro'.
48812
48813 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48814 looking up a symlink.
48815
48816 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48817 macro.
48818 * normal/command.c (grub_command_execute): Don't parse the
48819 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48820 flags of the command.
48821
48822 * normal/menu.c (grub_menu_run): Fix typo.
48823
da75ac71 488242004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48825
48826 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48827
48828 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48829 `y + 1' instead of `y - 1'.
48830
48831 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48832
062b24c2 488332004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48834
48835 From Hollis Blanchard <hollis@penguinppc.org>:
48836 * kern/misc.c (memmove): New alias for grub_memmove.
48837 (memcmp): New alias for grub_memcmp.
48838 (memset): New alias for grub_memset.
f19dbdb7 48839 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48840 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48841 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48842 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48843
8ddad845 488442004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48845
48846 Added normal mode command `chainloader' as module chain.mod, which
48847 depends on normal.mod and _chain.mod.
f19dbdb7 48848
8ddad845 48849 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48850 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48851 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48852 Deleted prototype.
48853 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48854 but arguments parsing moved to ...
48855 (grub_chainloader_cmd): ... here. New function.
48856 * include/grub/i386/pc/chainloader.h: New file.
48857 * loader/i386/pc/chainloader_normal.c: Likewise.
48858
2c1f4ce3 488592004-09-11 Marco Gerards <metgerards@student.han.nl>
48860
48861 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48862 (grub_mkimage_LDFLAGS): Likewise.
48863 (grub_emu_SOURCES): Likewise.
48864 (kernel_img_HEADERS): Added fshelp.h.
48865 * fs/ext2.c: Include <grub/fshelp.h>.
48866 (FILETYPE_REG): New macro.
48867 (FILETYPE_INO_REG): Likewise.
48868 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48869 Changed all users.
48870 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48871 all users.
48872 (grub_fshelp_node): New struct.
48873 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48874 to a pointer.
48875 (grub_ext2_get_file_block): Removed function.
48876 (grub_ext2_read_block): New function.
48877 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48878 This function was written.
48879 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48880 (grub_ext2_find_file): Removed function.
48881 (grub_ext2_read_symlink): New function.
48882 (grub_ext2_iterate_dir): Likewise.
48883 (grub_ext2_open): Rewritten.
48884 (grub_ext2_dir): Rewritten.
48885 * include/grub/fshelp.h: New file.
48886 * fs/fshelp.c: Likewise.
48887
3c52136a 488882004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48889
48890 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48891 (print_message): Add a missing newline.
48892 (run_menu): Added timeout support.
48893 (run_menu_entry): New local function.
48894 (grub_menu_run): Added support for booting.
48895
48896 * kern/loader.c (grub_loader_is_loaded): New function.
48897
48898 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48899 (grub_get_rtc): Exported.
48900
48901 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48902 (grub_get_rtc): Exported.
48903
48904 * include/grub/normal.h (struct grub_command_list): Remove
48905 constant from the member `command'.
48906
48907 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48908
48909 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48910
48911 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48912
aa033560 489132004-08-28 Marco Gerards <metgerards@student.han.nl>
48914
48915 Add support for the JFS filesystem.
48916
48917 * fs/jfs.c: New file.
48918 * include/grub/fs.h (grub_jfs_init): New prototype.
48919 (grub_jfs_fini): New prototype.
48920 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48921 (grub_emu_SOURCES): Likewise.
48922 (pkgdata_MODULES): Add jfs.mod.
48923 (jfs_mod_SOURCES): New variable.
48924 (jfs_mod_CFLAGS): Likewise.
48925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48926 (grubof_SOURCES): Likewise.
48927 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48928
48929 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48930 endian to the host endian.
48931 (grub_fat_utf16_to_utf8): Move function from there...
48932 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48933 the endianness of the source string anymore.
aa033560 48934 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48935
94bc45af 489362004-08-24 Marco Gerards <metgerards@student.han.nl>
48937
48938 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48939 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48940 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48941 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48942
94bc45af 48943 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48944 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48945 for `node_found' and `it_dir'.
48946 (grub_hfs_dir): Add prototype for `dir_hook'.
48947
48948 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48949 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48950 and `indir32' to silence a gcc warning.
48951
48952 * include/grub/fs.h (grub_hfs_init): New prototype.
48953 (grub_hfs_fini): Likewise.
f19dbdb7 48954
48955
97543f08 489562004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48957
48958 Each disk device has its own id now. This is useful to make use
48959 of multiple disk devices.
f19dbdb7 48960
97543f08 48961 * include/grub/disk.h (grub_disk_dev_id): New enum.
48962 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48963 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48964
48965 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48966 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48967
48968 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48969 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48970
48971 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48972 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48973
48974 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48975 "id" which is used by the cache manager.
48976
48977 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48978 of just "GRUB".
48979
64372eb4 489802004-08-18 Marco Gerards <metgerards@student.han.nl>
48981
48982 * fs/hfs.c: New file.
48983 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48984 (grub_emu_SOURCES): Likewise.
48985 (pkgdata_MODULES): Add hfs.mod.
48986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48987 (grubof_SOURCES): Likewise.
48988 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48989
48990 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48991 * kern/misc.c (grub_strncasecmp): Add function.
48992
cc61b58f 489932004-08-14 Marco Gerards <metgerards@student.han.nl>
48994
48995 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48996 with parentheses.
48997
48998 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48999 (grub_ext2_dir): In case the directory entry type is unknown, read
49000 it from the inode.
49001
0ef123f6 490022004-08-02 Peter Bruin <pjbruin@dds.nl>
49003
49004 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49005 grub_load_linux instead of grub_rescue_cmd_linux as second
49006 argument of grub_rescue_register_command.
49007
49008 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49009
a447c5df 490102004-07-27 Marco Gerards <metgerards@student.han.nl>
49011
49012 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49013 function.
49014 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49015 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49016 `loader/powerpc/ieee1275/linux.c',
49017 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49018 * include/grub/powerpc/ieee1275/ieee1275.h
49019 (grub_ieee1275_release): New prototype.
49020 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49021 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49022 normal, boot, linux and linux_normal.
49023 * loader/powerpc/ieee1275/linux.c: New file.
49024 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49025
5a9e3546 490262004-07-12 Marco Gerards <metgerards@student.han.nl>
49027
49028 * normal/arg.c (grub_arg_parse): Correct error handling after
49029 reallocating the argumentlist (check if `argl' is not null instead
49030 of checking if `args' is not null).
49031 * kern/mm.c (grub_realloc): Return the same pointer when using the
49032 same region, instead of returning the header address.
49033
e15199cb 490342004-07-11 Marco Gerards <metgerards@student.han.nl>
49035
49036 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49037 one block instead of two when looking for the initial partition.
49038 (grub_partition_probe): Initialize the local variable `p' with 0.
49039 Use base 10 for the grub_strtoul call.
49040 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49041 need for one local variable.
49042 (grub_strtoul): Don't add the new value to `num', instead of that
49043 just assign it.
49044
020616c2 490452004-07-11 Marco Gerards <metgerards@student.han.nl>
49046
49047 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49048 (pxeboot_img_SOURCES): New variable.
49049 (pxeboot_img_ASFLAGS): Likewise.
49050 (pxeboot_img_LDFLAGS): Likewise.
49051 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49052 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49053 <lode_leroy@hotmail.com>.
49054
6c51eb64 490552004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49056
49057 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49058 there was no input.
49059
cfb12aff 490602004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49061
49062 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49063 the history buffer logic.
49064
6eabba74 490652004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49066
49067 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49068 (FILETYPE_INO_SYMLINK): New macros.
49069 (grub_ext2_find_file): Check if the node is a directory using the
49070 inode stat information instead of using the filetype in the
49071 dirent. Exclude the first character of an absolute symlink.
49072 (grub_ext2_dir): Mask out the filetype part of the mode member of
49073 the inode.
49074
66e19ef8 490752004-05-24 Marco Gerards <metgerards@student.han.nl>
49076
49077 Add support for UFS version 1 and 2. Add support for the minix
49078 filesystem version 1 and 2, both the variants with 14 and 30 long
49079 filenames.
f19dbdb7 49080
66e19ef8 49081 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49082 fs/minix.c.
49083 (grub_emu_SOURCES): Likewise.
49084 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49085 (ufs_mod_SOURCES): New variable.
49086 (ufs_mod_CFLAGS): Likewise.
49087 (minix_mod_SOURCES): Likewise.
49088 (minix_mod_CFLAGS): Likewise.
49089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49090 fs/minix.c.
49091 (grubof_SOURCES): Likewise.
49092 * fs/ufs.c: New file.
49093 * fs/minix.c: New file.
49094 * include/grub/fs.h (grub_ufs_init): New prototype.
49095 (grub_ufs_fini): Likewise.
49096 (grub_minix_init): Likewise.
49097 (grub_minix_fini): Likewise.
49098 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49099 minix fs.
49100
cc2e748a 491012004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49102
49103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49104 commands/ls.c, commands/terminal.c, commands/boot.c,
49105 commands/cmp.c and commands/cat.c.
49106 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49107
49108 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49109 "env.h"
49110
4b13b216 491112004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49112
49113 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49114 and grub_, respectively. Because the conversion is trivial and
49115 mechanical, I omit the details here. Please refer to the CVS
49116 if you need more information.
49117
6a142551 491182004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49119
49120 * include/pupa: Renamed to ...
49121 * include/grub: ... this.
49122 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49123 * util/i386/pc/grub-mkimage.c: ... this.
49124 * util/i386/pc/pupa-setup.c: Renamed to ...
49125 * util/i386/pc/grub-setup.c: ... this.
49126 * util/pupa-emu.c: Renamed to ...
49127 * util/grub-emu.c: ... this.
49128
e56cdf21 491292004-03-29 Marco Gerards <metgerards@student.han.nl>
49130
49131 Add support for the newworld apple macintosh (PPC). This has been
49132 tested on the powerbook 2000 only. It only adds support for
49133 generic ieee1275 functions, console and disk support. This should
49134 be easy to port to other architectures with support for Open
49135 Firmware.
f19dbdb7 49136
e56cdf21 49137 * configure.ac: Accept the powerpc as host_cpu. In the case of
49138 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49139 specific tests are only executed while building for the i386.
49140 Inverse test for crosscompile.
49141 * genmk.rb (Utility): Allow assembler files.
49142 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49143 * conf/powerpc-ieee1275.rmk: New file.
49144 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49145 * disk/powerpc/ieee1275/partition.c: Likewise.
49146 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49147 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49148 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49149 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49150 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49151 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49152 * include/pupa/powerpc/ieee1275/loader.h
49153 * include/pupa/powerpc/setjmp.h: Likewise.
49154 * include/pupa/powerpc/types.h: Likewise.
49155 * kern/powerpc/ieee1275/init.c: Likewise.
49156 * kern/powerpc/ieee1275/openfw.c: Likewise.
49157 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49158
49159 These files were written by Johan Rydberg
49160 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49161
e56cdf21 49162 * boot/powerpc/ieee1275/cmain.c: New file.
49163 * boot/powerpc/ieee1275/crt0.S: Likewise.
49164 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49165 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49166
8c8cc205 491672004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49168
49169 * Makefile.in: Update copyright.
49170 * genmodsrc.sh: Likewise.
49171 * gensymlist.sh: Likewise.
49172 * term/i386/pc/vga.c: Indent correctly.
49173
49174 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49175 bugreporting address.
49176 * util/i386/pc/pupa-setup.c (usage): Likewise,
49177 (main): Call pupa_ext2_init and pupa_ext2_fini.
49178
f19dbdb7 49179 * fs/fat.c (log2): Renamed to ...
8c8cc205 49180 (fat_log2): ... this.
49181 All callers changed.
49182 * kern/misc.c (memcpy): Alias to pupa_memmove.
49183 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49184 lvalue cast.
49185 * util/console.c (pupa_ncurses_fini): Return 0.
49186
49187 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49188 Move fail label here.
49189 [__GNU__]: Don't warn when using stat.
49190 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49191 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49192 long int. Use strtol instead of strtoul.
f19dbdb7 49193
db1771cf 491942004-03-14 Marco Gerards <metgerards@student.han.nl>
49195
49196 * commands/boot.c: New file.
49197 * commands/cat.c: Likewise.
49198 * commands/cmp.c: Likewise.
49199 * commands/ls.c: Likewise.
49200 * commands/terminal.c: Likewise.
49201 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49202 (pupa_register_command): Changed interface to match the new
49203 argument parser.
49204 (pupa_command_execute): Changed (almost rewritten) so it uses
49205 pupa_split_command. Added support for setting variables using the
49206 syntax `foo=bar'.
49207 (rescue_command): Changed to work with the new argument parser.
49208 (terminal_command): Moved from here to commands/terminal.c.
49209 (set_command): New function.
49210 (unset_command): New function.
49211 (insmod_command): New function.
49212 (rmmod_command): New function.
49213 (lsmod_command): New function.
49214 (pupa_command_init): Don't initialize the command terminal
49215 anymore. Initialize the commands set, unset, insmod, rmmod and
49216 lsmod.
49217 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49218 (kernel_img_HEADERS): Add arg.h and env.h.
49219 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49220 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49221 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49222 normal/arg.c.
49223 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49224 terminal.mod.
49225 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49226 (boot_mod_SOURCES): New variable.
49227 (terminal_mod_SOURCES): Likewise.
49228 (ls_mod_SOURCES): Likewise.
49229 (cmp_mod_SOURCES): Likewise.
49230 (cat_mod_SOURCES): Likewise.
49231
49232 * normal/arg.c: New file.
49233 * kern/env.c: Likewise.
49234 * include/pupa/arg.h: Likewise.
49235 * include/pupa/env.h: Likewise.
49236 * font/manager.c (font_command): Changed to match argument parsing
49237 interface changes.
49238 (PUPA_MOD_INIT): Likewise.
49239 * hello/hello.c (pupa_cmd_hello): Likewise.
49240 (PUPA_MOD_INIT): Likewise.
49241 * include/pupa/disk.h: Include <pupa/device.h>.
49242 (pupa_print_partinfo): New prototype.
49243 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49244 (pupa_dl_get_prefix): Likewise.
49245 * include/pupa/misc.h: Include <pupa/err.h>.
49246 (pupa_isgraph): New prototype.
49247 (pupa_isdigit): Likewise.
49248 (pupa_split_cmdline): Likewise.
49249 * include/pupa/normal.h: Include <pupa/arg.h>.
49250 (pupa_command): Changed the prototype of the member `func' to
49251 match the argument parsing interface. Added member `options'.
49252 (pupa_register_command): Updated to match function.
49253 (pupa_arg_parse): New prototype.
49254 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49255 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49256 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49257 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49258 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49259 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49260 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49261 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49262 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49263 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49264 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49265 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49266 * kern/disk.c: Include <pupa/file.h>.
49267 (pupa_print_partinfo): New function.
49268 * kern/dl.c: Include <pupa/env.h>.
49269 (pupa_dl_dir): Variable removed.
49270 (pupa_dl_load): Use the environment variable `prefix' instead of
49271 the variable pupa_dl_dir.
49272 (pupa_dl_set_prefix): Function removed.
49273 (pupa_dl_get_prefix): Likewise.
49274 * kern/i386/pc/init.c: Include <pupa/env.h>.
49275 (pupa_machine_init): Use the environment variable `prefix' instead of
49276 using pupa_dl_set_prefix to set the prefix.
49277 * kern/main.c: Include <pupa/env.h>.
49278 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49279 using pupa_dl_get_prefix to get the prefix.
49280 * kern/misc.c: Include <pupa/env.h>.
49281 (pupa_isdigit): New function.
49282 (pupa_isgraph): Likewise.
49283 (pupa_ftoa): Likewise.
49284 (pupa_vsprintf): Added support for printing values of the type
49285 `double'. Make it possible to format variable output when using
49286 formatting like `%1.2%f'.
49287 (pupa_split_cmdline): New function.
49288 * kern/rescue.c: Include <pupa/env.h>.
49289 (next_word): Removed function.
49290 (pupa_rescue_cmd_prefix): Likewise.
49291 (pupa_rescue_cmd_set): New function.
49292 (pupa_rescue_cmd_unset): New function.
49293 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49294 split the command line instead of splitting it here. Added
49295 support for setting variables using the syntax `foo=bar'. Don't
49296 initialize the prefix command anymore. Initialized the set and
49297 unset commands.
49298 * normal/cmdline.c: Include <pupa/env.h>.
49299 (pupa_tab_complete): Added prototypes for print_simple_completion,
49300 print_partition_completion, add_completion, iterate_commands,
49301 iterate_dev, iterate_part and iterate_dir. Moved code to print
49302 partition information from here to kern/disk.c.
fe6b695a 49303 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49304 * normal/main.c: Include <pupa/env.h>.
49305 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49306 instead of using pupa_dl_get_prefix to get the prefix.
49307 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49308 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49309 warning.
49310 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49311 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49312 ((unused))' to silence a gcc warning.
49313 (pupa_vga_setcolor): Likewise.
49314 (debug_command): Changed to match argument parsing
49315 interface changes.
49316 * util/pupa-emu.c: Include <pupa/env.h>.
49317 (options): Added 0's for unused fields to silence a gcc warning.
49318 (argp): Likewise.
49319 (main): Use the environment variable `prefix' instead of using
49320 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49321 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49322 and terminal.
49323
49324 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49325 * util/misc.c: Include <malloc.h>.
49326 (pupa_malloc): Rewritten so errors are correctly reported.
49327 (pupa_realloc): Likewise.
49328 (pupa_memalign): Likewise.
49329 (pupa_mm_init_region): Declare unused variables with
49330 `__attribute__ ((unused))' to silence a gcc warning.
49331 * normal/i386/setjmp.S: Remove tab at the end of the file to
49332 silence a gcc warning.
49333 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49334 variables with `__attribute__ ((unused))' to silence a gcc
49335 warning.
49336 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49337 local variable i unsigned to silence a gcc warning.
49338
49339 * kern/term.c: Include <pupa/misc.h>.
49340 (pupa_more_lines): New variable.
49341 (pupa_more): Likewise.
49342 (pupa_putcode): When the pager is active pause at the end of every
49343 screen.
49344 (pupa_set_more): New function.
49345 * include/pupa/term.h (pupa_set_more): New prototype.
49346
49347
3b1139cb 493482004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49349
49350 Now this project is GRUB 2 rather than PUPA. The location of
49351 the CVS repository was moved to GRUB's.
f19dbdb7 49352
3b1139cb 49353 * configure.ac: Use bug-grub as the reporting address.
49354 Use GRUB instead of PUPA.
49355 Change the version number to 1.90.
49356
8367695c 493572004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49358
49359 * genkernsyms.sh: Updated copyright information.
49360 * genmk.rb: Likewise.
49361 * genmodsrc.sh: Likewise.
49362 * gensymlist.sh: Likewise.
49363 * boot/i386/pc/boot.S: Likewise.
49364 * boot/i386/pc/diskboot.S: Likewise.
49365 * disk/i386/pc/biosdisk.c: Likewise.
49366 * disk/i386/pc/partition.c: Likewise.
49367 * font/manager.c: Likewise.
49368 * fs/ext2.c: Likewise.
49369 * fs/fat.c: Likewise.
49370 * include/pupa/boot.h: Likewise.
49371 * include/pupa/device.h: Likewise.
49372 * include/pupa/disk.h: Likewise.
49373 * include/pupa/dl.h: Likewise.
49374 * include/pupa/elf.h: Likewise.
49375 * include/pupa/err.h: Likewise.
49376 * include/pupa/file.h: Likewise.
49377 * include/pupa/font.h: Likewise.
49378 * include/pupa/fs.h: Likewise.
49379 * include/pupa/kernel.h: Likewise.
49380 * include/pupa/loader.h: Likewise.
49381 * include/pupa/misc.h: Likewise.
49382 * include/pupa/mm.h: Likewise.
49383 * include/pupa/net.h: Likewise.
49384 * include/pupa/normal.h: Likewise.
49385 * include/pupa/rescue.h: Likewise.
49386 * include/pupa/setjmp.h: Likewise.
49387 * include/pupa/symbol.h: Likewise.
49388 * include/pupa/term.h: Likewise.
49389 * include/pupa/types.h: Likewise.
49390 * include/pupa/i386/setjmp.h: Likewise.
49391 * include/pupa/i386/types.h: Likewise.
49392 * include/pupa/i386/pc/biosdisk.h: Likewise.
49393 * include/pupa/i386/pc/boot.h: Likewise.
49394 * include/pupa/i386/pc/console.h: Likewise.
49395 * include/pupa/i386/pc/init.h: Likewise.
49396 * include/pupa/i386/pc/kernel.h: Likewise.
49397 * include/pupa/i386/pc/linux.h: Likewise.
49398 * include/pupa/i386/pc/loader.h: Likewise.
49399 * include/pupa/i386/pc/memory.h: Likewise.
49400 * include/pupa/i386/pc/multiboot.h: Likewise.
49401 * include/pupa/i386/pc/partition.h: Likewise.
49402 * include/pupa/i386/pc/time.h: Likewise.
49403 * include/pupa/i386/pc/vga.h: Likewise.
49404 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49405 * include/pupa/util/getroot.h: Likewise.
49406 * include/pupa/util/misc.h: Likewise.
49407 * include/pupa/util/resolve.h: Likewise.
49408 * kern/device.c: Likewise.
49409 * kern/disk.c: Likewise.
49410 * kern/dl.c: Likewise.
49411 * kern/err.c: Likewise.
49412 * kern/file.c: Likewise.
49413 * kern/fs.c: Likewise.
49414 * kern/loader.c: Likewise.
49415 * kern/main.c: Likewise.
49416 * kern/misc.c: Likewise.
49417 * kern/mm.c: Likewise.
49418 * kern/rescue.c: Likewise.
49419 * kern/term.c: Likewise.
49420 * kern/i386/dl.c: Likewise.
49421 * kern/i386/pc/init.c: Likewise.
49422 * kern/i386/pc/lzo1x.S: Likewise.
49423 * kern/i386/pc/startup.S: Likewise.
49424 * loader/i386/pc/chainloader.c: Likewise.
49425 * loader/i386/pc/linux.c: Likewise.
49426 * loader/i386/pc/multiboot.c: Likewise.
49427 * normal/cmdline.c: Likewise.
49428 * normal/command.c: Likewise.
49429 * normal/main.c: Likewise.
49430 * normal/menu.c: Likewise.
49431 * normal/i386/setjmp.S: Likewise.
49432 * term/i386/pc/console.c: Likewise.
49433 * term/i386/pc/vga.c: Likewise.
49434 * util/console.c: Likewise.
49435 * util/genmoddep.c: Likewise.
49436 * util/misc.c: Likewise.
49437 * util/pupa-emu.c: Likewise.
49438 * util/resolve.c: Likewise.
49439 * util/unifont2pff.rb: Likewise.
49440 * util/i386/pc/biosdisk.c: Likewise.
49441 * util/i386/pc/getroot.c: Likewise.
49442 * util/i386/pc/pupa-mkimage.c: Likewise.
49443 * util/i386/pc/pupa-setup.c: Likewise.
49444
e6eced71 494452004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49446
49447 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49448 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49449 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49450 reading and reset it after reading.
49451 (pupa_ext2_close): Return PUPA_ERR_NONE.
49452
49453 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49454 Correct value.
49455 (struct linux_kernel_header): Add kernel_version and
49456 initrd_addr_max.
49457 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49458 pupa_file_read succeeds.
49459 (pupa_rescue_cmd_initrd): Implement.
49460
5aded270 494612003-12-03 Marco Gerards <metgerards@student.han.nl>
49462
49463 * fs/ext2.c (pupa_ext2_label): New function.
49464 (pupa_ext2_fs): Added label.
49465 * fs/fat.c (pupa_fat_label): New function.
49466 (pupa_fat_fs): Added label.
49467 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49468
49469 * kern/misc.c (pupa_strndup): New function.
49470 * include/pupa/misc.h (pupa_strndup): New prototype.
49471
49472 * include/pupa/normal.h: Include <pupa/err.h>.
49473 (pupa_set_history): New prototype.
49474 (pupa_iterate_commands): New prototype.
49475 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49476 <pupa/disk.h>, <pupa/file.h>.
49477 (hist_size): New variable.
49478 (hist_lines): Likewise.
49479 (hist_end): Likewise.
49480 (hist_used): Likewise.
49481 (pupa_set_history): New function.
49482 (pupa_history_get): Likewise.
49483 (pupa_history_add): Likewise.
49484 (pupa_history_replace): Likewise.
49485 (pupa_tab_complete): Likewise.
49486 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49487 completion shows partitionnames while completing partitions, this
49488 feature was suggested by Jeff Bailey.
49489 * normal/command.c (pupa_iterate_commands): New function.
49490 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49491 (pupa_normal_init): Initialize history buffer.
49492 (PUPA_MOD_INIT): Likewise.
49493 (pupa_normal_fini): Free the history buffer.
49494 (PUPA_MOD_FINI): Likewise.
49495
49496 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49497 key.
49498
49499 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49500 * configure.ac [i386]: Check for regparam bug.
49501 (NESTED_FUNC_ATTR) [! i386]: Defined.
49502
1f7315a3 495032003-11-17 Marco Gerards <metgerards@student.han.nl>
49504
49505 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49506 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49507 (pupa_emu_SOURCES): New variable.
49508 (pupa_emu_LDFLAGS): Likewise.
49509 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49510 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49511 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49512 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49513 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49514 (pupa_jmp_buf): New typedef.
49515 (pupa_setjmp) [PUPA_UTIL]: New macro.
49516 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49517 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49518 (pupa_refresh): New prototype.
49519 * include/pupa/util/getroot.h: New file.
49520 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49521 it.
49522 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49523 (pupa_rescue_cmd_cat): Likewise.
49524 (pupa_rescue_cmd_ls): Likewise.
49525 (pupa_rescue_cmd_testload): Likewise.
49526 (pupa_rescue_cmd_lsmod): Likewise.
49527 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49528 * normal/menu.c (run_menu): Likewise.
49529 * kern/term.c (pupa_cls): Likewise.
49530 (pupa_refresh): New function.
49531 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49532 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49533 * util/console.c: New file.
f19dbdb7 49534
1f7315a3 49535 * util/i386/pc/getroot.c: New file.
49536 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49537 (pupa_putchar): New function.
49538 (pupa_refresh): Likewise.
49539 (xgetcwd): Function moved to ...
49540 (strip_extra_slashes): Likewise.
49541 (get_prefix): Likewise.
f19dbdb7 49542 * util/i386/pc/getroot.c: ... here.
1f7315a3 49543 (find_root_device): Function moved and renamed to...
49544 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49545 Changed all callers.
49546 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49547 and renamed to...
49548 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49549 Changed all callers.
49550 * util/misc.c (pupa_memalign): New function.
49551 (pupa_mm_init_region): Likewise.
49552 (pupa_register_exported_symbols): Likewise.
49553 (pupa_putchar): Function removed.
49554 * util/pupa-emu.c: New file.
49555
9a5c1ade 495562003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49557
49558 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49559 (_multiboot_mod_SOURCES): New variable.
49560 (_multiboot_mod_CFLAGS): Likewise.
49561 * loader/i386/pc/multiboot.c: New file.
49562 * include/pupa/i386/pc/multiboot.h: Likewise.
49563 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49564 (pupa_multiboot_real_boot): New function.
49565 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49566 (pupa_multiboot_real_boot): New prototype.
49567 (pupa_rescue_cmd_multiboot): Likewise
49568 (pupa_rescue_cmd_module): Likewise.
49569
49570 * kern/loader.c (pupa_loader_set): Continue when
49571 pupa_loader_unload_func() fails.
49572 (pupa_loader_unset): New function.
49573 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49574
49575 * kern/misc.c (pupa_stpcpy): New function.
49576 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49577
8e72a9c0 495782003-11-12 Marco Gerards <metgerards@student.han.nl>
49579
49580 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49581 for available extensions.
49582
49583 * include/pupa/i386/pc/time.h: New file.
49584 * kern/disk.c: Include <pupa/machine/time.h>.
49585 (PUPA_CACHE_TIMEOUT): New macro.
49586 (pupa_last_time): New variable.
49587 (pupa_disk_open): Flush the cache when there was a timeout.
49588 (pupa_disk_close): Reset the timer.
49589 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49590 pupa_currticks.
49591 * util/misc.c: Include <sys/times.h>
49592 (pupa_get_rtc): New function.
49593
c4adbd32 495942003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49595
49596 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49597 as blocks.
49598 (pupa_ext2_get_file_block): Use blocks member.
49599
49600 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49601 first block. Return -1 instead of pupa_errno on error.
49602
bfd30f06 496032003-10-27 Marco Gerards <metgerards@student.han.nl>
49604
49605 * README: In the pupa-mkimage example use _chain instead of chain
49606 and ext2 instead of fat.
49607 * TODO: Replace ext2fs with jfs as an example. Add an item for
49608 adding journal playback for ext2fs.
49609 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49610 (pkgdata_MODULES): Added ext2.mod.
49611 (ext2_mod_SOURCES): New variable.
49612 (ext2_mod_CFLAGS): Likewise.
49613 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49614 * include/pupa/misc.h (pupa_strncpy): New prototype.
49615 (pupa_strcat): Likewise.
49616 (pupa_strncmp): Likewise.
49617 * kern/misc.c (pupa_strcat): Enable function.
49618 (pupa_strncpy): New function.
49619 (pupa_strncmp): Likewise.
49620 * fs/ext2.c: New file.
f19dbdb7 49621
bfd30f06 49622 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49623 when the read failed before retrying.
49624 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49625 (_FILE_OFFSET_BITS): Likewise.
49626 * configure.ac: Added AC_SYS_LARGEFILE.
49627
98d15063 496282003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49629
49630 * genmk.rb (PModule#rule): Make sure to get only symbol names
49631 from the output of nm.
59cad637 49632 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 49633
18d9c7cd 496342003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49635
49636 I forgot to check in these changes for a long time. This adds
49637 incomplete support for VGA console, and this is still very
49638 buggy. Also, a lot of consideration is required for I18N,
49639 UNICODE, and VGA font issues. Therefore, assume that this is
49640 such that "better than nothing".
f19dbdb7 49641
18d9c7cd 49642 * font/manager.c: New file.
49643 * include/pupa/font.h: Likewise.
49644 * include/pupa/i386/pc/vga.h: Likewise.
49645 * term/i386/pc/vga.c: Likewise.
49646 * util/unifont2pff.rb: Likewise.
49647
49648 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49649 (pkgdata_MODULES): Added vga.mod and font.mod.
49650 (vga_mod_SOURCES): New variables.
49651 (vga_mod_CFLAGS): Likewise.
49652 (font_mod_SOURCES): Likewise.
49653 (font_mod_CFLAGS): Likewise.
49654
49655 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49656
49657 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 49658 (struct pupa_term): Added init and fini.
18d9c7cd 49659 Changed the argument of putchar to pupa_uint32_t.
49660
49661 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49662 (pupa_console_real_putchar): New prototype.
49663 (pupa_console_putchar): Removed.
49664 (pupa_console_checkkey): Exported.
49665 (pupa_console_getkey): Likewise.
49666
49667 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49668 characters.
49669
49670 * kern/term.c (pupa_term_set_current): Rewritten.
49671 (pupa_putchar): Likewise.
49672 (pupa_putcode): New function.
49673
49674 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49675 (pupa_console_real_putchar): ... this.
49676 (pupa_vga_set_mode): New function.
49677 (pupa_vga_get_font): Likewise.
49678
49679 * normal/command.c: Include pupa/term.h.
49680 (terminal_command): New function.
49681 (pupa_command_init): Register the command "terminal".
49682
49683 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49684 (DISP_UP): Likewise.
49685 (DISP_RIGHT): Likewise.
49686 (DISP_DOWN): Likewise.
49687 (DISP_HLINE): Likewise.
49688 (DISP_VLINE): Likewise.
49689 (DISP_UL): Likewise.
49690 (DISP_UR): Likewise.
49691 (DISP_LL): Likewise.
49692 (DISP_LR): Likewise.
49693
49694 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49695
977329f5 496962003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49697
49698 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49699 FIX. Reverse the path_list.
49700
49701 * include/pupa/normal.h: Export pupa_register_command and
49702 pupa_unregister_command.
49703
49704 * hello/hello.c (pupa_cmd_hello): New module.
49705 * conf/i386-pc.rmk: Added hello.mod.
49706
1f5ab428 497072003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49708
49709 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49710
1f5ab428 49711 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49712 (compress_kernel): New variable.
49713 (generate_image): Heavily modified to support compressing a
49714 large part of the core image.
49715
49716 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49717 leak.
49718 (pupa_util_load_image): New function.
49719
49720 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49721 (pupa_compressed_size): New variable.
49722 (codestart): Enable Gate A20 here.
49723 Decompress the compressed part of the core image.
49724 Rearrange the code to put functions and variables which are
49725 required for initialization in the non-compressed part.
49726 Include lzo1x.S.
49727
49728 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49729 here.
49730
49731 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49732
f19dbdb7 49733 * include/pupa/i386/pc/kernel.h
1f5ab428 49734 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49735 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49736 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49737 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49738 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49739
49740 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49741
49742 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49743 (Utility#rule): Likewise.
49744
49745 * configure.ac: Check if LZO is available.
49746
ce5bf700 497472003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49748
49749 * include/pupa/normal.h: New file.
49750 * include/pupa/setjmp.h: Likewise.
49751 * include/pupa/i386/setjmp.h: Likewise.
49752 * normal/cmdline.c: Likewise.
49753 * normal/command.c: Likewise.
49754 * normal/main.c: Likewise.
49755 * normal/menu.c: Likewise.
49756 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49757
ce5bf700 49758 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49759 (pupa_rescue_cmd_initrd): Likewise.
49760
49761 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49762 Likewise.
49763
49764 * kern/i386/pc/startup.S (translation_table): New variable.
49765 (translate_keycode): New function.
49766 (pupa_console_getkey): Call translate_keycode.
49767
49768 * kern/rescue.c (attempt_normal_mode): New function.
49769 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49770 it failed, print a message.
49771
49772 * kern/mm.c (pupa_real_malloc): Print more information when a
49773 free magic is broken.
49774 (pupa_free): If the first free header is not free actually, set
49775 it to P.
49776
49777 * kern/main.c (pupa_load_normal_mode): Just load the module
49778 "normal".
49779 (pupa_main): Don't print the message
49780 "Entering into rescue mode..." here.
49781
49782 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49783 Declared.
49784 (pupa_rescue_cmd_initrd): Likewise.
49785 (pupa_rescue_cmd_initrd): Likewise.
49786
49787 * include/pupa/symbol.h (FUNCTION): Specify the type.
49788 (VARIABLE): Likewise.
49789
49790 * include/pupa/err.h (pupa_err_t): Added
49791 PUPA_ERR_UNKNOWN_COMMAND.
49792
49793 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49794 (pupa_dl_get_prefix): Likewise.
49795
49796 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49797 Added _chain.mod and _linux.mod instead of chain.mod and
49798 linux.mod.
49799 (chain_mod_SOURCES): Renamed to ...
49800 (_chain_mod_SOURCES): ... this.
49801 (chain_mod_CFLAGS): Renamed to ...
49802 (_chain_mod_CFLAGS): ... this.
49803 (linux_mod_SOURCES): Renamed to ...
49804 (_linux_mod_SOURCES): ... this.
49805 (linux_mod_CFLAGS): Renamed to ...
49806 (_linux_mod_CFLAGS): ... this.
49807 (normal_mod_SOURCES): New variable.
49808 (normal_mod_CFLAGS): Likewise.
49809 (normal_mod_ASFLAGS): Likewise.
49810
498112003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49812
49813 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49814 possible.
49815
fe6b695a 49816 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49817 recursively.
49818 (pupa_dl_unref): Unrefer depending modules recursively.
49819 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49820 a module is unloaded before one depending on that module is
49821 unloaded.
49822 (pupa_dl_unload): Unload depending modules explicitly,
49823 if possible.
49824
c04da074 498252003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49826
49827 * include/pupa/i386/pc/linux.h: New file.
49828 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49829
c04da074 49830 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49831 Removed.
49832 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49833 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49834 of PUPA_CHAINLOADER_BOOT_SECTOR.
49835
49836 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49837 (pupa_linux_prot_size): New variable.
49838 (pupa_linux_tmp_addr): Likewise.
49839 (pupa_linux_real_addr): Likewise.
49840 (pupa_linux_boot_zimage): New function.
49841 (pupa_linux_boot_bzimage): Likewise.
49842
49843 * kern/i386/pc/init.c (struct mem_region): New structure.
49844 (MAX_REGIONS): New macro.
49845 (mem_regions): New variable.
49846 (num_regions): Likewise.
49847 (pupa_os_area_addr): Likewise.
49848 (pupa_os_area_size): Likewise.
49849 (pupa_lower_mem): Likewise.
49850 (pupa_upper_mem): Likewise.
49851 (add_mem_region): New function.
49852 (compact_mem_regions): Likewise.
49853 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49854 the size of the conventional memory and that of so-called upper
49855 memory (before the first memory hole).
49856 Instead of adding each found region to free memory, use
49857 add_mem_region and add them after removing overlaps.
49858 Also, add only 1/4 of the upper memory to free memory. The rest
49859 is used for loading OS images. Maybe this is ad hoc, but this
49860 makes it much easier to relocate OS images when booting.
49861
49862 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49863 (pupa_enter_rescue_mode): Don't register initrd and module.
49864
49865 * kern/mm.c: Include pupa/dl.h.
49866
49867 * kern/main.c: Include pupa/file.h and pupa/device.h.
49868
49869 * kern/loader.c (pupa_loader_load_module_func): Removed.
49870 (pupa_loader_load_module): Likewise.
49871
49872 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49873 ``.o''.
49874
49875 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49876 (pupa_linux_tmp_addr): Likewise.
49877 (pupa_linux_real_addr): Likewise.
49878 (pupa_linux_boot_zimage): Likewise.
49879 (pupa_linux_boot_bzimage): Likewise.
49880
49881 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49882 (pupa_upper_mem): Likewise.
49883 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49884 module is too dangerous.
49885
49886 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49887 (pupa_os_area_size): Likewise.
49888 (pupa_loader_set): Remove the first argument. Loader doesn't
49889 manage modules or initrd any longer.
49890 (pupa_loader_load_module): Removed.
49891
49892 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49893 (linux_mod_SOURCES): New variable.
49894 (linux_mod_CFLAGS): Likewise.
49895
a13f9237 498962003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49897
49898 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49899 the length of a blocklist correctly.
49900
49901 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49902 Use ioctl only if the OS file is a block device.
49903 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49904 not very useful for normal files.
49905
49906 * kern/main.c (pupa_set_root_dev): New function.
49907 (pupa_load_normal_mode): Likewise.
49908 (pupa_main): Call those above.
49909
49910 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49911 pupa_uint16_t.
49912
49913 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49914
a5ffe966 499152003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49916
49917 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49918 (setup): Configure the installed partition information and the
49919 dl prefix.
49920
49921 * loader/i386/pc/chainloader.c (my_mod): New variable.
49922 (pupa_chainloader_unload): New function.
49923 (pupa_rescue_cmd_chainloader): Refer itself.
49924 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49925
49926 * kern/i386/pc/startup.S (install_partition): Removed.
49927 (version_string): Likewise.
49928 (config_file): Likewise.
49929 (pupa_install_dos_part): New variable.
49930 (pupa_install_bsd_part): Likewise.
49931 (pupa_prefix): Likewise.
49932 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49933
49934 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49935 and pupa/misc.h.
49936 (make_install_device): New function.
49937 (pupa_machine_init): Set the dl prefix.
49938
49939 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49940 (buf): Renamed to ...
49941 (linebuf): ... this.
49942 (pupa_rescue_cmd_prefix): New function.
49943 (pupa_rescue_cmd_insmod): Likewise.
49944 (pupa_rescue_cmd_rmmod): Likewise.
49945 (pupa_rescue_cmd_lsmod): Likewise.
49946 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49947 rmmod and lsmod.
49948
49949 * kern/mm.c (pupa_memalign): If failed even after invalidating
49950 disk caches, unload unneeded modules and retry.
49951
49952 * kern/misc.c (pupa_memmove): New function.
49953 (pupa_memcpy): Removed.
49954 (pupa_strcpy): New function.
49955 (pupa_itoa): Made static.
49956
49957 * kern/dl.c (pupa_dl_iterate): New function.
49958 (pupa_dl_ref): Likewise.
49959 (pupa_dl_unref): Likewise.
49960 (pupa_dl_unload): Return if succeeded or not.
49961 (pupa_dl_unload_unneeded): New function.
49962 (pupa_dl_unload_all): Likewise.
49963 (pupa_dl_init): Renamed to ...
49964 (pupa_dl_set_prefix): ... this.
49965 (pupa_dl_get_prefix): New function.
49966
49967 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49968 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49969 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49970 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49971 (pupa_install_dos_part): Declared.
49972 (pupa_install_bsd_part): Likewise.
49973 (pupa_prefix): Likewise.
49974 (pupa_boot_drive): Likewise.
49975
49976 * include/pupa/types.h: Fix a typo.
49977
49978 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49979 pupa_memmove.
49980 (pupa_memmove): Declared.
49981 (pupa_strcpy): Likewise.
49982
49983 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49984 pupa_mod_init takes one argument, its own module.
49985 (pupa_dl_unload_unneeded): Declared.
49986 (pupa_dl_unload_all): Likewise.
49987 (pupa_dl_ref): Likewise.
49988 (pupa_dl_unref): Likewise.
49989 (pupa_dl_iterate): Likewise.
49990 (pupa_dl_init): Renamed to ...
49991 (pupa_dl_set_prefix): ... this.
49992 (pupa_dl_get_prefix): Declared.
49993
49994 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 49995 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 49996 unloaded.
49997 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49998 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49999
50000 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50001 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50002
012d7999 500032003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50004
50005 * util/i386/pc/pupa-setup.c (setup): Define the internal
50006 function find_first_partition_start at the top level, because GCC
50007 3.0.x cannot compile internal functions in deeper scopes
50008 correctly.
50009 (find_root_device): Use lstat instead of stat.
50010 Don't follow symbolic links.
50011 Fix the path-constructing code.
50012
50013 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50014 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50015 by a BLKGETSIZE ioctl first, because block devices don't fill
50016 the member st_mode of the structure stat on Linux.
50017 [__linux__] (linux_find_partition): Use a temporary buffer
50018 REAL_DEV for the working space. Copy it to DEV before returning.
50019 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50020 buffer cache consistent.
50021 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50022 strncmp. The previous value was merely wrong.
50023 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50024
50025 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50026 FAT size is 12. The previous value was merely wrong.
50027
50028 * kern/main.c (pupa_main): Don't split the starting message from
50029 newlines.
50030
50031 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50032 LF, because BIOS goes crazy about character attributes in this
50033 case.
50034
1cc73a62 500352003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50036
50037 * include/i386/pc/util/biosdisk.h: New file.
50038 * util/i386/pc/biosdisk.c: Likewise.
50039 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50040
1cc73a62 50041 * Makefile.in (INCLUDE_DISTFILES): Added
50042 include/pupa/i386/pc/util/biosdisk.h.
50043 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50044 directory util/i386/pc.
50045 (install-local): Added a rule for sbin_UTILITIES.
50046 (uninstall): Likewise.
50047
50048 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50049
50050 * util/misc.c (xrealloc): New function.
50051 (pupa_malloc): Likewise.
50052 (pupa_free): Likewise.
50053 (pupa_realloc): Likewise.
50054 (pupa_stop): Likewise.
50055 (pupa_putchar): Likewise.
50056
50057 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50058
50059 * include/pupa/util/misc.h (xrealloc): Declared.
50060
50061 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50062 macro.
50063 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50064 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50065
50066 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50067 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50068
50069 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50070 way should be implemented.
50071 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50072
50073 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50074 the size of NAME for safety.
50075 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50076 0x88.
50077
50078 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50079 (pupa_setup_SOURCES): Likewise.
50080
50081 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50082
08b70fe8 500832002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50084
50085 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50086 bunch of pushl's from pusha, because this destroys the return
50087 value.
50088
62ddcc8f 500892002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50090
50091 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50092 This means that any missing prototypes could be fatal. Also, you
50093 must take care when writing assembly code. See the comments at
50094 the beginning of startup.S, for more details.
f19dbdb7 50095
62ddcc8f 50096 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50097 compilation mechanism.
50098 (pupa_chainloader_real_boot): Likewise.
50099 (pupa_biosdisk_rw_int13_extensions): Likewise.
50100 (pupa_biosdisk_rw_standard): Likewise.
50101 (pupa_biosdisk_check_int13_extensions): Likewise.
50102 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50103 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50104 (pupa_get_memsize): Likewise.
50105 (pupa_get_mmap_entry): Likewise.
50106 (pupa_console_putchar): Likewise.
50107 (pupa_console_setcursor): Likewise.
50108 (pupa_getrtsecs): Use pushl instead of push.
50109
50110 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50111 memory instead of the stack for a mmap entry, because some
50112 BIOSes may ignore the maximum size and overflow.
50113
50114 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50115
50116 * genmk.rb (PModule#rule): Compile automatically generated
50117 sources with module-specific CFLAGS as well as other sources.
50118
9962ed99 501192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50120
50121 * configure.ac: Check ld.
50122 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50123 respectively, before checking endianness and sizes.
50124
50125 * Makefile.in (LD): New variable.
f19dbdb7 50126
abdfc3c5 501272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50128
50129 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50130
6a161fa9 501312002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50132
50133 * Changelog: New file.
50134