]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
[grub2.git] / ChangeLog
CommitLineData
d999ac72
VT
12013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2
3 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4 to eliminate artefacts in bilinear interpolation.
5
2b131610
VS
62013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/video/readers/tga.c: Support paletted tga.
9
de6e5ff8
VS
102013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
13 incorrect cbcr setting when in color mode.
14
fa31ee9c
VS
152013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/video/readers/png.c: Support paletted images and clean up
18 greyscale support.
19
e84f8188
VS
202013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
23 usage of wrong table which resulted in mishandling of 4-byte
24 sequences.
25
262013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
27
28 * grub-core/term/terminfo.c: Add Home and End key sequences.
29
d72bff09
VS
302013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/video/readers/png.c (grub_png_decode_image_header):
33 Fix formula for computing total number of bytes.
34
29648c5d
VS
352013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
38 image processing, fix big-endian and support grayscale.
39
4a876492
VS
402013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
43 Correctly will with maximum transparency when using index color.
44
3ccf16df
VS
452013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/video/readers/png.c: Support grayscale
48
492013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
50
51 * grub-core/video/readers/jpeg.c: Support grayscale.
52
3ccf16df 532013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
54
55 * grub-core/commands/loadenv.c: Support skipping signature check
56 and variable names filtering.
57
30b7f58f
VS
582013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
61 * grub-core/kern/emu/hostfs.c: Likewise.
62 * util/getroot_unix.c: Likewise.
63
bab7b1eb
VS
642013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
67 Migrate all explicit defines to this new one.
68
43b1c99d
VS
692013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
72 grub_util_fd_strerror when using grub_util_fd_*.
73 (grub_util_fd_open_device): Likewise.
74 (grub_util_biosdisk_read): Likewise.
75 (grub_util_biosdisk_write): Likewise.
76 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
77 (grub_util_fd_strerror): Likewise.
78 (grub_util_fd_sync): Likewise.
79 (grub_util_fd_close): Likewise.
80 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
81 (grub_util_fd_close): Likewise.
82 (grub_util_fd_strerror): Likewise.
83 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
84 function proto rather than macro.
85 (grub_util_fd_sync): Likewise.
86 (grub_util_fd_open): Likewise.
87 (grub_util_fd_strerror): New proto.
88
e8fd80bc
VS
892013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
92 platforms on which it doesn't work.
93
bf645fda
VS
942013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
97 stat immediately to where it's used.
98
5177ba14
VS
992013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * util/getroot.c (grub_util_check_block_device): Move to ...
102 * util/getroot_unix.c (grub_util_check_block_device): ... here.
103 * util/getroot.c (grub_util_check_char_device): Move to ...
104 * util/getroot_unix.c (grub_util_check_char_device): ... here.
105
9db826e1
VS
1062013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
109 disk closing logic.
110
49120085
AB
1112013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
112
113 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
114
b3328b68
AB
1152013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
116
117 * docs/grub.texi (File name syntax): Document ZFS filenames
118 (/volume@snapshot/...).
119
3fff48ab
VS
1202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
123 Always return full path. Fixes a problem with mkrelpath.
124
39cfdaa9
PFS
1252013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
126
127 * util/grub-install.in: Add GPT PReP support.
128 * util/grub-probe.c (probe): Support GPT partition type.
129 (main): Support -t gpt_parttype.
130
7c680e1f 1312013-09-23 Aleš Nesrsta <starous@volny.cz>
132
133 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
134
890bdabe
MM
1352013-09-23 Massimo Maggi <me@massimo-maggi.eu>
136
137 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
138
9c262ff9
TH
1392013-09-23 Tim Hardeck <thardeck>
140
141 * util/grub.d/10_hurd.in: Filter out character for the class.
142 * util/grub.d/10_kfreebsd.in: Likewise.
143 * util/grub.d/10_linux.in: Likewise.
144 * util/grub.d/20_linux_xen.in: Likewise.
145
d755342a
MC
1462013-09-23 Melki Christian <Christian.melki@saabgroup.com>
147
148 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
149 "changed".
150
68b77707
JT
1512013-09-23 Josh Triplett <josh@joshtriplett.org>
152
153 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
154 boot partition.
155
efa68bfa
VS
1562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
159 doesn't use posix_wrap. Keep literal -fno-builtin however.
160
d9104204
VS
1612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
164
c248781a 1652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1662013-09-23 neil
167
5830df88 168 * configure.ac: Do not enable -Wmissing-noreturn as its
169 usefulness is limited and creates problems on some OS notably with
170 code generated by bison.
171
1722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1732013-09-23 neil
174
175 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 176 supported by all gcc and when it is, it's already enabled by -Wall.
177
621bed69
VS
1782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
181 desactivated use of EDID at all.
182
71764dc8 1832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1842013-09-23 neil
185
186 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
187 video if no text is available.
188
affce7d4 1892013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
1902013-09-23 neil
191
192 * configure.ac: Substitute TARGET_RANLIB.
193
1942013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1952013-09-23 neil
affce7d4
VS
196
197 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
198
199 Based on patches from AROS.
200
0e8daad0 2012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 2022013-09-23 neil
0e8daad0
VS
203
204 * grub-core/Makefile.am: Override STRIP and RANLIB.
205 * configure.ac: compute TARGET_RANLIB.
206 * INSTALL: Document TARGET_RANLIB
207
208 Based on patches from AROS.
209
3f7d9c82
VS
2102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
213 that floppies are unpartitioned.
214
bca8873a
VS
2152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
218 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
219
2202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
223 less nice but more portable.
224 * grub-core/lib/posix_wrap/wchar.h: Likewise.
225
a47a78be
VS
2262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
229 for cheat_fd.
230 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
231 functions.
232 (grub_cryptodisk_cheat_insert): Likewise.
233 (grub_cryptodisk_close): Likewise.
234
e85a5d5c
VS
2352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
238 Use windows path for DEFAULT_DIRECTORY.
239
dad9fa6b
VS
2402013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
243 difference was likely just gcc version, not anything mingw-related.
244
7e518ca8
VS
2452013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
246
247 Use Winapi on both cygwin and mingw32 to share more code between both.
248
d68d0157
AB
2492013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
250
251 * util/grub-install.in: Add --grub-editenv option.
252 * util/grub-install_header (grub_compress_file): Explicitly check for
253 plain file to avoid cp error.
254
775b284d
AB
2552013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
256
257 * docs/grub.texi (Device syntax): Document new LVM UUID based device
258 names; fix LVM driver name (lvm, not lv).
259 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
260 names.
261
3ff4063d
VS
2622013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
265 files rather than one file with loads of #if's.
266 * util/getroot.c: Likewise.
267
287faafe
VS
2682013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
271
d1983764
VS
2722013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
275 GNU/Hurd to the list of checked PRNG.
276
15ce95c4
VS
2772013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * configure.ac: On FreeBSD use -melf_*_fbsd format.
280
207862dd 2812013-09-21 Ales Nesrsta <starous@volny.cz>
282
7c680e1f 283 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 284
63653cfd
VS
2852013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
288 * grub-core/disk/lvm.c: Add LVM UUIDs.
289 * util/getroot.c: Use LVM UUIDs whenever possible.
290
f5d3e7ef
AB
2912013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
292
293 * docs/grub.texi (Networking commands): Add documentation for
294 network related commands.
295
53c6b7d6
VS
2962013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * util/getroot.c (grub_util_open_dm): Check major rather than the name
299 to determine if device is handled by devmapper.
300 (convert_system_partition_to_system_disk): Likewise.
301 (get_dm_uuid): Don't check explicitly if device is mapped, it's
302 already done in grub_util_open_dm.
303
e70d6736
LL
3042013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
305
306 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
307 Clean up stack manipulation (sync_caches_armv*)
308
90379808
VS
3092013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * util/lvm.c: Remove since unused. Remove remaining references.
312
386701a8
VS
3132013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
314
315 Handle the case of partitioned LVM properly.
316
317 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
318 Stop on meeting LVM, mpath or DMRAID.
319 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
320 (read_device_map): Likewise.
321 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
322 device is full disk rather than erroring out on LVM and similar cases.
323
53070787
VS
3242013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
327
1bc783bd
VS
3282013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
331 4K before the end.
332 Reported by: Leif Lindholm
333
436ad5c3
PW
3342013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
3352013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
338 codes.
339
607319c9
CW
3402013-09-18 Colin Watson <cjwatson@ubuntu.com>
341
342 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
343 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
344
d404d154
DR
3452013-09-18 Douglas Ray <dougray@cpan.org>
346
347 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
348 as secure.
349
28851ef6
AN
3502013-09-18 Aleš Nesrsta <starous@volny.cz>
351
352 * docs/grub.texi: Fix broken link.
353
897c3bc6
MC
3542013-09-18 Melki Christian <Christian.melki@saabgroup.com>
355
356 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
357 to break endless loop.
358
f1630459
VS
3592013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * util/grub-fstest.c: Fix several printf formats.
362 * util/grub-mkimage.c: Likewise.
363 * util/grub-mkimagexx.c: Likewise.
364 * util/grub-script-check.c: Likewise.
365
64463dfd
VS
3662013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
369 error.
370
48972495
VS
3712013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
374
5dd5e64b
VS
3752013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
378 removed in current versions cygwin_conv_*.
379
1c1f31e5
VS
3802013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * configure.ac: Disable efiemu runtime on cygwin.
383
c546a259
VS
3842013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
387 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
388
81690478
VS
3892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
392 error message.
393
6b87c10a
VS
3942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
397 windows variant.
398 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
399 data.
400
8f0baaac
VS
4012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
404 when on x86 and not cygwin.
405 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
406 -Wl,-melf_x86_64.
407
b224c266
VS
4082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * configure.ac: Set CPP to build one when checkoing for freetype for
411 build.
412
506b336b
VS
4132013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
416 [!GRUB_BUILD]: Remove has_argument.
417
8c8c87b7
VS
4182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
421 Replace with a dummy.
422
7dc5ca13
VS
4232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * configure.ac: Don't change host_os from mingw to cygwin.
426
c3302aa5
VS
4272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * configure.ac: Change target_os from windows to cygwin.
430
7b780018
VS
4312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
432
433 Handle grub-pe2elf and grub-mkfont for cases when build != host.
434
435 * Makefile.am (build-grub-mkfont): Don't include gnulib.
436 (build-grub-gen-asciih): Likewise.
437 (build-grub-gen-widthspec): Likewise.
438 * Makefile.util.def (grub-pe2elf): Remove.
439 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
440 * configure.ac: Separate tests for build.
441 Move ./build-grub-pe2elf to grub-core.
442 Fix typo.
443 * grub-core/Makefile.am (build-grub-pe2elf): New target.
444 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
445 defined.
446 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
447 constants.
448 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
449 * util/grub-pe2elf.c: Simplify not to rely on getopt.
450 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
451
984cfd8a
VS
4522013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
455 mingw32 as well based on grub_util_get_disk_size.
456 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
457 grub_util_get_fd_size.
458 (sync): Removed.
459 (fsync): Moved to ...
460 * grub-core/kern/emu/misc.c (fsync): ... here.
461
f82d79c9
VS
4622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * include/grub/mm.h (grub_extend_alloc): Remove.
465 * grub-core/loader/i386/pc/plan9.c: Use own version of
466 grub_extend_alloc with appropriate types.
467
fd7dd66d
VS
4682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
471
43ffba7c
VS
4722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * util/getroot.c: Include sys/wait.h only when we need waitpid.
475
3c7eac44
VS
4762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Fix dependencies on cygwin.
479
480 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
481 dependencies when used and defined.
482 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
483
bdb5ba47
VS
4842013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
487 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
488
ed7fbf43
VS
4892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
492 implementation available to cause compile-time rather than runtime
493 error.
494
fc46e9fc
VS
4952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * util/grub-fstest.c: Don't check for symlinks on windows.
498
7f68269a
VS
4992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * INSTALL: Mention unavailability of man pages when cross-compiling.
502
8ed358e0
VS
5032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
506 and gcry_log_bug.
507 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
508
fc97214f
VS
5092013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * INSTALL: Document cross-compilation.
512 * acinclude.m4: Determine whether nm support -P and --defined-only.
513 * configure.ac: Add TARGET_ to all variables pertaining to target
514 that don't have it yet.
515 * gentpl.py: Likewise.
516 * grub-core/Makefile.am: Likewise.
517 * grub-core/genmod.sh.in: Likewise.
518 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
519 as well.
520
ca1fb563
IB
5212013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
522
523 * configure.ac: Remove -Wempty-body. It's not essential and needs
524 recent gcc.
525
0031b229
IB
5262013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
527
528 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
529 * util/getroot.c: Likewise.
530
54ea2f44
VS
5312013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/disk/ahci.c: Add needed explicit cast.
534 * grub-core/lib/backtrace.c: Likewise.
535 * grub-core/net/ip.c: Likewise.
536 * grub-core/net/tcp.c: Likewise.
537 * grub-core/net/udp.c: Likewise.
538
3c601f8c
VS
5392013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
542
1d679dda
VS
5432013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * util/import_gcry.py: Add final newline in visibility.h.
546
00c28dd9
VS
5472013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * conf/Makefile.common: Fix typo.
550
32af299a
VS
5512013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
554
e733cf52
VS
5552013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * Makefile.am (widthspec.h): Fix typo.
558 * util/grub-gen-widthspec.c: Likewise.
559
c6b066f2
VS
5602013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Move ascii.h and widthspec.h generation to a separate build-time-only
563 tool.
564
ad1fe3f9 5652013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
566
567 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
568 Always fill bootdisk info and improve check for NetBSD disklabel.
569
92a52dd4
VS
5702013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * conf/Makefile.extra-dist: Add util/bin2h.c.
573 Reported by: floppym.
574
b2e9d276
VS
5752013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
578
7b966834
VS
5792013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * configure.ac: Disable unifont and starfield if no freetype was found.
582
d5c1eef1
VS
5832013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
586 on NetBSD and OpenBSD.
587
66345b50 5882013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
589
590 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
591
66345b50 5922013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
593
594 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
595 reduced. Inheritant options are processed during the theme loading.
596
66345b50 5972013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
598
599 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
600
369508b3
AS
6012013-08-14 Avik Sil <aviksil@in.ibm.com>
602
603 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
604
6052013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
606
607 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
608 using qemu.
609
6f27a3f6
PFS
6102013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
611
612 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
613 remove-potcdate.sed.
614
c6ed362a
AB
6152013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
616
617 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
618 unused attribute from pull argument.
619
5e7d9464
AB
6202013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
621
622 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
623 memory leak.
624
dea55e2a
AB
6252013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
626
627 * util/getroot.c (pull_lvm_by_command): add --separator option
628 to vgs call to disable padding of output to 10 characters.
629
f0b94ded
VS
6302013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
633 here ...
634 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
635 here.
636
b828fb5d
VS
6372013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
640 length.
641
7c9d0c39
VS
6422013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
643
644 Fix handling of build-time grub-bin2h and grub-mkfont when doing
645 full Canadian cross. Tested with build=x86_64, host=arm,
646 target=ppc-ieee1275.
647
816719c8
VS
6482013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * configure.ac: Error if no $BUILD_CC could be found.
651 Reported by: DevHC.
652
2af2353b
VS
6532013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
656 i386-multiboot.
657
797abd0a
VS
6582013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
661 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
662
36e87d25
CW
6632013-08-13 Colin Watson <cjwatson@ubuntu.com>
664
665 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
666 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
667 falling back to the partition device, otherwise a later call to this
668 function may fail spuriously.
669 Reported by Axel Beckert. Fixes Debian bug #708614.
670
273349fe
GS
6712013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
672
673 * autogen.sh: Replace find -not by the POSIX-compliant find !.
674
418f86c6
GS
6752013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
676
677 Prevent shadowing of stdlib's devname(3) on BSD.
678
679 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
680 and devlast to diskname and disklast, respectively.
681
c137aea0
CW
6822013-08-11 Colin Watson <cjwatson@ubuntu.com>
683
684 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
685
272dc8df 6862013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
687
688 * docs/grub.texi: Introduce terminal window position options:
689 terminal-left: terminal window's left position
690 terminal-top: terminal window's top position
691 terminal-width: terminal window's width
692 terminal-height: terminal window's height
693 terminal-border: terminal window's border width
694 * grub-core/gfxmenu/theme-loader.c: Likewise.
695 * include/grub/gfxmenu_view.h: Likewise.
696 * po/exlude.pot: Likewise.
697 * grub-core/gfxmenu/view.c: Likewise.
698 Also updated minimal window size.
699 Also terminal_sanity_check function has been introduced.
272dc8df
VT
700 * grub-core/tests/checksums.h: Update (terminal window height
701 is adjusted now for low resolution screen)
b4743461 702
748a4533
VS
7032013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
706 position).
707
fca5f944
VS
7082013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * po/exclude.pot: Add few recent exceptions.
711
4f47d809
VS
7122013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * tests/grub_func_test.in: Add unicode.pf2.
715
a62ae90c
VS
7162013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
719 standard rather than noral color, in line with other terminals.
720
4ed41392
VS
7212013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
724 analysis.
725
3719fbc5
VS
7262013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * grub-core/loader/arm/linux.c: Change printf to dprintf.
729
459b1d91
VS
7302013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
733 inappropriate printf.
734
f4e1ab9d
AB
7352013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
736
737 * .bzrignore: Remove grub-core/lib/dtc-grub,
738 grub-core/Makefile.libfdt.def
739 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
740
fa471bfa
VS
7412013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * include/grub/video.h (grub_video_register): Keep double-linked as
744 well as single-linked invariants.
745 Reported by: qwertial.
746
d65be02b
VS
7472013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * grub-core/commands/nativedisk.c (get_uuid): Handle
750 GRUB_DISK_DEVICE_UBOOTDISK_ID.
751
ba8bc620
VT
7522013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
753
754 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
755 maximum of NW, N, NE heights instead of N's height and maximum of
756 NW, W, SW widths instead of W's width. (So the box will be always
757 correctly drawn)
758
4f0ad029
GS
7592013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
760
761 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
762 Fix misuse of variable count.
763
43d53b72
LL
7642013-07-18 Leif Lindholm <leif.lindholm@arm.com>
7652013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
7662013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 767
43d53b72
LL
768 New ports to arm-uboot and arm-efi.
769 Mostly by Leif Lindholm with some additions from
770 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 771
88f8d146
VS
7722013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
775 and not before.
776 Reported by: Leon Drugi.
777
3f42504c
VS
7782013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
781 Reported by: Paulo Flabiano Smorigo.
782
d110499b
VT
7832013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
784
785 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
786
a8674ad3
VT
7872013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
788
789 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
790
286fe4b3
VS
7912013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
794
1bd57aa3
VS
7952013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
798
7a87d69f
AB
7992013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
800
801 * grub-core/net/bootp.c: Export net_* variables.
802 * grub-core/net/net.c: Likewise.
803
b2182299
VS
8042013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
807
795b3dc0
VS
8082013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
811
68714c43
VS
8122013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
815
af211bab
VS
8162013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
819
0036f02d
MM
8202013-07-14 Massimo Maggi <me@massimo-maggi.eu>
821
822 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
823 <= 0.
824
6d0ddff3
MM
8252013-07-14 Massimo Maggi <me@massimo-maggi.eu>
826
827 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
828 functions.
829
038016f4
MM
8302013-07-14 Massimo Maggi <me@massimo-maggi.eu>
831
832 * grub-core/fs/zfs/zfs_lz4.c: New file.
833 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
834
776bdce2
MM
8352013-07-14 Massimo Maggi <me@massimo-maggi.eu>
836
837 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
838
c71dbd40
MM
8392013-07-14 Massimo Maggi <me@massimo-maggi.eu>
840
841 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
842 (check_pool_label): Likewise.
843 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
844
8452013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
846
847 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
848
8e67b50f
AB
8492013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
850
851 * docs/grub.texi (Commands): Document postition parameters
852 for menuentry command.
853
f5ae3717
AB
8542013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
855
856 * util/grub-mknetdir.in: Remove stray line from help output.
857
9c28da2a
VS
8582013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
859
860 Remove early sm712 init as there is no reason for it (the "watchdog"
861 effect was due to wrong GPIO map).
862
139072b8
VS
8632013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/commands/pcidump.c: Remove static variables.
866
c6a61bda
VS
8672013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/commands/sleep.c: Refresh screen before sleeping.
870
51369614
VS
8712013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * configure.ac: Move delimiter after the infos.
874
efa8640a
VS
8752013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
878
6f80a7b2
VS
8792013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
882 not filling whole 8x16 space.
883
a2371e19
VS
8842013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
887
64fce2d8
VS
8882013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * configure.ac: Indicate which liblzma is used if any.
891
eb272d84
PW
8922013-06-21 Paul Wise <pabs3@bonedaddy.net>
8932013-06-21 Craig Sanders <savannah@taz.net.au>
894
895 * util/grub-reboot.in: Document submenu usage.
896
a9e5abee
CW
8972013-06-25 Colin Watson <cjwatson@ubuntu.com>
898
899 * .bzrignore: Update with a number of new test-related files.
900
e639c204
CW
9012013-06-25 Colin Watson <cjwatson@ubuntu.com>
902
903 * util/grub-script-check.c: Fail on scripts containing no
904 commands, to guard against corrupted grub-mkconfig setups that
905 produce no useful output.
906 * tests/grub_script_no_commands.in: New test.
907 * Makefile.util.def (grub_script_no_commands): Add.
908 Reported by Hans Putter. Fixes Debian bug #713886.
909
a4c89b17
AB
9102013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
911
912 * grub-core/disk/diskfilter.c: Forgot to remove comment
913 from previous commit.
914
5b06b53c
AB
9152013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
916
917 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
918 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
919
702da5c9
AB
9202013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
921
922 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
923
aa62a5b7
AB
9242013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
925
926 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
927 rescan diskfilter devices until nothing new is found.
928
4aa237c8
VS
9292013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
930
931 Fix casts when compiling coreboot-specific code for 64-bit EFI.
932
93d8479b
VS
9332013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
934
935 Don't try to detect cbfs on *-emu.
936
837222cc
VS
9372013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/term/gfxterm.c: USe right background color when scrolling.
940
99c971af
VS
9412013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
942
943 Add support for processed coreboot payload chainloading.
944
e6930a45
VS
9452013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
946
947 Enable coreboot information commands even when not loaded as
948 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
949
5027af38
VS
9502013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
951
952 Support for cbfs. Also factor out the part which is common
953 for all archives to a separate module. This splits tar from cpio
954 as they are very different but keeps cpio, cpio_be, odc and newc
955 together since they're very similar.
956
a5b55c4b
DM
9572013-06-15 David Michael <fedora.dm0@gmail.com>
958
959 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
960 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
961
0301a8b3
VS
9622013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * tests/grub_script_eval.in: Really add the eval test.
965
3d84cb17
VS
9662013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Move flavour-specific parts out of common cpio.c file and
969 rename remaining to cpio_common.c
970
593e430c
AB
9712013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
972
973 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
974 off new function grub_script_execute_new_scope. Change callers to use
975 either of them as appropriate.
976 * grub-core/commands/eval.c: New command eval.
977 * docs/grub.texi (Commands): Document it.
978
63c29849
AB
9792013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
980
981 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
982 to fetch values when listing.
983
cc284112
AB
9842013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
985
986 Fix make dist on non-pc.
987
9882013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
989
990 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
991 without a device name.
992
69544d1e
VS
9932013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
994
995 Remove enable_executable_check as it's not needed anymore.
996 Reported by: dougray.
997
96dbe648
VS
9982013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1001 ambigouos RAID before discovering RAIDs on top of it.
1002 Reported by: bodom.
1003
ccfc0bdb
VS
10042013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 Fix typo (failback vs fallback).
1007
f2587088
AB
10082013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1009
1010 * util/grub.d/30_os-prober.in: Add support for probing EFI
1011 System Partition (as of os-prober 1.58).
1012
cec5cf0c
VS
10132013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * configure.ac: Add yet another path to unifont. For parabola.
1016
e40b4596
JT
10172013-05-30 Josh Triplett <josh@joshtriplett.org>
1018
1019 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1020 handling to copy the killed characters to the kill buffer as
1021 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1022 stored as char. Eliminates UCS4 truncation and corruption
1023 observed when killing characters with Ctrl-u and yanking them
1024 back with Ctrl-y.
1025
fc4c4fdd
VS
10262013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 Detach optional parts of gfxterm and integrate in with coreboot init.
1029
6570b205
VS
10302013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Move blit and fill dispatcher to appropriate files to decrease export
1033 and relocation overhead.
1034
b8323067
VS
10352013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1038 functions.
1039
3cc1878f
VS
10402013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/Makefile.am: Fix compilation problem with some
1043 automake versions.
1044
4b80e43c
VS
10452013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1048
57e0c20c
VS
10492013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1052 automake versions.
1053
4fd42c53
VS
10542013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1057 SSDT.
1058
1e908b34
RS
10592013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1060
1061 * grub-core/partmap/dfly.c: New partition map.
1062
1359e474
VS
10632013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1066 checking.
1067 Reported by: Francesco Lavra.
1068
17806392
AB
10692013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1070
1071 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1072 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1073 false conditions.
1074 * conf/Makefile.common: define dist_grubconf_DATA
1075
cdce14fa
VS
10762013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Progressively skip menu elements on small terminals rather
1079 than crashing.
1080
c8d6cc3c
VS
10812013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1084 to avoid losing last column.
1085
a73b31ce
VS
10862013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * po/exclude.pot: Add missing string "%C".
1089
1202c764
VS
10902013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1093 after the test.
1094
50268344
VS
10952013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * util/grub-install.in: Gettextize "Not found" message.
1098
62b15edf
VS
10992013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 Fix distfiles list.
1102 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1103
11042013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1105
1106 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1107 present.
1108 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1109
709ad61b
VS
11102013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1113
d128901a
VS
11142013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1117 attribute since structure is not necessarily aligned.
1118
34b22f5c
AB
11192013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1120
1121 * docs/grub.texi (Device syntax): Clarify description of network
1122 drives.
1123
0f7e980b
VS
11242013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1127 for vasprintf presence.
1128
30b03dc2
VS
11292013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * util/grub-install.in: Handle efibootmgr presence check.
1132 Reported by: Leif Lindholm.
1133
0dc11c08
VS
11342013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1137 new strings to translate.
1138
f8024c3f
VS
11392013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1142 yet another string (pun intended) to translate.
1143
b4c1da62
VS
11442013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * po/POTFILES-shell.in: Autogenerate it.
1147
0ef7478b
VS
11482013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1151
8200fa15
VS
11522013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1155 misnomer.
1156
091945b2
AB
11572013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1158
1159 * docs/grub.texi (Network): Add description of net_default_interface,
1160 net_default_ip and net_default_mac. Rewrite variables description
1161 to emphasize that they are per-interface.
1162
0e7b2e32
VS
11632013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 New test: cmdline and cat.
1166
16f7c8f6
VS
11672013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/commands/cat.c: Show UTF-8 characters.
1170
3e912fda
VS
11712013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * conf/Makefile.common: Poison float and double on non-emu.
1174
ee0220bc
VS
11752013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * configure.ac: Don't disable extended registers on emu.
1178
89e0240c
VS
11792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * configure.ac: Don't use extended registers on x86_64.
1182 Reported by: Peter Jones.
1183
e56d9637
VS
11842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/term/efi/console.c: Fix compile error.
1187
8098f655
VS
11882013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 Compressed HFS+ support.
1191
16940e07
VS
11922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1195 pixel".
1196
c5dbc13d
VS
11972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 Menu color test.
1200
011f8ae8
VS
12012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/tests/setjmp_test.c: New test.
1204
2aa072d7
VS
12052013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 New variables 'net_default_*' to determine MAC/IP of default interface.
1208
43fe02cb
VS
12092013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * tests/gettext_strings_test.in: A test to check for strings not
1212 marked for translation.
1213
bed06142
VS
12142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * autogen.sh: Exclude unused libgcrypt files from translation.
1217
fb2666b5
VS
12182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 Simplify few strings.
1221
d22840ec
VS
12222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 Mark few forgotten strings for translation.
1225
e34092fd
VS
12262013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1229 rather than printf.
1230
47cf82b4
VS
12312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1234 rather than printf.
1235 * grub-core/video/readers/tga.c: Likewise.
1236
1eed0e6e
VS
12372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * tests/priority_queue_unit_test.cc: New test.
1240
c5b7697b
VS
12412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1244 than printf.
1245
5945c2f8
AB
12462013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1247
1248 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1249 variable for one time boot menu entry.
1250
fa292343
B
12512013-05-05 Bean <bean123ch@gmail.com>
1252
1253 * grub-core/commands/testspeed.c: New command testspeed.
1254
310d4214
VS
12552013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 Factor-out human-size printing.
1258
85002bf3
VS
12592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 Agglomerate more mallocs to speed-up gfxterm.
1262
22b06e96
VS
12632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 Speed-up gfxterm by slightly agglomerating mallocs.
1266
b7c036bc
VS
12672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 More video checks.
1270
92323d1f
VS
12712013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 Speed-up gfxterm by saving intermediate results in index+alpha
1274 format.
1275
0fb356a3
VS
12762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1279 test.
1280
44dea3f9
VS
12812013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1284 line of timeout as it may contain the rest of long line.
1285
14af86e4
VS
12862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/normal/main.c: Fix freed memory dereference.
1289
03f7c8c3
VS
12902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 Fix several memory leaks.
1293
c686014c
VS
12942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1297
0788a695
VS
12982013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1301
daf01d61
VS
13022013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Fix test -a and -o precedence.
1305 Reported by: adrian15.
1306
82ae74d7
VS
13072013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1310
8cec7bd4
AB
13112013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1312
1313 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1314 and add it as source to functional_test module.
1315
aa73d688
VS
13162013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1319
c104b6f9
VS
13202013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 New series of tests for gfxterm and gfxmenu.
1323
7391c4d5
VS
13242013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1327 the theme path relative to $prefix/themes.
1328
cff50118
VS
13292013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1332 Fix order bug.
1333 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1334
7c332bdc
VS
13352013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1338 descriptor.
1339
a4f9a5ff
VS
13402013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1343 grub_gfxmenu_timeout_notifications.
1344 (grub_gfxmenu_view_destroy): Likewise.
1345
b5a2114d
VS
13462013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1349
a8905e8a
VS
13502013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Several fixes to ieee1275 and big-endian video.
1353
813c1622
VS
13542013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 Add missing exports on mips.
1357
3f3e7326
VS
13582013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1361 if no unifont is found.
1362 Restore original keyboard.
1363
095accd1
VS
13642013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1367 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1368
50361660
VS
13692013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 First automated video test (running videotest and comparing results)
1372
cd0f6eec
VS
13732013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1376 instead of 2 to have full RGB/CMY test pattern.
1377
3f9634e5
VS
13782013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Add few more tests.
1381
583e5b64
VS
13822013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1385 ARCS. All users updated.
1386
aa7bcb99
VS
13872013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1390
95ef1a54
VS
13912013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1394
46546fc5
VS
13952013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1398 Reported by: qwertial.
1399
3476e0ef
VT
14002013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1401
1402 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1403 with syntax "XXX deg"/"XXX °".
1404
96f33fed
VS
14052013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 Make PCI init in i386-qemu port more robust.
1408
14092013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1410
1411 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1412 cached view is reused.
1413 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1414 open boot menus.
1415
c53b4e67
VS
14162013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 Unify more code in grub-install_header.
1419
f7457fb2
VS
14202013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 Add few new tests.
1423
e2f27a8c
VS
14242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 Enforce disabling of firmware disk drivers when native drivers kick in.
1427
ef9d8cd5
VS
14282013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/commands/nativedisk.c: Customize the list of modules on
1431 platform. Don't try to search for disks already using native drivers.
1432
f7bf6c31
VS
14332013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1436 platforms.
1437
bdc4add8
VS
14382013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1441 handling of variables containing backslash.
1442
e9e46c9a
VS
14432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1446 dereference.
1447 Reported by: qwertial.
1448
0e90dee8
VS
14492013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1452
e0aacf24
VS
14532013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1456 dereference.
1457 Reported by: qwertial.
1458
3c0003c3
VS
14592013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1462
adb7d667
VS
14632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1466
7cd0df84
VS
14672013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 New command `nativedisk'.
1470
02adbb93
VS
14712013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1474 * grub-core/loader/i386/bsd.c: Likewise.
1475
9fb0fd4f
VS
14762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1479
bd69257a
VS
14802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1483 grub_get_unaligned16 rather than shifts.
1484
178c2764
VS
14852013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/kern/file.c: Use const char * rather than casting to
1488 non-const.
1489
eadfad24
VS
14902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/commands/probe.c: Add missing grub_device_close.
1493
9f73ebd4
VS
14942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * INSTALL: Document linguas.sh.
1497
965fa829
VS
14982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 Remove POTFILES.in and regenerate it in autogen.sh.
1501
d417ddc4
VS
15022013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Move --directory/--override-directorry to grub-install_header and unify.
1505
f97ec546
VS
15062013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/term/morse.c: Macroify dih and dah.
1509
b2d7470c
PFS
15102013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1511
1512 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1513
141e2a78
VS
15142013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * grub-core/term/ns8250.c: Systematically probe ports by writing
1517 to SR before using them.
1518
1dd70ebd
PFS
15192013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1520
1521 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1522 disks.
1523 (check_sas): Get sas_adress info.
1524
c796a107
VS
15252013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1528 ports.
1529
43168646
LD
15302013-04-27 Leon Drugi <eyak>
1531
1532 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1533 BSS clearing.
1534
e7b8fd08
VS
15352013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 Core compression test.
1538
17f9fd29
VS
15392013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 Implement grub_machine_get_bootlocation for ARC.
1542
dc2a6c8b
VS
15432013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 Improve AHCI detection and command issuing.
1546
f25a2ba6
VS
15472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Fix pseries test.
1550
a6393224
VS
15512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 Make 'make check' work on emu.
1554
db99fbe8
VS
15552013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 Replace libcurses with our own vt100 handling for the ease of testing
1558 and decreasing prerequisites.
1559
b24ca7cd
VS
15602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1563
63314aa4
VS
15642013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1567 compile when not needed.
1568
c1b00fff
VS
15692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * tests/pseries_test.in: New test.
1572
f93e89ef
VS
15732013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 Add test to check that different boot mediums work.
1576
c4b456d3
VS
15772013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1580 ofw limited ISO support.
1581
5fe67f39
VS
15822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * configure.ac: Fix loongson conditional.
1585
7f63a64f
VS
15862013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 Enable mipsel-arc.
1589
b04b5990
VS
15902013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 Add serial on ARC platform.
1593
88d2f302
VS
15942013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1597 commit.
1598
86eb23bc
VS
15992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * tests/partmap_test.in: Add missing double semicolon.
1602
eec3bb75
VS
16032013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * util/grub-mkrescue.in: Fix loongson filename.
1606
e0810df3
VS
16072013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * util/grub-mkrescue.in: Move all files that don't have a location
1610 set in stone under /boot/grub. Use ISO hard links rather than copies
1611 to save some space.
1612
65a6b30b
VS
16132013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1616 bogus SLOF values.
1617
6aff0107
VS
16182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 Make check work on mips-arc.
1621
5e013e56
VS
16222013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * util/grub-mkrescue.in: Alias sashARCS as sash.
1625
d1989e2e
VS
16262013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1629 it's serial.
1630
1a25e72c
VS
16312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * util/grub-install.in: Fix target fo qemu_mips.
1634 Fix extension on EFI.
1635
a59a9826
VS
16362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1639 in front of chosen entry to mark it even if highlighting is lost.
1640
1a40f80c
VS
16412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1644 gfxpayload=keep if cbfb is active.
1645
e343549c
VS
16462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1649
45fbd9a2
VS
16502013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Add missing video ids to coreboot and ieee1275 video.
1653
ab1440bd
VS
16542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * util/grub-mkrescue.in: Add mips-arc support.
1657
cdeb8324
VS
16582013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1661
8528c879
VS
16622013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 Move mips-arc link address. Previous link address was chosen
1665 in belief that RAM on SGI platforms grows down while in fact it
1666 grows up from an unusual base.
1667
17fca573
VS
16682013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1671 Fix a type which prevented CD-ROM and floppy boot.
1672
d178788e
VS
16732013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 Support coreboot framebuffer.
1676
1677 * grub-core/video/i386/coreboot/cbfb.c: New file.
1678
fe4c3e7e
VS
16792013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1682 detecting too small regions.
1683
ec2dd179
VS
16842013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1687
872dac83
VS
16882013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1691 Remove dprintf.
1692 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1693
90ec4b7f
VS
16942013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1697 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1698 * grub-core/loader/powerpc/ieee1275/linux.c
1699 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1700
f32555dd
VS
17012013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1704 Look for /boot-rom as well as /rom/boot-rom.
1705
38649799
VS
17062013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1709 handling when creating text_layer failed.
1710 * grub-core/video/video.c (grub_video_create_render_target):
1711 Set result to 0 on error.
1712 (grub_video_delete_render_target): Do not dereference NULL.
1713
aeace7f7
VS
17142013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1717 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1718 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1719 (grub_linux_load64): Mask out 2 high bits.
1720
4eafa175
AB
17212013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1722
1723 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1724 more place.
1725
daaa64bd
VS
17262013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 Add support for pseries and other bootinfo machines to grub-mkrescue.
1729
1730 Tested by: Paulo Flabiano Smorigo.
1731
d0d2daa6
VS
17322013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * util/grub-mkrescue.in: Add GPT for EFI boot.
1735
b193e100
VS
17362013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1739 It improves performance in qemu.
1740
a0f8f3ac
VS
17412013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * build-aux/snippet: Add missing gnulib files.
1744
284df0e2
AB
17452013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1746
1747 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1748
740201f3
AB
17492013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1750
1751 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1752
a7e03923
PJ
17532013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
17542013-04-15 Peter Jones <pjones@redhat.com>
1755
1756 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1757 sectors.
1758 Based on patch by Peter Jones.
1759
25fc51a8
VS
17602013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Fix DMRAID partition handling.
1763
88017d47
VS
17642013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * tests/grub_cmd_date.in: Skip on sparc64.
1767
fa7d914e
VS
17682013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1771 firmware error messages.
1772
cbe57a48
VS
17732013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1776 source and destination differ.
1777
21aecce0
VS
17782013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1781 detection.
1782
25092d29
VS
17832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1786 match config-util.h to avoid warnings and increase compatibility.
1787
79451522 17882013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 17892013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1790
1791 Add option to compress files on install/image creation.
1792
78b7d77b
VS
17932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * docs/grub-dev.texi: Rearrange menu to match the section order.
1796 Reported by: Bryan Hundven.
1797
cc2fa5ec
VS
17982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1801
b49fe879
VS
18022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 Move GRUB out of system area when using xorriso 1.2.9 or later.
1805
5351da81
VS
18062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * tests/grub_cmd_date.in: Add missing exit 1.
1809
c9d586ea
VS
18102013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * tests/partmap_test.in: Skip on sparc64.
1813
3f729741
VS
18142013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 Support grub-shell on sparc64.
1817
8ca86b3a
VS
18182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 Support mkrescue on sparc64.
1821
aa1af9bb
VS
18222013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1825 Needed on OpenBIOS due to incomplete device tree.
1826
ac4fea79
VS
18272013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1830 would be otherwise excluded.
1831
18322013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1833
1834 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1835 Inline name defines used only once.
1836
fe22b071
VS
18372013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Fix memory leaks in ofnet.
1840 Reported by: Francesco Lavra.
1841
9d21381b
VS
18422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * docs/man/grub-glue-efi.h2m: Add missing file.
1845
07aec23c
VS
18462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1849
67ab8353
VS
18502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 Better support Apple Intel Macs on CD.
1853
ba44ca6d
VS
18542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 Replace stpcpy with grub_stpcpy in tools.
1857
bbdd6305
VS
18582013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 Handle Japanese special keys.
1861 Reported by: Hiroyuki YAMAMORI.
1862 Codes supplied by: Hiroyuki YAMAMORI.
1863
8573d302
VS
18642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * util/grub-mkimage.c: Document memdisk implying --prefix.
1867
d70dbab7
VS
18682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1871 much we can do about it anyway.
1872
51a4c3e3
AN
18732013-04-12 Aleš Nesrsta <starous@volny.cz>
1874
1875 Fix handling of split transfers.
1876
92c8f58d
VS
18772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/net/http.c: Fix bad free.
1880
b7d17a49
VS
18812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1884 than buffer size.
1885
a3d566d4
VS
18862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1889
a936af56
VS
18902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * tests/util/grub-shell.in: Fix it on powerpc.
1893
51212234
VS
18942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 Turn off QEMU ACPI-way since new releases don't have shutdown port
1897 anymore.
1898
a21eec9e
VS
18992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * docs/grub.texi: Update coreboot status info.
1902
e3734b84
VS
19032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * tests/grub_cmd_date.in: New test for datetime.
1906
f9d40055
VS
19072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * tests/partmap_test.in: Fix missing qemudisk setting.
1910
dbc56d8f
VS
19112013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 Support i386-ieee1275 grub-mkrescue and make check on it.
1914
a79b8a15
VS
19152013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1918 feature for it.
1919
48f39bb4
VS
19202013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1923 GRUB_CMDLINE_XEN_DEFAULT.
1924 Reported by: Marc Warne (GigaTux) <gigatux>
1925
053cfcdd
VS
19262013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Import new gnulib.
1929
93cd84df
VS
19302013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 Use ACPI shutdown intests as traditional port was removed.
1933
f4b1fa4f
AB
19342013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1935
1936 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1937 distinction.
1938
49818a59
VS
19392013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1942 Fix few warining messages and leaks while on it.
1943
9277a306
AB
19442013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1945
1946 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1947 links under grub-core/lib/libgcrypt-grub/mpi.
1948
d5e2a158
VS
19492013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 Fix ia64-efi image generation on big-endian machines. Deduplicate
1952 some code while on it.
1953 Reported by: Leif Lindholm.
1954
18866643
AB
19552013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1956
1957 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1958 as extra_dist.
1959
ca53deb8
AB
19602013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1961
1962 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1963
d4c4b8e1
BH
19642013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1965
1966 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1967 texinfo-5.1.
1968
47043f95
VS
19692013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/normal/term.c: Few more fixes for menu entry editor
1972 rendering.
1973 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1974
a3216068
VS
19752013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/normal/term.c: Few more fixes for menu entry editor
1978 rendering.
1979 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1980
21026747
AB
19812013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1982
1983 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1984 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1985
59624ca8
AB
19862013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1987
1988 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1989 instead of hardcoding grub.mo.
1990
1f44478c
FN
19912013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1992
1993 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1994
eeada7b1
VS
19952013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1998 grub-core/disk/geli.c.
1999
132867de
VS
20002013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * util/grub-mkfont.c: Prefer enum to #define.
2003
de73de17
VS
20042013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2007
1865baa7
VS
20082013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2011
ce7d92a9
VS
20122013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2015
52eab656
VS
20162013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2019
98b23b95
VS
20202013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * include/grub/bsdlabel.h: Use enums.
2023
0467a5dd
VS
20242013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 Move GRUB_CHAR_BIT to types.h.
2027
16cc9f03
AB
20282013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2029
2030 * docs/grub.texi: Document more user commands.
2031
3152aecb
AB
20322013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2033
2034 * docs/grub.texi: Document menuentry --id option.
2035
c506fc30
FL
20362013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2037
2038 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2039
aa428238
VS
20402013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Unify file copying setup across different install scripts. Add
2043 options for performing partial install.
2044
efe0cdda
PJ
20452013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20462013-04-04 Peter Jones <pjones@redhat.com>
2047
2048 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2049
f75835bd
VS
20502013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Use TSC as a possible time source on i386-ieee1275.
2053
2cd5ce6c
VS
20542013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2057 Init err.
2058
c9625630
VS
20592013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * util/grub-setup.c (setup): Handle some corner cases.
2062
be008941
VS
20632013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2066
1a78d573
VS
20672013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/commands/verify.c: Save verified file to avoid it being
2070 tampered with after verification was done.
2071
db8ff59f
VS
20722013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2075 reported width by one to compensate for curesor algorithm problem.
2076
91bf46b1
VS
20772013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 Fix screen corruption in menu entry editor and simplify the code
2080 flow while on it.
2081
a7b1d693
AB
20822013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2083
2084 * util/grub-mount.c (fuse_init): Return error if fuse_main
2085 failed.
2086
31df9ad8
FL
20872013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2088
2089 * include/grub/elf.h: Add missing ARM relocation codes and fix
2090 existing ones.
2091
07f392eb
VT
20922013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2093
2094 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2095
9efd73ec 20962013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
20972013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2100 into account when calculating radius.
2101
21022013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2103
2104 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2105
4985ddaa
VT
21062013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2107
2108 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2109
8c3635ff
RS
21102013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2111
2112 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2113 missing closing bracket.
2114
74a35e69
RS
21152013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2116
2117 * INSTALL: Mention xorriso requirement.
2118
40f1c000
AB
21192013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2120
2121 * grub-core/commands/verify.c: Fix hash algorithms values for
2122 the first three hashes - they start with 1, not with 0.
2123
e75fdee4
VS
21242013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2127 Try terminating EFI services several times due to quirks in some
2128 implementations.
2129
33028f4c
CW
21302013-03-26 Colin Watson <cjwatson@ubuntu.com>
2131
2132 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2133 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2134 BankField extended opcodes.
2135 (get_sleep_type): Add minimal scope handling (just enough to
2136 handle setting the scope to the root path).
2137 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2138 * include/grub/acpi.h: Add enumeration values for Event, Device,
2139 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2140
33871a10
VT
21412013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2142
2143 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2144 memory leak.
2145
8990963a
VS
21462013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/disk/ahci.c: Give more time for AHCI request.
2149
daae8f9e
VS
21502013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2153 command.
2154
6a7fb94b
VS
21552013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 Replace the region at 0 from coreboot tables to available in BSD
2158 memory map.
2159
ff99babd
VS
21602013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2163 non-BIOS platforms.
2164
30d6b1b2
VS
21652013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2168 platforms.
2169
6ccd0b31
VS
21702013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2173 handling of multi-device filesystems.
2174
23c9cc04
VS
21752013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2178 platforms.
2179
ce50dbd7
VS
21802013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Add new 'proc' filesystem framework and put luks_script into it.
2183
d975e8d5
VS
21842013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2187 and qemu.
2188
e73ba5e8
VS
21892013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2192
92750e4c
VS
21932013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 Add ability to generate newc additions on runtime.
2196
0ec45a68
VS
21972013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2200 description.
2201
320abd43
VS
22022013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * po/POTFILES.in: Regenerate.
2205
d7a6506e
VS
22062013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/commands/verify.c (hashes): Add several hashes
2209 from the spec.
2210
8fe05def
VS
22112013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 Slight improve in USB-related boot-time checkpoints.
2214
524e2766
VS
22152013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/commands/boottime.c: Fix copyright header.
2218
cc19857a
VS
22192013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2222 coreboot tables content. Support for cbmemc.
2223
ef8810e9
VS
22242013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 Fix a conflict between ports structures with 2 controllers of
2227 same kind.
2228
e9dabdfa
VS
22292013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * include/grub/boottime.h: Add missing file.
2232
f6df57d2
VS
22332013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 Initialize USB ports in parallel to speed-up boot.
2236
d745dda7
VS
22372013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 Fix USB devices not being detected when requested
2240 due to delayed attach.
2241
e5a2dd7b
VS
22422013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2243
e744219b
VS
2244 Implement boot time analysis framework.
2245
22462013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2249 descriptor to just receive it as argument rather than endpoint
2250 address.
2251
5dd6f587
VS
22522013-03-19 Aleš Nesrsta <starous@volny.cz>
2253
2254 Better estimate the maximum USB transfer size.
2255
2f1071d5
VS
22562013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Resend a packet if we got the wrong buffer in status.
2259
46ecfc49
VS
22602013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2263 multiplication rather than division.
2264
ea811130
VS
22652013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2268 than divisions.
2269
d2789cf0
VS
22702013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2273 operations to have intended shifts and not divisions.
2274
a9c94590
VS
22752013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2278 intended shifts rather than division.
2279
84cfe81b
VS
22802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2283 computation for some years before epoch. Avode confusing division
2284 while on it.
2285
21344ef6
VS
22862013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/video/i386/pc/vbe.c
2289 (grub_video_vbe_print_adapter_specific_info): Replace division by
2290 shifts.
2291
3f2b4d1a
VS
22922013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Adjust types in gdb module to have intended unsigned shifts rather than
2295 signed divisions.
2296
3dac5878
VS
22972013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2300 maximum size is 4G - 1 on hfs
2301
5341c0fb
VS
23022013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2305
fc3ff2a2
VS
23062013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2309 function.
2310
81455e8e
AB
23112013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2312
2313 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2314 causing gcc error with gcc 4.7.1.
2315
efd4f117
NZ
23162013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2317
2318 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2319 dereference null pointer. While the code is technically correct, gcc
2320 may eliminate a null check if pointer is already dereferenced.
2321
e11645f4
NZ
23222013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2323
2324 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2325 OOM check.
2326 * grub-core/normal/term.c (read_terminal_list): Likewise.
2327
77468368
VS
23282013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 Lift up core size limits on some platforms. Fix potential memory
2331 corruption with big core on small memory systems. Document remaining
2332 limits.
2333
f6b58fe5
VS
23342013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2337 gotoxy to 0,0.
2338
19ce697d
VS
23392013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 Remove all trampoline support. Add -Wtrampolines when
2342 present. Remove symbols used for trampolines to make
2343 link fail if trampolines are present.
2344
73b5d90f
VS
23452013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2348 append out of its parent.
2349
cb758e96
VS
23502013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2353 parent.
2354
3188131f
VS
23552013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2358 all vars to a macro. All users updated.
2359
e42b2514
VS
23602013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2363 i386-ieee1275.
2364
83e1a1a1
VS
23652013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2368
1d5a880f
VS
23692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2372
6e4146c4
VS
23732013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Move to more hookless approach in IEEE1275 devices handling.
2376
99fcda8a
VS
23772013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/kern/term.c (grub_term_normal_color),
2380 (grub_term_highlight_color): Add back lost defaults.
2381
73bf57e2
VS
23822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 Make elfload not use hooks. Opt for flags and iterators instead.
2385
7f8c105f
VS
23862013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2389 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2390
396d4091
VS
23912013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2394
23952013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2398 hook pass-through parameter. All users updated and unnested.
2399
74a27421
VS
24002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2403 out of its parent.
2404
b46d4213
VS
24052013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/fs/hfs.c: Remove nested functions.
2408
e114c3cc
VS
24092013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2412 the context through.
2413 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2414
f9b7d780
VS
24152013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/grub-editenv.c (list_variables): Move print_var out of its
2418 parent.
2419
ca9c2608
VS
24202013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2423 function.
2424
5d983f5f
VS
24252013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/gentrigtables.c: Make tables const.
2428
3056d3e7
VS
24292013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 Remove nested functions from videoinfo iterators.
2432
e2303774
VS
24332013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2436 for 64-bit platforms.
2437
f42e3a2f
VS
24382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2441 a FOR_CHILDREN macro.
2442
be174e5e
VS
24432013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2446 platform from firmware path.
2447
0789b672
VS
24482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 Enable linux16 on non-BIOS systems for i.a. memtest.
2451
2452 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2453 correctly.
2454 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2455
005a9c32
VS
24562013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2459 Fix end of table condition.
2460
ff2b3cd9
VS
24612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2464 out of its parent.
2465
4fc40ff8
VS
24662013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/fs/jfs.c: Remove nested functions.
2469
be42d97a
VS
24702013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/fs/minix.c: Remove nested functions.
2473
99373ce4
VS
24742013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/fs/iso9660.c: Remove nested functions.
2477
5aec2afe
VS
24782013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2481 of parent function.
2482
6c69e691
VS
24832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * util/grub-fstest.c: Remove nested functions.
2486
43c91882
VS
24872013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * grub-core/loader/machoXX.c: Remove nested functions.
2490
4eb8b756
CW
24912013-02-27 Colin Watson <cjwatson@ubuntu.com>
2492
2493 Remove nested functions from disk and file read hooks.
2494
2495 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2496 (struct grub_disk): Add read_hook_data member.
2497 * include/grub/file.h (struct grub_file): Likewise.
2498 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2499 argument.
2500
2501 Update all callers.
2502
df6da5a5
AB
25032012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2504
2505 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2506 Fix off by one error in enumerating extended partitions.
2507
21aecde5
AB
25082013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2509
2510 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2511 memory leak if device name is not found.
2512
f1a19118
AB
25132013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2514
2515 * grub-core/normal/menu_entry.c (update_screen): remove
2516 unused variable `off' which caused scroll down arrow to be always shown.
2517
958bfd20
AB
25182013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2519
2520 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2521 access to unallocated memory.
2522
b7b78edb
AB
25232013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2524
2525 * Makefile.util.def: Add partmap/msdos.c to common library.
2526 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2527 * grub-core/disk/ldm.c: Check for existence of
2528 GRUB_PC_PARTITION_TYPE_LDM.
2529
28d468d6
VS
25302013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2533 sizes and display sector size.
2534
d55ffb02
VS
25352013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 Implement new command cmosdump.
2538
b5ea6ce0
VS
25392013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2540
2541 Support Openfirmware disks with non-512B sectors.
2542
2543 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2544 size of the disk.
2545 * (grub_ofdisk_get_block_size): New function.
2546 * (grub_ofdisk_prepare): Use the correct block size.
2547 * (grub_ofdisk_read): Likewise.
2548 * (grub_ofdisk_write): Likewise.
2549 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2550 New proto.
2551
cc0e476f
VS
25522013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2555
c5dbdc33
VS
25562013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2559 on first error.
2560
3f078c0f
VS
25612013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2564 freeing it.
2565
66a93674
VS
25662013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 Implement USBDebug (full USB stack variant).
2569
c9f0c134
VS
25702013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2573 unless they have unexpected values.
2574
cfe1288b
VS
25752013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2578 grub_print_error.
2579
e42b9969
VS
25802013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2583 zero-out of port structure.
2584
cf94fd62
VS
25852013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2588 of extended attributes.
2589
f81ef4b5
AB
25902013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2591
2592 * util/grub-install.in: change misleading comment about
2593 device.map creation
2594
af18fdb4
VS
25952013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2598 when menu highlight color isn't set.
2599
08bcec50
M
26002013-01-27 C. Masloch <pushbx@38.de>
2601
2602 Improve FreeDOS direct loading support compatibility.
2603
2604 * include/grub/i386/relocator.h (grub_relocator16_state):
2605 New member ebp.
2606 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2607 variable.
2608 (grub_relocator16_boot): Handle %ebp.
2609 * grub-core/lib/i386/relocator16.S: Likewise.
2610 * grub-core/loader/i386/pc/freedos.c:
2611 Load BPB to pass kernel which partition to load from.
2612 Check that kernel file is not too large.
2613 Set register dl to BIOS unit number as well.
2614
7782b8a6
CW
26152013-01-22 Colin Watson <cjwatson@ubuntu.com>
2616
2617 * util/grub-reboot.in (usage): Document the need for
2618 GRUB_DEFAULT=saved.
2619 * util/grub-set-default.in (usage): Likewise.
2620 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2621
e661c180
VS
26222013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2625 than defining WORDS_BIGENDIAN manually.
2626
1c22ca9a
VS
26272013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2630 invariants.
2631
d44892fe
CW
26322013-01-21 Colin Watson <cjwatson@ubuntu.com>
2633
2634 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2635 nested.
2636 (blit_comb: add_device_width): Likewise.
2637
5fdbaed1
CW
26382013-01-21 Colin Watson <cjwatson@ubuntu.com>
2639
2640 Remove nested functions from USB iterators.
2641
2642 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2643 (grub_usb_controller_iterate_hook_t): Likewise.
2644 (grub_usb_iterate): Add hook_data argument.
2645 (grub_usb_controller_iterate): Likewise.
2646 (struct grub_usb_controller_dev.iterate): Likewise.
2647
2648 Update all implementations and callers.
2649
4250985a
VS
26502013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2653 margin when not needed.
2654
7d8848f3
VS
26552013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2656
bc136973 2657 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2658
26592013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2660
bc136973
VS
2661 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2662 asterisk.
7d8848f3 2663
ed12a003
CW
26642013-01-21 Colin Watson <cjwatson@ubuntu.com>
2665
2666 Fix powerpc and sparc64 build failures caused by un-nesting memory
2667 map iterators.
2668
6a0db449
CW
26692013-01-21 Colin Watson <cjwatson@ubuntu.com>
2670
2671 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2672 parameter declarations.
2673
ccd86b21
VS
26742013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2677
822b726b
VS
26782013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 Improve spkmomdem reliability by adding a separator between bytes.
2681
115c2cc1
CW
26822013-01-21 Colin Watson <cjwatson@ubuntu.com>
2683
2684 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2685 an Acer registration utility with several sightings in the wild.
2686 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2687
fc524edf
CW
26882013-01-21 Colin Watson <cjwatson@ubuntu.com>
2689
2690 Remove nested functions from filesystem directory iterators.
2691
2692 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2693 (struct grub_fs.dir): Add hook_data argument.
2694
2695 Update all implementations and callers.
2696
53d3e4e3
CW
26972013-01-21 Colin Watson <cjwatson@ubuntu.com>
2698
2699 * docs/grub.texi (Multi-boot manual config): Fix typo for
2700 "recommended".
2701
c821711f
LL
27022013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2703
2704 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2705 until after its use in generate_image.
2706
6a0debbd
CW
27072013-01-20 Colin Watson <cjwatson@ubuntu.com>
2708
2709 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2710 initrd size to addr_min, since the initrd will be allocated after
2711 this address.
2712
f41e08db
AB
27132013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2714
2715 * conf/Makefile.common: Fix autogen rules to pass definition
2716 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2717
77529e0f
LL
27182013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2719
2720 * include/grub/elf.h: Update ARM definitions based on binutils.
2721
b879aa7b
VS
27222013-01-20 Aleš Nesrsta <starous@volny.cz>
2723
2724 Split long USB transfers into short ones.
2725
8eb8284d
AB
27262013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2727
2728 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2729 is interrupted by ESC.
2730
08dad2dc
VS
27312013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * util/grub-script-check.c (main): Uniform the error message.
2734
6c724b85
CW
27352013-01-20 Colin Watson <cjwatson@ubuntu.com>
2736
2737 Remove nested functions from ELF iterators.
2738
25239370
CW
27392013-01-20 Colin Watson <cjwatson@ubuntu.com>
2740
2741 Remove nested functions from device iterators.
2742
2743 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2744 (grub_arc_iterate_devs): Add hook_data argument.
2745 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2746 (struct grub_ata_dev.iterate): Add hook_data argument.
2747 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2748 (grub_device_iterate): Add hook_data argument.
2749 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2750 (struct grub_disk_dev.iterate): Add hook_data argument.
2751 (grub_disk_dev_iterate): Likewise.
2752 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2753 Likewise.
2754 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2755 Likewise.
2756 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2757 type.
2758 (struct grub_partition_map.iterate): Add hook_data argument.
2759 (grub_partition_iterate): Likewise.
2760 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2761 (struct grub_scsi_dev.iterate): Add hook_data argument.
2762
2763 Update all callers.
2764
6c0314d6
CW
27652013-01-20 Colin Watson <cjwatson@ubuntu.com>
2766
2767 Fix typos for "developer" and "development".
2768
600dc5f1
VS
27692013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 Add license header to spkmodem-recv.c.
2772
17334a6b
VS
27732013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 Rewrite spkmodem to use PIT for timing. Double the speed.
2776
7d462559
VS
27772013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Add new command pcidump.
2780
b78d6c32
VS
27812013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 New terminal outputs using serial: morse and spkmodem.
2784
34f71cb8
VS
27852013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 Improve bidi handling in entry editor.
2788
4542e71b
VS
27892013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2792 argument to prevent name collision.
2793
09fd6d82
CW
27942013-01-15 Colin Watson <cjwatson@ubuntu.com>
2795
2796 Remove nested functions from script reading and parsing.
2797
2798 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2799 getline_data argument, passed to getline.
2800 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2801 getline_data argument, passed to grub_parser_split_cmdline.
2802 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2803 lexerstate->getline_data to lexerstate->getline.
2804 (grub_script_lexer_init): Add getline_data argument, saved in
2805 lexerstate->getline_data.
2806 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2807 argument, passed to grub_script_parse.
2808 * grub-core/script/script.c (grub_script_parse): Add getline_data
2809 argument, passed to grub_script_lexer_init.
2810 * include/grub/parser.h (grub_parser_split_cmdline): Update
2811 prototype. Update all callers to pass appropriate getline data.
2812 (struct grub_parser.parse_line): Likewise.
2813 (grub_rescue_parse_line): Likewise.
2814 * include/grub/reader.h (grub_reader_getline_t): Add void *
2815 argument.
2816 * include/grub/script_sh.h (struct grub_lexer_param): Add
2817 getline_data member.
2818 (grub_script_parse): Update prototype. Update all callers to pass
2819 appropriate getline data.
2820 (grub_script_lexer_init): Likewise.
2821 (grub_normal_parse_line): Likewise.
2822
2823 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2824 data argument.
2825 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2826 static instead of nested. Rename to ...
2827 (grub_parser_execute_getline): ... this.
2828 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2829 data argument.
2830 * grub-core/normal/main.c (read_config_file: getline): Make static
2831 instead of nested. Rename to ...
2832 (read_config_file_getline): ... this.
2833 (grub_normal_read_line): Add unused data argument.
2834 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2835 getline): Make static instead of nested. Rename to ...
2836 (grub_script_execute_sourcecode_getline): ... this.
2837 * util/grub-script-check.c (main: get_config_line): Make static
2838 instead of nested.
2839
d0d4b8a0
CW
28402013-01-15 Colin Watson <cjwatson@ubuntu.com>
2841
2842 Remove nested functions from memory map iterators.
2843
2844 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2845 argument, passed to hook.
2846 * grub-core/kern/i386/coreboot/mmap.c
2847 (grub_linuxbios_table_iterate): Likewise.
2848 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2849 instead of nested.
2850 (grub_machine_mmap_iterate): Add hook_data argument.
2851 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2852 Add hook_data argument, passed to hook.
2853 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2854 Likewise.
2855 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2856 Likewise.
2857 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2858 Likewise.
2859 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2860 Likewise.
2861 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2862 Likewise.
2863 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2864 Likewise.
2865 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2866 (grub_machine_mmap_iterate): Likewise.
2867 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2868 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2869 prototype.
2870 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2871 Remove NESTED_FUNC_ATTR from here and from all users.
2872 (grub_mmap_iterate): Update prototype.
2873 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2874 pass appropriate hook data.
2875 (grub_machine_mmap_iterate): Likewise.
2876
2877 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2878 static instead of nested.
2879 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2880 Rename to ...
2881 (lsmmap_hook): ... this.
2882 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2883 Likewise.
2884 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2885 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2886 heap_init): Likewise.
2887 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2888 Rename to ...
2889 (mmap_iterate_hook): ... this.
2890 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2891 Likewise.
2892 * grub-core/lib/ieee1275/relocator.c
2893 (grub_relocator_firmware_get_max_events: count): Likewise.
2894 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2895 to ...
2896 (grub_relocator_firmware_fill_events_iter): ... this.
2897 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2898 hook): Likewise. Rename to ...
2899 (grub_relocator_alloc_chunk_align_iter): ... this.
2900 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2901 Rename to ...
2902 (generate_e820_mmap_iter): ... this.
2903 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2904 Rename to ...
2905 (count_hook): ... this.
2906 (grub_linux_boot: hook): Likewise. Rename to ...
2907 (grub_linux_boot_mmap_find): ... this.
2908 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2909 (grub_linux_boot_mmap_fill): ... this.
2910 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2911 hook): Likewise. Rename to ...
2912 (grub_fill_multiboot_mmap_iter): ... this.
2913 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2914 hook): Likewise. Rename to ...
2915 (count_hook): ... this.
2916 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2917 hook): Likewise. Rename to ...
2918 (grub_fill_multiboot_mmap_iter): ... this.
2919 * grub-core/loader/powerpc/ieee1275/linux.c
2920 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2921 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2922 Likewise. Rename to ...
2923 (alloc_phys_choose): ... this.
2924 (determine_phys_base: get_physbase): Likewise.
2925 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2926 find_hook): Likewise.
2927 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2928 (malloc_hook: count_hook): Likewise.
2929 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2930 Likewise. Rename to ...
2931 (lower_hook): ... this.
2932 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2933 (upper_hook): ... this.
2934 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2935 (post64_hook): ... this.
2936 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2937 Likewise. Rename to ...
2938 (lower_hook): ... this.
2939 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2940 (upper_hook): ... this.
2941 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2942 (grub_mmap_iterate: fill_hook): Likewise.
2943 (fill_mask): Pass addr and mask within a single struct.
2944 (grub_cmd_badram: hook): Make static instead of nested. Rename
2945 to ...
2946 (badram_iter): ... this.
2947 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2948 (cutmem_iter): ... this.
2949
22099030
VS
29502013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2953 delimit path in strings using quotes.
2954 * util/getroot.c (grub_guess_root_devices): Likewise.
2955 (grub_make_system_path_relative_to_its_root): Likewise.
2956 * util/grub-probe.c (probe): Likewise.
2957 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2958 (xrealpath): Likewise.
2959
4a9950ec
VS
29602013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 Fix compilation with older compilers.
2963
2964 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2965 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2966 declarations.
2967 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2968 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2969 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2970 identifier with b.
2971 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2972 * include/grub/crypto.h: Add type defines.
2973 * util/import_gcrypth.sed: Remove duplicate type defines.
2974
adcc6020
VS
29752013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 New command list_trusted.
2978
2979 * grub-core/commands/verify.c (grub_cmd_list): New function.
2980
a4528937
CW
29812013-01-13 Colin Watson <cjwatson@ubuntu.com>
2982
2983 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2984 info message.
2985
ca3a7446
CW
29862013-01-13 Colin Watson <cjwatson@ubuntu.com>
2987
2988 Remove nested functions from PCI iterators.
2989
2990 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2991 passed to hook. Update all callers to pass appropriate hook data.
2992 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2993 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2994 Remove NESTED_FUNC_ATTR from here and from all users.
2995 (grub_pci_iterate): Update prototype.
2996 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2997 instead of nested. Rename to ...
2998 (grub_cs5536_find_iter): ... this.
2999 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3000 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3001 Likewise.
3002 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3003 Likewise.
3004 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3005 Likewise.
3006 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3007 Likewise.
3008 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3009 * grub-core/video/radeon_fuloong2e.c
3010 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3011 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3012 find_card): Likewise.
3013 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3014 Likewise.
3015
f8e98fee
VS
30162013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/commands/verify.c: Mark messages for translating.
3019
055b36b6
VS
30202013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3023 fatal.
3024
f7ff879b
VS
30252013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3028 fatal.
3029
30302013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3031
3032 * autogen.sh: Do not try to delete nonexistant files.
3033 * util/import_gcrypth.sed: Add some missing header removals.
3034
01323d49
CW
30352013-01-12 Colin Watson <cjwatson@ubuntu.com>
3036
3037 Clean up dangling references to grub-setup.
3038 Fixes Ubuntu bug #1082045.
3039
3040 * docs/grub.texi (Images): Refer generally to grub-install rather
3041 than directly to grub-setup.
3042 (Installing GRUB using grub-install): Remove direct reference to
3043 grub-setup.
3044 (Device map) Likewise.
3045 (Invoking grub-install): Likewise.
3046 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3047 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3048 * util/grub-install.in (usage): Likewise.
3049
3050 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3051 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3052 grub-setup.
3053 * configure.ac: Remove grub_setup output variable.
3054
3055 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3056 to grub-bios-setup.
3057 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3058 grub-setup to grub-sparc64-setup.
3059
5e3b8dcb
VS
30602013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 Import gcrypt public-key cryptography and implement signature checking.
3063
535714bd
VS
30642013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/fs/ntfs.c: Ue more appropriate types.
3067 * grub-core/fs/ntfscomp.c: Likewise.
3068 * include/grub/ntfs.h: Likewise.
3069
3e4f3566
VS
30702013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 Support Apple FAT binaries on non-Apple platforms.
3073
3074 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3075 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3076 Likewise.
3077 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3078 Apple FAT binaries.
3079
4dedb13f
VS
30802013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3083 sector devices.
3084
f8861eaf
CW
30852013-01-07 Colin Watson <cjwatson@ubuntu.com>
3086
3087 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3088 explicitly zeroing elements.
3089 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3090 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3091 of elements in a structure already allocated using grub_zalloc.
3092 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3093
86065b0a
CW
30942013-01-07 Colin Watson <cjwatson@ubuntu.com>
3095
3096 * docs/grub.texi (grub_cpu): New subsection.
3097 (grub_platform): Likewise.
3098
c6f1e92f
VS
30992013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3102
f797ec85
VS
31032013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3106 divisions.
3107
033d0b4b
VS
31082013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3111 * grub-core/fs/ntfscomp.c: Likewise.
3112 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3113 (grub_ntfs_comp): Likewise.
3114
21d1b9a0
VS
31152013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3118 Rename to ...
3119 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3120 of groups_per_block. All users updated.
3121
10ca8645
VS
31222013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3125 grub_error properly.
3126 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3127 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3128
a4c3ed4c
VS
31292013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3132 always in /boot/zfs.
3133 Reported by: Yuta Satoh.
3134
0b716507
YS
31352013-01-03 Yuta Satoh <nigoro>
3136
3137 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3138 ${grub_probe}
3139
00c05e22
VS
31402013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * configure.ac: Extend -Wno-trampolines to host.
3143
dadddb76
VS
31442013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3147 entry->len = 0.
3148
54ce53ca
CW
31492013-01-03 Colin Watson <cjwatson@ubuntu.com>
3150
3151 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3152 (Invoking grub-script-check): Likewise.
3153
8912efca
CW
31542013-01-03 Colin Watson <cjwatson@ubuntu.com>
3155
3156 * docs/grub.texi (Invoking grub-mount): New section.
3157 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3158
c3fc8394
CW
31592013-01-02 Colin Watson <cjwatson@ubuntu.com>
3160
3161 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3162 test failures, so that a failing unit test correctly causes 'make
3163 check' to fail.
3164
45d26abb
CW
31652013-01-02 Colin Watson <cjwatson@ubuntu.com>
3166
3167 Fix failing printf test.
3168
3169 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3170 '$' in the correct order when collecting type information.
3171
971dd2c6
CW
31722013-01-02 Colin Watson <cjwatson@ubuntu.com>
3173
3174 * docs/grub.texi (configfile): Explain environment variable
3175 handling.
3176 (source): New section.
3177 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3178
5c67ea6c
CW
31792012-12-31 Colin Watson <cjwatson@ubuntu.com>
3180
3181 Remove several trivially-unnecessary uses of nested functions.
3182
3183 * grub-core/commands/i386/pc/sendkey.c
3184 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3185 instead of nested.
3186 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3187 Rename to ...
3188 (legacy_file_getline): ... this.
3189 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3190 Likewise.
3191 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3192 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3193 to ...
3194 (probe_dummy_iter): ... this.
3195 * grub-core/kern/i386/coreboot/mmap.c
3196 (grub_linuxbios_table_iterate: check_signature): Likewise.
3197 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3198 check_varstate): Likewise. Mark inline.
3199 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3200 an additional parameter.
3201 (find_long: fnd_long): Likewise. Pass two additional parameters.
3202 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3203 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3204 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3205 Likewise. Rename to ...
3206 (grub_cmos_find_port_iter): ... this.
3207 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3208 Rename to ...
3209 (find_rtc_iter): ... this.
3210
3211 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3212 function directly into the function body, since it is only called
3213 once.
3214
33a68ac6
CW
32152012-12-30 Colin Watson <cjwatson@ubuntu.com>
3216
3217 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3218 __attribute__ ((unused)).
3219 * grub-core/video/bochs.c (find_card): Likewise.
3220 * grub-core/video/cirrus.c (find_card): Likewise.
3221 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3222 * grub-core/video/sis315pro.c (find_card): Likewise.
3223 * grub-core/video/sm712.c (find_card): Likewise.
3224
608b647a
CW
32252012-12-28 Colin Watson <cjwatson@ubuntu.com>
3226
3227 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3228 Fixes Savannah bug #37821.
3229
fd49ceb3
CW
32302012-12-28 Colin Watson <cjwatson@ubuntu.com>
3231
3232 Apply program name transformations at build-time rather than at
3233 run-time. Fixes Debian bug #696465.
3234
3235 * acinclude.m4 (grub_TRANSFORM): New macro.
3236 * configure.ac: Create output variables with transformed names for
3237 most programs.
3238 * util/bash-completion.d/grub-completion.bash.in: Use
3239 pre-transformed variables for program names.
3240 * util/grub-install.in: Likewise.
3241 * util/grub-kbdcomp.in: Likewise.
3242 * util/grub-mkconfig.in: Likewise.
3243 * util/grub-mkconfig_lib.in: Likewise.
3244 * util/grub-mknetdir.in: Likewise.
3245 * util/grub-mkrescue.in: Likewise.
3246 * util/grub-mkstandalone.in: Likewise.
3247 * util/grub-reboot.in: Likewise.
3248 * util/grub-set-default.in: Likewise.
3249 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3250 * tests/util/grub-shell-tester.in: Remove unused assignment.
3251 * tests/util/grub-shell.in: Likewise.
3252 * util/grub.d/00_header.in: Likewise.
3253
7024b3c0
CW
32542012-12-28 Colin Watson <cjwatson@ubuntu.com>
3255
3256 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3257
3258 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3259 HAVE_RAW_DECL_GETS.
3260 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3261
e3501b13
VS
32622012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3265 Reported by: Eriks Latosheks <foresterlv>.
3266
b40c88a9
VS
32672012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * docs/grub.texi (Network): Update instructions on generating netboot
3270 image.
3271
ce96d01c
VS
32722012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3275 around device name if necessarry.
3276
0f596201
PFS
32772012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3278
3279 * util/grub-install.in: Follow the symbolic link parameter added
3280 to the file command.
3281
600d5bdb
AB
32822012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3283
3284 * util/grub-install.in: Remove stale TODO.
3285
64ebd2f4
PFS
32862012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3287
3288 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3289 dynamic allocation for the bootpath buffer.
3290
74b2fe3e
DTB
32912012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3292
3293 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3294 window too small.
3295
969b804f
VS
32962012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3299 argument rather than font name. All users updated.
3300 (grub_gfxterm_set_window): Likewise.
3301
b9f5ebd6
VT
33022012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3303
3304 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3305 from working.
3306
258f43b7
VS
33072012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * util/getroot.c (convert_system_partition_to_system_disk): Support
3310 nbd disks.
3311
cc1ce5f9
VS
33122012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3315 infinite loop on corrupted FS.
3316
e77a16ca
VS
33172012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Fix big-endian mtime.
3320
3321 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3322 together sec and usec.
3323 (grub_ufs_dir): Use correct byteswapping for UFS time.
3324
d9c48c7b
VS
33252012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 Support big-endian UFS1.
3328
3329 * Makefile.util.def (libgrubmods): Add ufs_be.c
3330 * grub-core/Makefile.core.def (ufs1_be): New module.
3331 * grub-core/fs/ufs_be.c: New file.
3332 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3333 the file.
3334
2f9f40ba
LL
33352012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3336
3337 * include/grub/types.h: Fix functionality unaffecting typo in
3338 GRUB_TARGET_WORDSIZE conditional macro.
3339
48ff0889
PFS
33402012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3341
3342 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3343
03711240
GS
33442012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3345
3346 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3347 that /netbsd appears first (when it exists).
3348
a31b11bd
CJ
33492012-10-12 Christoph Junghans <ottxor@gentoo.org>
3350
3351 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3352 Fixes Savannah bug #37558.
3353
e8a5d5d4
CW
33542012-10-12 Colin Watson <cjwatson@ubuntu.com>
3355
3356 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3357 description of extract_entries_configfile.
3358
33592012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3360
3361 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3362 preferred_address.
3363 (grub_cmd_linux): Likewise.
3364 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3365 preferred_lifetime. Update all users.
3366
288c757d
CW
33672012-09-26 Colin Watson <cjwatson@ubuntu.com>
3368
3369 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3370 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3371
0d35da3f
CW
33722012-09-26 Colin Watson <cjwatson@ubuntu.com>
3373
3374 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3375 errors from grub-probe to /dev/null, not stdout.
3376
b78c3127
VS
33772012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3380 sector 1.
3381
473959f0
CW
33822012-09-24 Colin Watson <cjwatson@ubuntu.com>
3383
3384 * util/grub-install.in: Make the error message if $source_dir
3385 doesn't exist more useful.
3386
794c8c33
CW
33872012-09-22 Colin Watson <cjwatson@ubuntu.com>
3388
3389 Fix grub-emu build on FreeBSD.
3390
3391 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3392 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3393 headers on Linux.
3394 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3395 implementation is currently Linux-specific.
3396 * util/getroot.c (exec_pipe): Define only on Linux or when either
3397 libzfs or libnvpair is unavailable.
3398 (find_root_devices_from_poolname): Remove unused path variable.
3399
86d08fdb
CW
34002012-09-19 Colin Watson <cjwatson@ubuntu.com>
3401
3402 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3403 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3404 should fit before end == 63.
3405
735abf54
CW
34062012-09-19 Colin Watson <cjwatson@ubuntu.com>
3407
3408 * util/grub-setup.c (write_rootdev): Remove unused core_img
3409 parameter. Update all callers.
3410 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3411 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3412 GRUB_SETUP_BIOS.
3413
140acd3c
VS
34142012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3417 (grub_add_tab): New function.
3418 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3419 * util/grub.d/10_illumos.in: Likewise.
3420 * util/grub.d/10_kfreebsd.in: Likewise.
3421 * util/grub.d/10_linux.in: Likewise.
3422 * util/grub.d/10_netbsd.in: Likewise.
3423 * util/grub.d/10_windows.in: Likewise.
3424 * util/grub.d/10_xnu.in: Likewise.
3425 * util/grub.d/20_linux_xen.in: Likewise.
3426 * util/grub.d/30_os-prober.in: Likewise.
3427
7ddffdad
VS
34282012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3431 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3432 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3433 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3434 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3435 ieee1275-nocursor.
3436 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3437 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3438
4e092454
VS
34392012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3442 le-conversion.
3443 Reported by: BURETTE, Bernard.
3444
735abf54 34452012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3446
3447 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3448 from comment.
3449
dfd39dbd
CW
34502012-09-14 Colin Watson <cjwatson@ubuntu.com>
3451
3452 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3453 IEEE1275 machines. Fixes powerpc-emu compilation.
3454 * include/grub/terminfo.h: Likewise.
3455
3bfa763c
VS
34562012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3459 a const pointer.
3460 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3461 const pointer.
3462 (efiemu_set_variable): Make vendor_guid a const pointer.
3463
250e475b
VS
34642012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 Don't require grub-mkconfig_lib to generate manpages for programs.
3467
3468 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3469 dependencies, don't add grub-mkconfig_lib.
3470 (program): Pass empty adddeps.
3471 (script): Pass grub-mkconfig_lib as adddeps.
3472
592fd0e4
VS
34732012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3476 * util/getroot.c (grub_find_device): Likewise.
3477 (get_mdadm_uuid): Likewise.
3478 (grub_util_is_imsm): Likewise.
3479 (grub_util_pull_device): Likewise.
3480 * util/grub-probe.c (probe): Likewise.
3481
801a3027
BG
34822012-09-10 Benoit Gschwind <gschwind>
3483
3484 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3485 (devs): Add devpath_8.
3486
c5052c81
PJ
34872012-09-08 Peter Jones <pjones@redhat.com>
3488
3489 * grub-core/Makefile.core.def (efifwsetup): New module.
3490 * grub-core/commands/efi/efifwsetup.c: New file.
3491 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3492 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3493 New define.
3494 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3495
8e832f71
JS
34962012-09-05 Jiri Slaby <jslaby@suse.cz>
3497
3498 * configure.ac: Add SuSe path.
3499
f0f55752
CW
35002012-09-05 Colin Watson <cjwatson@ubuntu.com>
3501
3502 * NEWS: Fix typo.
3503
ecadc4c2
CW
35042012-09-05 Colin Watson <cjwatson@ubuntu.com>
3505
3506 * util/import_gcry.py: Sort cipher_files, to make build system
3507 generation more deterministic.
3508
64498f25
VS
35092012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3512 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3513 (grub_set_datetime): Likewise.
3514
9cc836a2
VS
35152012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3518 warnings.
3519
bcfcea01
VS
35202012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3523
a4099485
VS
35242012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3527
265c162a
CW
35282012-09-04 Colin Watson <cjwatson@ubuntu.com>
3529
3530 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3531 required for checkouts from bzr, but it may be useful for users or
3532 distributors wishing to update translations against a tarball
3533 distribution, and it can be helpful for the tarball to be a superset
3534 of what's in bzr.
3535
3d171e95
CW
35362012-09-04 Colin Watson <cjwatson@ubuntu.com>
3537
3538 * Makefile.am (EXTRA_DIST): Add
3539 grub-core/tests/boot/linux.init-mips.S,
3540 grub-core/tests/boot/linux.init-ppc.S, and
3541 grub-core/tests/boot/linux-ppc.cfg.
3542
f2c2503e
CW
35432012-09-04 Colin Watson <cjwatson@ubuntu.com>
3544
3545 * grub-core/mmap/mips/loongson: Remove empty directory.
3546
35472012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3548
3549 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3550 gone.
3551
ab2163d5
CW
35522012-09-04 Colin Watson <cjwatson@ubuntu.com>
3553
3554 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3555 grub-sparc64-setup.
3556
ce938140
GS
35572012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3558
3559 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3560
529f58a5
GS
35612012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3562
3563 * po/POTFILES.in: Regenerated.
3564
16cf79e9
GS
35652012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3566
3567 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3568 (NetBSD): New subsection.
3569
39b27f1e 35702012-07-22 Ales Nesrsta <starous@volny.cz>
3571
3572 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3573 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3574
a885261b
VS
35752012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3578 * util/grub.d/10_hurd.in: Add missing quoting.
3579 * util/grub.d/10_illumos.in: Likewise.
3580 * util/grub.d/10_kfreebsd.in: Likewise.
3581 * util/grub.d/10_linux.in: Likewise.
3582 * util/grub.d/20_linux_xen.in: Likewise.
3583
7bd29c01
VS
35842012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 New command `lsefi'.
3587
3588 * grub-core/Makefile.core.def (lsefi): New module.
3589 * grub-core/commands/efi/lsefi.c: New file.
3590 * include/grub/efi/api.h: Add more GUIDs.
3591
ac625d8f
VS
35922012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3595 (grub_bsd_elf32_hook): Likewise.
3596 (grub_bsd_elf64_size_hook): Likewise.
3597 (grub_bsd_elf64_hook): Likewise.
3598 (grub_bsd_load_elf): Likewise.
3599
e73bb801
VS
36002012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3603 if hash function is unavailable.
3604 (dec_stream_header): Likewise.
3605
e81db8b5
VS
36062012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3609 filter state.
3610
d187a1c3
VS
36112012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 Fix coreboot compilation.
3614
3615 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3616 (grub_vga_text_init_real): ... this.
3617 (grub_vga_text_fini): Rename to ...
3618 (grub_vga_text_fini_real): ... this.
3619
91a05f64
VS
36202012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3623
6af96df7
VS
36242012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/lib/legacy_parse.c: Support clear and testload.
3627
4d569e12
VS
36282012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3631
073b57bb
VS
36322012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3635
a706f4cc
VS
36362012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/net/tftp.c (ack): Fix endianness problem.
3639 (tftp_receive): Likewise.
3640 Reported by: Michael Davidsaver.
3641
e7850aa9
VS
36422012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3645
36462012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3649 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3650 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3651
35692881
VS
36522012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3655 efi_mmap_size.
3656 Reported by: Stuart Hayes.
3657
c35fc5bd
VS
36582012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3661
3662 * grub-core/Makefile.core.def (mda_text): New module.
3663 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3664 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3665 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3666 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3667 here.
3668 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3669 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3670 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3671 here.
3672 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3673 to ..
3674 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3675 ... here
3676 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3677 here.
3678 * grub-core/term/i386/vga_common.c: Removed.
3679 * include/grub/i386/vga_common.h: Likewise.
3680 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3681 (grub_vga_cr_bw_read): Likewise.
3682 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3683 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3684 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3685 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3686 grub_vga_cr_read/grub_vga_cr_write.
3687 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3688
5f91f701
VS
36892012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * configure.ac: Bump version to 2.00.
3692 * grub-core/normal/main.c (features): Add feature_200_final.
3693
0c4f85f6
VS
36942012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
36952012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3696
3697 * NEWS: Fix unclarity and language mistakes.
3698
f923ad22
VS
36992012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3702 additional size to 3 pages.
3703 Reported by: Stuart Hayes.
3704
d22029ba
VS
37052012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * NEWS: Add 2.00 entry.
3708
58eee08f
VS
37092012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3712 put explicit "/" for empty path.
3713 (wildcard_expand): Improve dprintf.
3714
c59bdff7
VS
37152012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3718 it's equal to currnode. This can happen with "" symlink.
3719
5e6a440a
YB
37202012-06-27 Yves Blusseau <blusseau@zetam.org>
3721
3722 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3723 echo shell command by printf command.
3724
73a68bcb
VS
37252012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3728 the value returned by firmware is the maximal position, not diumension.
3729 (grub_terminfo_output_state): Use a more sane fallback.
3730
392a603b
VS
37312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3734
42d0867f
VS
37352012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3738 frequency to 150 MHz.
3739
489509f4
VS
37402012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 Apple fixes.
3743
3744 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3745 __APPLE_
3746 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3747 definition.
3748 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3749
9f3fc883
VS
37502012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 Handle slash in HFS label.
3753
3754 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3755 (grub_hfs_dir): Tanslate slash.
3756 (grub_hfs_label): Don't translate slash.
3757
54853fd7
VS
37582012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3761 network protocol listing since it introduces problematic dependency on
3762 net module.
3763
4dc02ddf
VS
37642012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3767
c50c867d
VS
37682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Init video early on yeeloong to avoid being rebooted by watchdog.
3771
3772 * grub-core/Makefile.am (gensm712): New target.
3773 (sm712_start.S): Likewise.
3774 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3775 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3776 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3777 description.
3778 * include/grub/vga.h: Move registry definitions to...
3779 * include/grub/vgaregs.h: ... here.
3780
5f92c8a1
VS
37812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3784 signedness.
3785
e9e6f111
VS
37862012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3789 platforms with firmware disk drivers in the core.
3790
754ad9eb
VS
37912012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3794 informative verbose message.
3795 (read_lv): Handle 64-bit segment size.
3796
315654c2
VS
37972012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3800
fb022c79
VS
38012012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3804 character but still remove trainling spaces.
3805 (grub_fat_label): Ignore archive flag.
3806
8645f72c
VS
38072012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3810 cast between linux_kernel_header and linux_kernel_params.
3811
36498496
VS
38122012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3815 type for size.
3816 (grub_raid6_recover_func_t): Likewise.
3817 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3818 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3819
0b5ea6b8
VS
38202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3823
650cfcfe
GS
38242012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3825
3826 Fix overflow.
3827
3828 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3829 [__NetBSD__]: Add explicit cast before bitshift.
3830
8a4d6a44
VS
38312012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * configure.ac: Bump to 2.00~rc1.
3834
2fb97ed3
VS
38352012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3838 half of $a0.
3839
1fa097dc
VS
38402012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
38412012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3842
3843 * docs/grub.texi: Fix search syntax.
3844 (Multi-boot manual config): Put msdos rather than GPT example.
3845 Grammar corrections.
3846
c890ba78
VS
38472012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3850
0f92dca7
VS
38512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3854
3988c4a0
VS
38552012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3858 message on double free. Put the value of magic in case of mismatch.
3859
9e86d4c5
VS
38602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 Speed-up video on yeeloong.
3863
3864 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3865 add cached_ptr.
3866 (grub_video_sm712_video_fini): Unmap cached_ptr.
3867 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3868 (grub_video_sm712_set_active_render_target): Removed.
3869 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3870 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3871 sync caches.
3872
ed24c312
VS
38732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Avoid flushing the same line multiple times on loongson.
3876
3877 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3878 Step in 32 bytes and not 1 byte.
3879 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3880 Likewise.
3881
d1718e7d
VS
38822012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3885 subvolumes.
3886
982f1909
VS
38872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 Implement flow control for http.
3890
3891 * grub-core/net/http.c (parse_line): Handle response 206.
3892 (http_receive): Stall if too many packets are in the queue.
3893 (http_establish): Fix range header.
3894 (http_seek): Fix double free.
3895 (http_close): Likewise.
3896 (http_packets_pulled): New function.
3897 (grub_http_protocol): Set http_seek
3898 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3899 (ack_real): Set window depending on i_stall.
3900 (grub_net_send_tcp_packet): Likewise.
3901 (grub_net_tcp_stall): New function.
3902 (grub_net_tcp_unstall): Likewise.
3903 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3904 (grub_net_tcp_unstall): Likewise.
3905
bd407d6e
VS
39062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3909
c7564b8e
VS
39102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3913
a3706162
VS
39142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * tests/util/grub-shell.in: Fix a typo.
3917
b27069e0
VS
39182012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 Implement flow control for tftp.
3921
3922 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3923 packets but stop only if stop condition is satisfied.
3924 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3925 `stall' instead of `eof' as stop condition.
3926 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3927 (http_err): Likewise.
3928 * grub-core/net/tftp.c (ack): Replace the first argument with data
3929 instead of socket.
3930 (tftp_receive): Stall if too many packets are in wait queue.
3931 (tftp_packets_pulled): New function.
3932 (grub_tftp_protocol): Set packets_pulled.
3933 * include/grub/net.h (grub_net_packets): New field count.
3934 (grub_net_put_packet): Increment count.
3935 (grub_net_remove_packet): Likewise.
3936 (grub_net_app_protocol): New field `packets_pulled'.
3937 (grub_net): New field `stall'.
3938
6b9cfac6
VS
39392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3942 sync part to handle them.
3943
f35abd81
VS
39442012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3947 * grub-core/net/drivers/ieee1275/ofnet.c
3948 (grub_ieee1275_net_config_real): Likewise.
3949
0e7ec820
VS
39502012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3953 the direct route for server/gateway.
3954
9d611a31
VS
39552012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3958 IP address to server name since we may not hame the DNS.
3959
418f45ab
VS
39602012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3963 freeing random buffer on failure.
3964 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3965
44a0efc1
VS
39662012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3969
531e2241
VS
39702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3973 reserved bytes.
3974 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3975 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3976 Handle malloc error correctly.
3977
cde393c9
VS
39782012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3981 blocks.
3982
538478d0
VS
39832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3986 increment.
3987
9b55efe0
VS
39882012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3991 none is explicitly specified.
3992
9eb832c3
VS
39932012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3996 while reallocating.
3997
d6b7c7c9
VS
39982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 Respect netmask from bootp/dhcp.
4001
4002 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4003 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4004 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4005 into ...
4006 (grub_net_add_ipv4_local): ... this.
4007 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4008 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4009 (grub_net_add_ipv4_local): New proto.
4010
67caf9eb
VS
40112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4014 determining EFI memory map size.
4015
43657558
VS
40162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4019
eb6d0dd3
VS
40202012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4023 when looking for partition separator.
4024
31230544
VS
40252012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4028 Escape commas.
4029
918a2517
VS
40302012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 Restructure FAT driver to avoid hook in label reading as it hits a
4033 GCC bug.
4034
4035 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4036 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4037 (grub_fat_iterate_dir): Split into ...
4038 (grub_fat_iterate_init): ... this, ...
4039 (grub_fat_iterate_fini): ... this, ...
4040 (grub_fat_iterate_dir_next): ... and this. All users updated.
4041
9f1d654e
VS
40422012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4045 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4046 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4047 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4048 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4049 New fields last_key and last_key_time.
4050 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4051 extended key-esc into extended key-extended key.
4052
52f0f643
VS
40532012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 Avoid unnecessary memcpy of whole video buffer.
4056
4057 * grub-core/video/fb/video_fb.c (dirty): New struct.
4058 (framebuffer): Add members current_dirty and previous_dirty.
4059 (dirty): New function.
4060 (grub_video_fb_fill_rect): Update dirty.
4061 (common_blitter): Likewise.
4062 (grub_video_fb_scroll): Likewise.
4063 (doublebuf_blit_update_screen): Copy only dirty part.
4064 (doublebuf_pageflipping_update_screen): Likewise.
4065 (grub_video_fb_doublebuf_blit_init): Init dirty.
4066 (doublebuf_pageflipping_init): Likewise.
4067 (grub_video_fb_setup): Likewise.
4068
e169a180
VS
40692012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4072 poll rate.
4073
48556879
VS
40742012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 Fix wildcard regexp dot and other special characters handling.
4077 Reported by: Robert Mabee.
4078
4079 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4080 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4081 (split_path): Trigger expansion on '?'.
4082 (unescape): New function.
4083 (wildcard_expand): Unescape parts copied without globbing.
4084 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4085 (grub_script_arglist_to_argv): Don't unescape expansions.
4086
0494408e
VS
40872012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * include/grub/net.h (grub_net_card): New member txbufsize.
4090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4091 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4092 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4093 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4094 txbufsize.
4095 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4096 compatible property to check for macs. Set
4097 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4098 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4099 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4100 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4101 (send_card_buffer): Use txbuf.
4102 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4103 nested function out of the parent while on it.
4104
cc35fe8f
VS
41052012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4108 presence check.
4109 (grub_ieee1275_net_config_real): Fix config pointer.
4110
970a0a09
VS
41112012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4114 filename parsing to non-block devices.
4115
3e19bf87
VS
41162012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4119
c62d1a0c
VS
41202012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4123 All users updated.
4124
ef76bec3
VS
41252012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4128 UUID search command even if hints probing failed.
4129
41302012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4131
4132 * po/POTFILES.in: Regenerated.
4133
70aaf305
VS
41342012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 Speed-up video on fuloong.
4137
4138 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4139 New function.
4140 (grub_pci_device_unmap_range): Handle non-cached address.
4141 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4142 add direct_ptr.
4143 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4144 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4145 (grub_video_sis315pro_set_active_render_target): Removed.
4146 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4147 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4148 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4149 sync caches.
4150 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4151 New proto.
4152
10400f0b
VS
41532012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * docs/grub.texi (Multi-boot manual config): New section.
4156
ba67e2c6
VS
41572012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 Avoid slow read-back from VRAM.
4160
4161 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4162 Move from here ...
4163 * grub-core/video/fb/video_fb.c
4164 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4165 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4166 (front_target): Remove front_target. Add pages.
4167 (grub_video_fb_init): Skip setting front_pages.
4168 (grub_video_fb_fini): Likewise.
4169 (doublebuf_blit_update_screen): Use pages.
4170 (grub_video_fb_doublebuf_blit_init): Likewise.
4171 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4172 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4173 (grub_video_fb_setup): Prefer doublebuffing.
4174
377c98cb
VS
41752012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4178 gzio.
4179
eac49cff
VS
41802012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 Add loongson tests.
4183
4184 * tests/util/grub-shell.in: Handle loongson.
4185 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4186 drivers.
4187 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4188 Reboot instead of shutdown if REBOOT is defined.
4189
0321415e
VS
41902012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4193 sized ports since unlike on real hardware qemu supports only 32-bit
4194 regs.
4195
3f2bdd8f
VS
41962012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4199 * util/grub-mkrescue.in: Handle loongson.
4200
29a049c9
VS
42012012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4204 Set is_part appropriately.
4205 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4206 names. Canonicalize partition without full disk.
4207
4abde346
VS
42082012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 Revert usb-quiesce since it's wrong.
4211
4212 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4213 (grub_ofdisk_init): Don't do quiesce.
4214
61f1d93b
VS
42152012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4218 PowerMac workaround to Xserves as well.
4219 Information supplied by: Benjamin Herrenschmidt.
4220
a09eb541
VS
42212012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 Don't assume that beginning address is also the entry point on ppc.
4224
4225 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4226 (grub_linux_boot): Use linux_entry.
4227 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4228 (grub_linux_load64): Likewise.
4229
505b3c9b
VS
42302012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4233
cbe0b4ef
VS
42342012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4237 needlessly lose the console.
4238
3006e981
VS
42392012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4242 space.
4243
4e5a96b0
VS
42442012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4245
7da036bb
VS
4246 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4247 than current grub_get_rtc() not implemented when booted with
4248 coreboot without TSC.
4249
4250 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4251 Add machine/time.h to kernel headers on loongson.
4252 * grub-core/Makefile.core.def (kernel): Remove
4253 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4254 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4255 (grub_get_rtc): Likewise.
4256 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4257 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4258 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4259 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4260 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4261 rather than installing known non-working time source.
4262 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4263 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4264 * include/grub/time.h: Don't include machine/time.h.
4265 * include/grub/efi/time.h: Removed.
4266 * include/grub/i386/efi/time.h: Likewise.
4267 * include/grub/i386/ieee1275/time.h: Likewise.
4268 * include/grub/powerpc/ieee1275/time.h: Likewise.
4269 * include/grub/sparc64/ieee1275/time.h: Likewise.
4270 * include/grub/x86_64/efi/time.h: Likewise.
4271
42722012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4275
4276 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4277 value.
4278 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4279 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4280 with dotless variants when any combining above is present.
4281
5561c22d
VS
42822012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4285 text and not binary.
4286
96f7e60e
VS
42872012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 Stop polling as soon as we have the packet we were waiting for.
4290
4291 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4292 All users updated.
4293 * grub-core/net/arp.c (have_pending): New var.
4294 (pending_req): Likewise.
4295 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4296 stop indicator.
4297 (grub_net_arp_receive): Set have_pending.
4298 * grub-core/net/dns.c (recv_data): New field stop.
4299 (recv_hook): Set stop.
4300 (grub_net_dns_lookup): Init stop and use as stop condition.
4301 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4302 condition.
4303 * grub-core/net/net.c (grub_net_poll_cards): New argument
4304 stop_condition. Stop when it goes true.
4305 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4306 indicator.
4307 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4308
3e747239
VS
43092012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 Keep TX and RX buffers on EFI rather than always allocate new ones.
4312
4313 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4314 card. All users updated.
4315 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4316 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4317 (get_card_packet): Likewise.
4318 (grub_efinet_findcards): Init new fields.
4319
f695e99a
VS
43202012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4323 compilation error on sparc64.
4324
9e5e66d1
VS
43252012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 Use ITC on IA64 rather than broken routine based on daytime.
4328
4329 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4330 ia64.
4331 (grub_get_rtc) [__ia64__]: Likewise.
4332 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4333 (get_itc): New function.
4334 (grub_rtc_get_time_ms): Likewise.
4335 (grub_machine_init): Calibrate ITC.
4336 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4337 Keep only on non-ia64. Don't export since it's broken and used only
4338 if TSC is unavailable.
4339
a1767404
VS
43402012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4343 even if it's used.
4344 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4345 Skip if parent is unused.
4346
34b2bced
VS
43472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4350
5e619f40
VS
43512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 Fix wildcard escaping.
4354
4355 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4356 * grub-core/script/execute.c (wildcard_escape): .. to here.
4357 Don't escape dot.
4358 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4359 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4360 Don't escape dot.
4361 * grub-core/script/execute.c (gettext_append): Always escape.
4362 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4363 * grub-core/script/yylex.l: Don't cut away the escaping.
4364 * tests/grub_script_echo1.in: Add tests with wildcard.
4365
c8ca5855
VS
43662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4369 (ftdi_hw_configure): Likewise.
4370 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4371 define.
4372 (real_config): Handle 1.5 stop bits.
4373 (pl2303_hw_configure): Likewise.
4374
7183452c
VS
43752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * Makefile.am: Add ppc linux bootcheck.
4378 * grub-core/tests/boot/linux-ppc.cfg: New file.
4379 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4380
f57c84cd
VS
43812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * tests/grub_script_expansion.in: Skip network protocols.
4384
ecfc6207
VS
43852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4388
8d03d284
VS
43892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4392 --rom-directory.
4393 Add -graft-points.
4394
61c42af0
VS
43952012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 ESCC serial driver for conducting sautomated tests in qemu.
4398 Not tested on real hardware.
4399
4400 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4401 * grub-core/term/ieee1275/escc.c: New file.
4402 * grub-core/Makefile.core.def (escc): New module.
4403
08fd1291
VS
44042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4407 invalid on error.
4408 (serial_hw_fetch): Don't read invalid handle.
4409 (serial_hw_put): Don't write into invalid handle.
4410
08dafeea
VS
44112012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 Add a 1.5 stop bits value.
4414
4415 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4416 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4417 GRUB_SERIAL_STOP_BITS_1_5.
4418
9068fdcf
VS
44192012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4422 value rather than let it uninited.
4423
f4d5820f
VS
44242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/commands/wildcard.c (+check_file): New function.
4427 (wildcard_expand): Don't expand to non-existing files, expand with
4428 suffix and not attempt to expand if not needed.
4429
3d2de9a7
VS
44302012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4433 out of partitions containing other partitions.
4434
c5c81ff9
VS
44352012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4438 on some qemu versions with GRUB.
4439
4440 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4441 define.
4442 (grub_openbsd_bootarg_pcibios): New struct.
4443 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4444 Add PCIINFO.
4445
08a14e0b
VS
44462012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * tests/util/grub-shell.in: Trim firmware output on EFI.
4449
cede3ca3
VS
44502012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4453 and coreboot since it's already in kernel.
4454
558d3a60
VS
44552012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4458 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4459 to here. New return value start. All users updated.
4460 Recursively scan linear mappings.
4461 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4462 proto.
4463 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4464 Use grub_util_get_dm_node_linear_info.
4465 * util/getroot.c (convert_system_partition_to_system_disk): Use
4466 grub_util_info rather than grub_dprintf.
4467 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4468
60fde14d
VS
44692012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4472
4473 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4474 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4475
24bd8838
VS
44762012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * include/grub/types.h (grub_set_unaligned64): New function.
4479 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4480 (setup): Likewise.
4481
7bc06a49
VS
44822012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4485 (grub_ofdisk_fini): Quiesce USB devices.
4486
49cea015
VS
44872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4490 caches.
4491
8dcbe03b
VS
44922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4495
5b258735
VS
44962012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/disk/pata.c (grub_pata_pio_read)
4499 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4500 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4501
37ba07eb
VS
45022012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 Extend automated tests to qemu-mips.
4505
4506 * Makefile.am: reorganise tests and enable qemu-mips.
4507 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4508 * grub-core/tests/boot/linux.init-mips.S: New file.
4509 * tests/partmap_test.in: Handle ata0 disks.
4510 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4511 non-pc i386.
4512
070038f8
VS
45132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4516 ia64.
4517 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4518 quotes while on it.
4519
004be2cd
VS
45202012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4523 (grub_halt): Likewise.
4524 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4525
b1622487
VS
45262012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * grub-core/term/serial.c (grub_serial_register)
4529 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4530 the behaviour in line with x86 platforms.
4531
b7b4ab33
VS
45322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4535 (grub_ata_strncpy): Likewise.
4536 (grub_ata_identify): Add missing byteswaps.
4537
5e3535ae
VS
45382012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4541 byte-swap.
4542 (screen_read_char): Likewise.
4543 (grub_vga_text_cls): Likewise.
4544
c21b17e6
VS
45452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4548 filenames.
4549 (make_file_path): Likewise.
4550
bf293dec
VS
45512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4554 machines.
4555 Tested by: Paulo Flabiano Smorigo.
4556 Crucial information about API supplied by: Coleen <Last name unknown>.
4557 Reviewed by: Coleen <Last name unknown>.
4558
81f6ef0e
VS
45592012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * util/grub-mkimage.c: Disable -Wcast-align.
4562
7284143a
VS
45632012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4566 as they are fatal.
4567
b99f3e00
VS
45682012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4571
944f752d
VS
45722012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * util/grub-probe.c (escape_of_path): Fix double free.
4575
6cce6f38
VS
45762012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * grub-core/commands/videoinfo.c (hook): Show pitch.
4579
1e1eb50e
VS
45802012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4583
1c715b5a
VS
45842012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4587 (probe): Add ieee1275 to OFW devices.
4588
007ae52d
VS
45892012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4592
4557a36d
VS
45932012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 Handle IBM OFW path.
4596
4597 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4598 available.
4599 (of_path_of_scsi): Handle vdevice.
4600
efbeefe9
VS
46012012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4604 Allocate in multiples of 16 to avoid adding a few bytes free region the
4605 windows bugs upon.
4606
15a940bb
VS
46072012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4610 Allocate in multiples of 16 to avoid adding a few bytes free region the
4611 windows bugs upon.
4612 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4613
6e5efd60
VS
46142012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4617 resolutions.
4618 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4619 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4620
0d3d137e
IS
46212012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4622
4623 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4624
45dbe300
VS
46252012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4628 resulted in \\ at the end of the line.
4629
6d8db947
VS
46302012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4633 (grub_parser_cmdline_state): Likewise.
4634 (grub_parser_split_cmdline): Likewise.
4635
de89d338
VS
46362012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4639 /dev/root and /dev/dm-*.
4640
00d41dee
VS
46412012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4644 fix partially stale display.
4645
f95d1f11
VS
46462012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4649 substraction.
4650
6297e197
VS
46512012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4654 Fix MBR remapping workaround.
4655 (grub_util_biosdisk_read) [__linux__]: Likewise.
4656
8a7ecad3
VS
46572012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4660
2b34f944
VS
46612012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * configure.ac: Bump to beta6.
4664
684aef11
CW
46652012-05-31 Christer Weinigel <christer@weinigel.se>
4666
4667 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4668
05b0bb91
VS
46692012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4672 (grub_cmd_linux): Likewise.
4673
bda36bfa
CW
46742012-05-31 Christer Weinigel <christer@weinigel.se>
4675
4676 Fix EHCI low-speed.
4677
4678 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4679 (GRUB_EHCI_MULT_TWO): Likewise.
4680 (GRUB_EHCI_MULT_THREE): Likewise.
4681 (GRUB_EHCI_CMASK_MASK): New enum value.
4682 (GRUB_EHCI_SMASK_MASK): Likewise.
4683 (GRUB_EHCI_CMASK_OFF): Likewise.
4684 (GRUB_EHCI_SMASK_OFF): Likewise.
4685 (grub_ehci_pci_iter): Enable periodic schedule.
4686 (grub_ehci_parse_notrun): Likewise.
4687 (grub_ehci_restore_hw): Likewise.
4688 (grub_ehci_setup_qh): Set flags for low speed transfers.
4689 (grub_ehci_find_qh): Use periodic list for low speed.
4690 (grub_ehci_setup_transfer): Check periodic queue as well.
4691 (grub_ehci_check_transfer): Likewise.
4692 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4693
e12bcb1c
PFS
46942012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4695
4696 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4697 parameter is used.
4698
bcc75fb3
PJ
46992012-05-31 Peter Jones <pjones@redhat.com>
4700
4701 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4702 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4703 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4704
f19cb95e
VS
47052012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4708 uninited variable. Allocate at least setup_sects.
4709
a4e5ca80
VS
47102012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 Fix handling of EFI with big memory maps.
4713
4714 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4715 (real_mode_mem): Likewise.
4716 (real_mode_target): Likewise.
4717 (real_mode_pages): Likewise.
4718 (prot_mode_pages): Likewise.
4719 (linux_params): New var.
4720 (linux_cmdline): Likewise.
4721 (free_pages): Don't set real mode variables.
4722 (allocate_pages): Don't allocate real mode memory.
4723 (grub_e820_add_region): Remove the limit.
4724 (grub_linux_boot): Allocate and copy real mode memory.
4725 (grub_linux_unload): Free linux_cmdline.
4726 (grub_cmd_linux): Use temporary storage for parameters.
4727 (grub_cmd_initrd): Likewise.
4728 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4729 (linux_kernel_params): Make it 1K big.
4730
ddb73558
VS
47312012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * Makefile.util.def: Remove -Wno-format.
4734 * grub-core/Makefile.core.def: Likewise.
4735
1c4afb60
VS
47362012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * tests/cmp_unit_test.c: Add missing failure message.
4739 * tests/example_unit_test.c: Likewise.
4740 * tests/printf_unit_test.c: Likewise.
4741
941e3a6d
VS
47422012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4745 relaxation of protective MBR requirements.
4746
b105df76
VS
47472012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * configure.ac: Add condition for COND_HOST_XNU.
4750 * Makefile.util.def (10_xnu): New script.
4751 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4752
84e1569e
VS
47532012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4756 objconv bug.
4757
130c0f77
VS
47582012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4761 Binary on other platforms stays identical.
4762
6fd0b143
VS
47632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4766 Apple.
4767
0af1751d
VS
47682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4771
176d5f7d
VS
47722012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4775 rather than defining size_t ourselves to avoid conflict.
4776
7de5e20a
VS
47772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4780 initialisation to avoid __bzero reference.
4781
f7143efe
VS
47822012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4785 version.
4786 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4787 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4788 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4789 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4790 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4791
e6ad0555
VS
47922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4795 * grub-core/kern/misc.c: Likewise.
4796 * grub-core/loader/i386/xnu.c: Likewise.
4797 * include/grub/i386/tsc.h: Likewise.
4798 * include/grub/symbol.h: Likewise.
4799
4a5a3c4a
VS
48002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4803 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4804 on older compiler.
4805
037f6d90
VS
48062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4809 Implement Apple flavour.
4810 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4811
f7194551
VS
48122012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4815 (memmove) [__APPLE__]: Likewise.
4816 (memcpy) [__APPLE__]: Likewise.
4817 (memset) [__APPLE__]: Likewise.
4818 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4819 (memmove) [__APPLE__]: Likewise.
4820 (memcpy) [__APPLE__]: Likewise.
4821 (memset) [__APPLE__]: Likewise.
4822
85a730ca
VS
48232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4826 dependency discard.
4827
40e80b94
VS
48282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/normal/main.c (read_config_file): Provide config_file and
4831 config_directory.
4832 * util/grub.d/41_custom.in: Use config_directoy when available.
4833
9da59c32
VS
48342012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4837 (grub_bfs_dir): Likewise.
4838
2787ae53
PJ
48392012-05-27 Peter Jones <pjones@redhat.com>
4840
4841 The old code gives arguments to a printf function which can't work
4842 correctly, and the compiler complains.
4843
4844 * grub-core/tests/example_functional_test.c (example_test): Add
4845 missing text.
4846 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4847 * include/grub/test.h (grub_test_assert_helper): New declaration.
4848 (grub_test_assert): Use grub_test_assert_helper.
4849
526ef13d
VS
48502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4853 (exfctest): ... this to avoid overlong filenames.
4854 All users updated.
4855
20dd511c
VS
48562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Handle "." and ".." on squashfs.
4859
4860 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4861 Make inode numbers into stack.
4862 (grub_squash_read_symlink): Use stack.
4863 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4864 (make_root_node): Fill stack.
4865 (grub_squash_open): Use stack.
4866
1d80c62a
VS
48672012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4870 freeing.
4871
d336f652
VS
48722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4875 stderr on test calls.
4876
8b43f587
VS
48772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4880
80a3dc3f
VS
48812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4884
47e297d4
VS
48852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4888 "..".
4889
df042ccb
VS
48902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4893 (grub_hfsplus_iterate_dir): Add "." and "..".
4894
fc977f48
VS
48952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4898 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4899
f3250e5f
VS
49002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4903 (find_path): Handle "." and "..".
4904
fd8ed4c5
VS
49052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4908 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4909 (grub_affs_iterate_dir): Handle hardlinks.
4910
4ce776d2
MG
49112012-05-26 Matthew Garrett <mjg@redhat.com>
4912
4913 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4914 (grub_efi_console_fini): Likewise.
4915 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4916 (grub_video_gop_fill_mode_info): Rename to ...
4917 (grub_video_gop_fill_real_mode_info): ... this.
4918 (grub_video_gop_fill_mode_info): New function.
4919 (grub_video_gop_setup): Setup double framebuffer.
4920 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4921 Free offscreen.
4922 (grub_video_gop_swap_buffers): Copy framebuffer.
4923 (grub_video_gop_fini): Free offscreen buffer.
4924 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4925 New enum.
4926 (grub_efi_gop_blt_pixel): New struct.
4927
683031ba
VS
49282012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * gentpl.py: Remove error disabling for objconv.
4931
c2deb798
VS
49322012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * configure.ac: Remove -Wunitialized as it's not available on older
4935 compilers.
4936
49372012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4938
4939 Fix extent overflow comparator.
4940
4941 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4942 (grub_hfsplus_read_block): Set type.
4943 (grub_hfsplus_cmp_extkey): Compare type.
4944
d6b1fd36
VS
49452012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4948
0a9aa0f6
VS
49492012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4952 than 0.
4953
8360e159
VS
49542012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4957 (dejavu_bold_14.pf2): New target.
4958
501b9e4b
VS
49592012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * configure.ac: Fix djvu font detection.
4962
7026b0e2
VS
49632012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4966 ext* instead of ext2.
4967
c2a51ade
VS
49682012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4971 name with \0.
4972
8f803a5d
JU
49732012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4974
4975 * docs/grub-dev.texi: Remove dot from .png.
4976
13c6353f
VS
49772012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4980 protective entry in any slot.
4981 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4982 if protective entry is found in any slot.
4983
4984 Protective entry in non-first slot make no sense but is a widespread
4985 brain damage.
4986
4cf6be1b
VS
49872012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4990
937d1c44
VS
49912012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4994 with old reiserfs.
4995 (grub_reiserfs_open): Don't free root.
4996
021d90ec
VS
49972012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5000 after freeing for safety.
5001
967b2b64
VS
50022012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5005 Reported by: Jordan Uggla.
5006
34274d02
JU
50072012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5008
967b2b64
VS
5009 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5010 actual implementation. Specifically, clarify that the grub menu will
5011 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5012 passed.
34274d02 5013
dcaaae9d
BH
50142012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5015
5016 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5017 of r0.
5018
7086ad52
VS
50192012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 Remove unjustified hard dependency of normal.mod on gfxterm.
5022
5023 * include/grub/term.h (grub_term_output): New member fullscreen.
5024 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5025 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5026 (grub_gfxterm): Set .fullscreen.
5027 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5028 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5029
37ed2c9b
VS
50302012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5033 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5034 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5035
a4469c88
VS
50362012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5039
4e461486
VS
50402012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5043 a bad FS.
5044
aa78f5c4
VS
50452012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5048 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5049
197626b5
VS
50502012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5053 (grub_jfs_mount): Fill caseins.
5054 (grub_jfs_find_file): Respect caseins.
5055
8ad3f28c
VS
50562012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5059 through UTF-16.
5060
0c6c324e
VS
50612012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5064 New argument origpath. All users updated.
5065
c6666ba6
VS
50662012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5069 (read_attr): Ensure that we read start of possibly compressed block.
5070
e28e5fe5
VS
50712012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5074 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5075 All users updated.
5076
5fc23ab2
VS
50772012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5080 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5081 (dejavu.pf2): Replace with ...
5082 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5083 this.
5084
79dbc21c
VS
50852012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * util/grub.d/20_linux_xen.in: Add missing line.
5088
d2fcfb0c
VS
50892012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5092 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5093 (grub_utf16_to_utf8): Likewise.
5094
5560e9d6
VS
50952012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5098 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5099 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5100 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5101 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5102 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5103
51042012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5105
5106 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5107 a bad FS.
5108
5560e9d6 51092012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5110
5111 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5112 (grub_udf_read_symlink): Handle read_string failure.
5113
5eae3175
VS
51142012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5117 comment.
5118
c1ad82db
VS
51192012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 Fix handling of UDF symlinks.
5122
5123 * grub-core/fs/udf.c (read_string): New argument outbuf.
5124 All users updated.
5125 (grub_ufs_read_symlink): Rename to ...
5126 (grub_udf_read_symlink): ... this. All users updated.
5127 Handle symlinks with more than one component.
5128
33eca6e0
VS
51292012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5132 symlinks. Replace leading colon with a slash.
5133
57f4a70b
VS
51342012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5137 filename.
5138
38c8ee20
VS
51392012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5142 match in inner node.
5143
2e57f28f
VS
51442012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5147 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5148 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5149 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5150 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5151 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5152 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5153 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5154 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5155
fe8c2f11
VS
51562012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 Use grub-probe and not cmp to check that disk is empty.
5159
5160 * util/grub-install.in: Use grub-probe for zero-check.
5161 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5162 (probe): Handle PRINT_ZERO_CHECK.
5163 (argp_parser): Handle -t zero_check.
5164
51652012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5166
5167 Flush block cache on adding disk to device map.
5168
5169 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5170 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5171 adding.
5172 (read_device_map): Likewise.
5173 (open_device): Flush on opening.
5174
690434e8
VS
51752012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5178 (handle_symlink): Fix off-by-one error.
5179 Canonicalize the target.
5180 (grub_cpio_dir): Canonicalize the name.
5181 Fix memory leak.
5182 Set directory.
5183 (grub_cpio_open): Canonicalize the name.
5184
742d2be6
VS
51852012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5188 handling.
5189
3244fe96
VS
51902012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5193 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5194
8aeb1837
VS
51952012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5198 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5199 All users updated.
8aeb1837 5200
9133fd05
VS
52012012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5204 counterpart.
5205
6d521c5b
VS
52062012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 Fix UFS1 big file support.
5209
5210 * grub-core/fs/ufs.c (INODE): Removed.
5211 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5212 64-bit.
5213 (INODE_MODE): Simplify.
5214 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5215 (grub_ufs_lookup_symlink): Don't use INODE.
5216
21b82e17
VS
52172012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5220
5221 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5222 (grub_minix_data): Replace log_block_size with block_size.
5223 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5224 (grub_minix_mount): Fill block_size.
5225
52262012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5227
5228 * configure.ac: Bump to beta5.
5229
f417ed04
VS
52302012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 Fix wrapped HFS+ handling.
5233
5234 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5235 blocks_start. All users updated.
5236 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5237 wrapping offset.
5238 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5239
607d282b
VS
52402012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 Fix long symlinks on reiserfs.
5243
5244 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5245 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5246 (grub_reiserfs_iterate_dir): Save size for non-directories.
5247 (grub_reiserfs_open): Don't reread stat block as we already know the
5248 size.
5249 (grub_reiserfs_read): Split into...
5250 (grub_reiserfs_read_real): ... and ...
5251 (grub_reiserfs_read): ...this.
5252
ae16024d
VS
52532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 Fix non-indexed JFS.
5256
5257 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5258 (grub_jfs_data): New field namecomponentlen.
5259 (grub_jfs_mount): Fill namecomponentlen.
5260 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5261
eea1e26e
VS
52622012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5265 * tests/grub_script_echo1.in: Add tests.
5266
df760f77
VS
52672012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * util/grub-install.in: Ignore empty devicetree directory.
5270
5efb817d
B
52712012-05-08 Bean <bean123ch@gmail.com>
5272
5273 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5274 All users updated.
5275 (free_rsm): Free header as well.
5276 (free_old_fragments): Fix memory leak.
5277 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5278 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5279 (destroy_pq): Likewise.
5280 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5281
668ea6d2
VS
52822012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5285 resulting hash as a precaution.
5286
1739b1fe
VS
52872012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5290 '_' in variable names.
5291 * grub-core/net/net.c (grub_net_network_level_interface_register):
5292 Likewise.
5293
6ae485aa
VS
52942012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 Fix AFFS with non-512B blocks.
5297
5298 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5299 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5300 (grub_affs_data): Replace blocksize with log_blocksize.
5301 (grub_affs_read_block): Fix non-512B blocks.
5302 (grub_affs_read_symlink): Likewise.
5303 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5304 (grub_affs_read): Fix non-512B blocks.
5305 (grub_affs_label): Likewise.
5306 (grub_affs_mtime): Likewise.
5307 (grub_affs_mount): Fix block detection routine.
5308
d20fab84
VS
53092012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 Add filesystem mtime to AFFS.
5312
5313 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5314 (aftime2ctime): New function.
5315 (grub_affs_dir): Use aftime2ctime.
5316 (grub_affs_label): Fix return value.
5317 (grub_affs_mtime): New function.
5318 (grub_affs_fs): Add mtime.
5319
e87b10f5
VS
53202012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5323 UTF-8.
5324
7dceec9b
VS
53252012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5328 UTF-8.
5329
2f48221f
VS
53302012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5333
dacd85cf
VS
53342012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5337 flags.
5338 (FLAGS_CASE_SENSITIVE): New enum value.
5339 (cache_entry): New struct.
5340 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5341 cache_size and cache.
5342 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5343 Add log_blocksize and fshelp_flags.
5344 (grub_sfs_read_extent): Handle non-512 blocks.
5345 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5346 (grub_sfs_read_file): Handle non-512 blocks.
5347 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5348 fshelp_flags.
5349 (grub_sfs_read_symlink): Handle non-512 blocks.
5350 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5351 (grub_sfs_dir): Free cache.
5352 (grub_sfs_close): Likewise.
5353
24e9a854
VS
53542012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5357 filesystems.
5358
62ace64d
VS
53592012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5362
83b2e89c
VS
53632012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5366
75ccaea3
VS
53672012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5370 (grub_sfs_read_extent): Likewise.
5371 (grub_sfs_read_block): Likewise.
5372 (grub_sfs_mount): Likewise.
5373 (grub_sfs_iterate_dir): Likewise.
5374 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5375 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5376
1b8463f2
VS
53772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 Fix errors on compressed NTFS with 512B clusters.
5380
5381 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5382 types.
5383 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5384 not 0.
5385 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5386 Relax check for inline extents.
5387 (ntfscomp): Return correct -1 on error and not 0.
5388
4f8e368f
VS
53892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * util/grub-install.in: Fix handling of prefix containing spaces.
5392
6f5d5ee8
VS
53932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5396 (grub_squash_read_data): Fix offset byte-swapping.
5397
ce41ab7a
VS
53982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5401 per common usage and preffered in several parts of code.
5402 (grub_memcmp): Likewise.
5403 (grub_strncmp): Likewise.
5404 * include/grub/misc.h (grub_strcasecmp): Likewise.
5405 (grub_strncasecmp): Likewise.
5406 * Makefile.util.def (cmp_test): New test.
5407 (grub_script_strcmp): Likewise.
5408 * tests/cmp_unit_test.c: New file.
5409 * tests/grub_script_strcmp.in: Likewise.
5410 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5411
49717bf4
VS
54122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * include/grub/pci.h: Move enums into no-asm part.
5415
0a308f64
VS
54162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5419
1796965f
ST
54202012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5421
5422 * util/getroot.c (find_hurd_root_device): Try to make error message
5423 and comments to translators clearer.
5424
4e9b2819
VS
54252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5428
076aeb50
VS
54292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5432 btrfs.
5433
19424d94
VS
54342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * docs/grub.cfg: Update.
5437
ebb73076
VS
54382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * docs/grub.texi (PXE): Remove not present variables.
5441
9a1b669c
VS
54422012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/net/net.c (defserver_set_env): New function.
5445 (defserver_get_env): Likewise.
5446 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5447
d38bf7d3
VS
54482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5451 entries.
5452
54532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5454
5455 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5456 * grub-core/kern/emu/hostdisk.c: Likewise.
5457
e5e4ca48
ST
54582012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5459
5460 Handle hurd userspace partitions.
5461
5462 * util/getroot.c (find_hurd_root_device): New function.
5463 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5464
56bb5dd5
VS
54652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5468 names.
5469 Reported by: Bastian Blank.
5470
9e8bc27a
VS
54712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5474 crossing page boundary.
5475
aa01499d
VS
54762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 Fix B-tree search in BFS, especially in presence of non-ASCII
5479 characters.
5480
5481 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5482 (find_in_b_tree): Use standard bsearch + btree algorithm.
5483
57006035
VS
54842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5487 and so on.
5488
9d34bb85
MG
54892012-05-03 Matthew Garrett <mjg@redhat.com>
54902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 Suspend broadcom cards in order to stop their DMA.
5493
5494 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5495 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5496 (pci): Don't build on x86 EFI.
5497 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5498 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5499 New function.
5500 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5501 stop_broadcom if running on EFI.
5502 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5503 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5504 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5505 (grub_pci_find_capability): New proto.
5506
01aab997
VS
55072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * docs/grub.texi: Remove dot from the extension as it apparently
5510 doesn't work with some makeinfo versions.
5511
fbd8dca6
VS
55122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5515 with GRUB expectance.
5516
dab797f4
VS
55172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5520
1516bfb4
VS
55212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5524 zero after directory block since last entry may be not 0-terminated if
5525 it ends on block boundary. Use continue instead of if spanning whole
5526 loop.
5527
a3a0eace
VS
55282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 Support 4K sectors UDF inline files.
5531
5532 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5533 (grub_udf_extended_file_entry): Likewise.
5534 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5535 All users updated.
5536 (get_fshelp_size): New function.
5537 (grub_udf_read_icb): Read whole block.
5538 (grub_udf_iterate_dir): Likewise.
5539 (grub_udf_dir): Likewise.
5540 (grub_udf_open): Likewise.
5541
c82f16c1
VS
55422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5545
59fd2aac
VS
55462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5549 inline symlinks in addition to workaround.
5550
3b4afb4d
VS
55512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5554
f45c794a
VS
55552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5558
f25cecbd
VS
55592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5562
bb9a34e8
VS
55632012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 Fix reiserfs big seek times.
5566
5567 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5568 exact. All users updated.
5569 (grub_reiserfs_read): Use nearest btree search for seeking.
5570 Fix return value on error.
5571
dc478aea
VS
55722012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5575 entries.
5576 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5577 * docs/grub.texi: Update menuentry description.
5578
8db10f47
VS
55792012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5582 crash when embedding onto filesystem.
5583
bcb288ed
VS
55842012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5587 name.
5588
a626fdd7
VS
55892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5592
b2f68477
VS
55932012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5596 commit.
5597
ba15b2af
B
55982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
55992012-05-01 Bean <bean123ch@gmail.com>
5600
5601 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5602
a188012e
VS
56032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5606 Special behaviour for len = 0 to read whole file isn't used anywhere and
5607 can cause buffer ovewrflows in several places.
5608
f0a53ed2
VS
56092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5612
5ed554f0
VS
56132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 Handle RAIDZ on non-512B sectors.
5616
5617 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5618 max_children_ashift.
5619 (fill_vdev_info_real): Fill max_children_ashift.
5620 (read_device): Use max_children_ashift.
5621
ddc58357
VS
56222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5625
e3282399
VS
56262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5629 disk names.
5630 * docs/grub.texi: Update device.map parts.
5631
ee618bd4
VS
56322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 Don't scan into non-diskfilter devices having diskfilter names.
5635
5636 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5637 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5638 handling.
5639 (scan_disk_hook): New function.
5640
bdf88864
B
56412012-04-29 Bean <bean123ch@gmail.com>
5642
5643 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5644 allocation.
5645
32745f51
MK
56462012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5647
5648 * configure.ac: Detect starfield theme font path
5649 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5650
bc95c8c0
VS
56512012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5654 geometry on serial consoles.
5655
147fbcab
VS
56562012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5659 because of network consoles.
5660
0f42c889
VS
56612012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5664 handling.
5665
4a3594c9
VS
56662012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5669 falls on Q syndrom.
5670
5cb53879
VS
56712012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5674 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5675
b282dfe5
VS
56762012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5679 Allocate at lest 8192 for temporary buffer as required for lzo.
5680
daa59f47
VS
56812012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5684 to cluster_bits, since it's already added in.
5685 (grub_fat_read_data): Likewise.
5686
986748ce
VS
56872012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5690 as long as cluster size is multiple of 512 bytes.
5691
a20f6ad0
VS
56922012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * util/grub-mkrescue.in: Fix locale directory.
5695
385f9abb
VS
56962012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * grub-core/kern/emu/hostdisk.c (map): Make static.
5699
1c557d30
B
57002012-04-23 Bean <bean123ch@gmail.com>
5701
5702 * util/grub-fstest.c (fstest): Add missing break.
5703
524b5d3a
ST
57042012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5705
5706 Fix hurd build.
5707
5708 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5709 not define nr variable.
fe4824e9 5710 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5711 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5712 grub_find_device): Do not define.
524b5d3a 5713
9a06490c
VS
57142012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 Fix kfreebsd compile and behaviour.
5717
5718 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5719 format-security.
5720 * util/getroot.c: Fix wait.h include.
5721 (grub_guess_root_devices): Error if grub_find_device fails.
5722 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5723 (grub_util_get_dev_abstraction): Likewise.
5724 (grub_util_pull_device): Likewise.
5725 (grub_util_get_grub_dev): Likewise.
5726 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5727
48143d96
VS
57282012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 Fix and unify wholedisk detection.
5731
5732 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5733 is_part. All users updated.
5734 (device_is_wholedisk): Removed.
5735 (grub_util_biosdisk_get_grub_dev): Use is_part.
5736
ebbd24f3
VS
57372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5740 mode.
5741
56f7aa1e
VS
57422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * configure.ac: Bump to beta4.
5745
9c815e01
VS
57462012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5749 --fs-uuid --set UUID syntax.
5750
59e2651a
VS
57512012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5754 disunification.
5755
54e03cfc
VS
57562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5759
81092a75
MK
57602012-04-18 Mads Kiilerich <mads@kiilerich.com>
5761
5762 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5763
f8315e14
MG
57642012-04-18 Mike Gilbert <floppym@gentoo.org>
5765
5766 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5767
1501ac21
B
57682012-04-18 Bean <bean123ch@gmail.com>
5769
5770 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5771 place.
5772
cb7f944e
VS
57732012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5776 users updated.
5777 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5778 corresponding to GRUB partitions.
5779 (grub_util_biosdisk_write): Likewise.
5780
b72d44a1
VS
57812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 Scan mdraid before LVM.
5784
5785 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5786 (grub_diskfilter_register_front): ... this.
5787 (grub_diskfilter_register_back): New function.
5788 All users of grub_diskfilter_register updated.
5789
33d918b8
VS
57902012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * util/grub-install.in: Fix an automatic target detection bug.
5793
c6ca973d
VS
57942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * util/grub-install.in: New option --efi-directory.
5797
b41be562
VS
57982012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5801 boot services if we have no other choice.
5802
58032012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5806 document it.
5807 * tests/util/grub-shell.in: Update to --directory.
5808
e0595a73
VS
58092012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5812
4ed80652
VS
58132012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5816 (grub_minix_read_file): Likewise.
5817 (grub_minix_read_inode): Likewise.
5818 (grub_minix_find_file): Likewise.
5819 (grub_minix_dir): Likewise.
5820
56008077
VS
58212012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * util/grub-setup.c (setup): Fix partition handling and blocklist
5824 check.
5825
ee520775
VS
58262012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5829 redundant buggy overlap check.
5830
16fc9293
VS
58312012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5834 and grub-mknetdir.
5835
9bab65c4
VS
58362012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5839 kh.loadflags on pre-2.00 kernels.
5840
3c491b47
VS
58412012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 Terminate UNDI and PXE before launching the payload to avoid problems
5844 with DMA.
5845
5846 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5847 (grub_loader_flags): ... this. All users updated.
5848 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5849 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5850 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5851 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5852 function.
5853 (grub_pxe_restore): Likewise.
5854 (fini_hnd): New var.
5855 (GRUB_MOD_INIT): Register shutdown hook.
5856 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5857 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5858 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5859 (grub_loader_set): Rename second argument to flags.
5860
851ffada
VS
58612012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5864 written bytes.
5865 (grub_get_num_of_utf8_bytes): New function.
5866 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5867 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5868 executing it.
5869 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5870 (grub_ucs4_to_utf8): Change return type.
5871
491c57a8
VS
58722012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5875 warning.
851ffada
VS
5876 * grub-core/fs/bfs.c (hop_level): Likewise.
5877 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5878
756773df
VS
58792012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/lib/adler32.c: Recode due to license unclearness.
5882
fd556a96
VS
58832012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5886 (test_header): Likewise.
5887
9f9d3f69
VS
58882012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 Fix --help formatting.
5891
5892 * util/grub-mkconfig_lib.in (print_option_help): New function.
5893 (grub_fmt): Likewise.
5894 * util/grub-install.in: Use print_option_help and grub_fmt.
5895 * util/grub-kbdcomp.in: Likewise.
5896 * util/grub-mkconfig.in: Likewise.
5897 * util/grub-mknetdir.in: Likewise.
5898 * util/grub-mkrescue.in: Likewise.
5899 * util/grub-mkstandalone.in: Likewise.
5900 * util/grub-reboot.in: Likewise.
5901 * util/grub-set-default.in: Likewise.
5902 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5903
561ec77e
VS
59042012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * linguas.sh: Remove autogenerated *.po.
5907
7ec2b021
VS
59082012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * po/README: Move language fetcing to ...
5911 * linguas.sh: ... here.
5912 * po/README: Point to linguas.sh.
5913
a88f3270
VS
59142012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * po/README: Exclude ko.po due to disclaimer problems.
5917
d61357ce
VS
59182012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5921 len = 0.
5922 (grub_gettext_translate_real): Handle 0th string.
5923 (grub_gettext_translate): Ensure that "" isn't translated.
5924
505e41dc
VS
59252012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5928 TRANSLATORS comment.
5929 (grub_diskfilter_print_partmap): Propagate changing of error into
5930 warning.
5931
e44092db
VS
59322012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5935 to uint64_t to prevent overflow.
5936 (grub_diskfilter_lv): Increase start_extent and extent_count
5937 to uint64_t to prevent overflow.
5938
9b83956a
VS
59392012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * configure.ac: Increase version.
5942
da0d5b3f
VS
59432012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5946
5947 * po/Rules-translit: New file.
5948 * po/arabic.sed: Likewise.
5949 * po/cyrillic.sed: Likewise.
5950 * po/greek.sed: Likewise.
5951 * po/hebrew.sed: Likewise.
5952 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5953 * po/Makefile.in.in: Add extra_dist4.
5954
ac66b453
VS
59552012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5958
5959 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5960 modify names. Introduce MODE_BIGENDIAN.
5961 * grub-core/fs/minix_be.c: New file.
5962 * grub-core/fs/minix2_be.c: Likewise
5963 * grub-core/fs/minix3_be.c: Likewise.
5964 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5965 minix3_be.
5966 * grub-core/Makefile.core.def (minix_be): New module.
5967 (minix2_be): Likewise.
5968 (minix3_be): Likewise.
5969
59702012-04-01 Felix <email@hamburg.de>
5971
5972 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5973 (devs): Add MBP 2011.
5974
0a2d5a82
VS
59752012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5978
d1625889
VS
59792012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/normal/cmdline.c (print_completion): New field
5982 prompt_len.
5983 (grub_cmdline_get): Handle width properly.
5984
6d36a236
VS
59852012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5988
9576977e
VS
59892012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5992 after 29th of February.
9576977e 5993
d73ff15d
VS
59942012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 Fix exfat endianness handling.
5997
5998 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5999 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6000 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6001 Byte-swap utf16 when necessary.
6002 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6003
bbb39a45
AB
60042012-03-31 Anton Blanchard <anton@samba.org>
60052012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Fix btrfs endianness handling.
6008
6009 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6010 (lower_bound): Make root uint64_t. Use root in le.
6011 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6012 (find_path): Fix template key init.
6013 (grub_btrfs_dir): Fix mtime byteswap.
6014 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6015
354e0af7
VS
60162012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6019 recursion_depth. Break infinite resursions. All users updated.
6020
4e75f21c
VS
60212012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6024 after free.
6025 Reported by: Peter Jones.
6026
25581802
AB
60272012-03-31 Anton Blanchard <anton@samba.org>
6028
6029 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6030 8 bit values.
6031
08fbf92e
VS
60322012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * util/grub-install.in: Fix nvram call for PreP.
6035
5d1182a6
VS
60362012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6039 the error when some elements are missing into a warning.
6040
3f8cdd90
VS
60412012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6044
51006716
CW
60452012-03-28 Colin Watson <cjwatson@ubuntu.com>
6046
6047 * docs/grub.texi (Invoking grub-probe): New section.
6048 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6049
e1bd676b
VS
60502012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 Fix tab and wide character handling in editor and menu.
6053
6054 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6055 agglomerate control characters with combining marks.
6056 (bidi_line_wrap): Allow break on tab.
6057 (grub_unicode_get_comb_start): New function.
6058 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6059 and tab correctly.
6060 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6061 with a space.
6062 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6063 fixed_tab_size. All users updated.
6064 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6065 (grub_term_getcharwidth): Handle \t.
6066 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6067 and copy.
6068
22e6a774
VS
60692012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 Handle big-endian mdraid.
6072
6073 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6074 * grub-core/Makefile.core.def (mdraid09_be): New module.
6075 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6076 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6077 * grub-core/disk/mdraid_linux_be.c: New file.
6078
3c0eae66
VS
60792012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6082
b6cf74c9
VS
60832012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6086 missing quotes which caused confusion among translators.
6087
83c93b9c
VS
60882012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * util/grub-mkconfig_lib.in: Fix typo.
6091
ac6fd218
VS
60922012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6095 spaces.
6096 * tests/grub_script_leading_whitespace.in: New file.
6097 * Makefile.util.def (grub_script_leading_whitespace): New test.
6098
ba287dd8
VS
60992012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6102 to work.
6103
d2d58d0a
VS
61042012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6107 starts with control character.
6108
0382d9bb
VS
61092012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6112 overflow.
6113 (grub_gdb_outbuf): Likewise.
6114
d83ff9f9
VS
61152012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6118 zero terminator. Fixes a crash.
6119
2282da4a
VS
61202012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6123 beyond 4 GiB.
6124 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6125 images independently of preffered adderss field.
6126
0ae4f0bd
VS
61272012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6130 * grub-core/commands/regexp.c: Likewise.
6131 * grub-core/loader/i386/linux.c: Likewise.
6132 * grub-core/partmap/msdos.c: Likewise.
6133 * grub-core/script/execute.c: Likewise.
6134 * grub-core/term/gfxterm.c: Likewise.
6135
546fbe9b
VS
61362012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 Add variable parsing in $"..." and fix several mismatches with bash.
6139
6140 * Makefile.util.def (grub_script_gettext): New test.
6141 * grub-core/script/execute.c (parse_string): New function.
6142 (gettext_append): Likewise.
6143 (grub_script_arglist_to_argv): Use gettext_append.
6144 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6145 * tests/grub_script_gettext.in: New file.
6146
9fdb2d7b
VS
61472012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 Fix handling of leading spaces in scripts.
6150
6151 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6152 spaces.
6153 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6154 other than skipping \r. All users updated.
6155 * tests/grub_script_echo1.in: Add space-related tests.
6156 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6157
1a1ac4f6
VS
61582012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6161
b63d89b6
VS
61622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * configure.ac: Bump up the version to beta2.
6165
17f38c0f
VS
61662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 Fix gettext reload bugs (e.g. inability to disable gettext
6169 once enabled).
6170
6171 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6172 main_context and secondary_context. All functions updated.
6173 (grub_gettext_translate): Rename to ...
6174 (grub_gettext_translate_real): ... this. Return NULL on failed
6175 translate.
6176 (grub_gettext_translate): Handle secondary context.
6177 (grub_gettext_delete_list): Close file and zero-out the context.
6178 (grub_mofile_open): Don't call grub_gettext_delete_list.
6179 Don't close file.
6180 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6181 if locale="" to avoid pointless error message.
6182 (grub_gettext_env_write_lang): Update lang even if load fails.
6183 Handle secondary context.
6184 (grub_gettext_reread_prefix): New function.
6185 (read_main): Likewise.
6186 (read_secondary): Likewise.
6187 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6188 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6189 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6190 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6191
8e56f870
VS
61922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * configure.ac: Decrease warning level to avoid spurious warnings and
6195 to be able to compile with GCC 4.2.
6196 * Makefile.util.def: Remove -Wno-error=logical-op.
6197
82f6d455
WB
61982012-03-10 William Bittner <william.bittner@gmail.com>
6199
6200 * util/import_unicode.py: Add missing brackets around string for
6201 python 3 support.
6202
1ecd61a4
VS
62032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 Fix efi chainloader on network root.
6206
6207 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6208 network devices.
6209 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6210 New function.
6211
14361ee8
VS
62122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6215 unused show_text member.
6216 * docs/grub.texi: Document "text" property.
6217
922aabf3
VS
62182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6221 in dprintf.
6222
ec316771
VS
62232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 Fix IMSM handling on Fedora.
6226
6227 * util/getroot.c (grub_util_is_imsm): New function.
6228 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6229
0f021838
VS
62302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * Makefile.am: Strip gold section.
6233 * conf/Makefile.common: Likewise.
6234 * gentpl.py: Likewise.
6235 * grub-core/Makefile.core.def: Likewise.
6236 * grub-core/genmod.sh.in: Likewise.
6237
1039c8eb
VS
62382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6241 * util/grub.d/20_linux_xen.in: Likewise.
6242 Based on Debian patch.
6243
6dd412cd
VS
62442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * util/grub.d/10_linux.in: Fix syntax error resulting in
6247 Richard Laager's patch.
6248 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6249
3fd8bae5
VS
62502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6253 dependencies.
6254
7eea1671
RL
62552012-03-10 Richard Laager <rlaager@wiktel.com>
6256
6257 * util/grub.d/10_linux.in: Fix ZFS root passing.
6258
e8e0566b
VS
62592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6262 * grub-core/commands/xnu_uuid.c: Likewise.
6263 * grub-core/loader/efi/appleloader.c: Likewise.
6264 * grub-core/script/execute.c: Likewise.
6265 * grub-core/script/main.c: Likewise.
6266 * util/grub-mkfont.c: Likewise.
6267
1acc5b1f
VS
62682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * util/grub-mkfont.c (options): Use more appropriate "select" that
6271 "set" for face index.
6272
35d70620
VS
62732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * util/grub-editenv.c (options): Gettextize command summaries.
6276
c9eb96b5
VS
62772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6280 "out of memory" error messagge.
6281
1f493136
VS
62822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6285 of diskfilter for diskfilter on diskfilter support.
6286
6d790129
VS
62872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6290
005f46c9
VS
62912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6294 themes/starfield.
6295
c8f778a0
VS
62962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6299
de1e64eb
VS
63002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6303
c6d54211
VS
63042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6307 of error message.
6308
dd390777
VS
63092012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6312
5fd1c522
VS
63132012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6316 message.
c6d54211 6317 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6318
fae01f6c
VS
63192012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6322 Gettextize.
6323 * util/grub-mount.c (options): Likewise.
6324
292fdaff
VS
63252012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6328 gettextize.
6329 * grub-core/commands/search_wrap.c (options): Likewise.
6330
ecdbae77
VS
63312012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6334
52bfedfa
VS
63352012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6338 size calculation.
6339 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6340 none is known.
6341
55b20e58
VS
63422012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6345 "temporary" since it's used in identifier and is limited in space.
6346
fda9d101
VS
63472012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * po/POTFILES.in: Regenerate. Include *.h since they contain
6350 translatable strings as well.
6351
6a0295e2
VS
63522012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6355 byte-swap on big-endian.
6356 Reported by: Lennart Sorensen
6357
807fb77c
VS
63582012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6361 (allocate_pages): Improve dprintf.
6362 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6363 code32_start. Fill code32_start and kernel_alignment in params.
6364 (grub_cmd_initrd): Use prot_init_space.
6365
61ac50ba
VS
63662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6369
abdd26dd
VS
63702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * util/grub-install.in: Add missing dot at the end of sentence.
6373
6e69da9c
VS
63742012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6377 * grub-core/commands/videotest.c: Likewise.
6378 * grub-core/loader/i386/linux.c: Likewise.
6379
4a929343
VS
63802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6383 sentence.
6384 Reported by: Milo Casagrande.
6385
bb51c6c6
VS
63862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6389 * grub-core/commands/gptsync.c: Likewise.
6390 * grub-core/commands/hashsum.c: Likewise.
6391 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6392 * grub-core/commands/legacycfg.c: Likewise.
6393 * grub-core/io/gzio.c: Likewise.
6394 * grub-core/net/net.c: Likewise.
6395 * grub-core/term/gfxterm.c: Likewise.
6396 * grub-core/term/terminfo.c: Likewise.
6397 * grub-core/tests/test_blockarg.c: Likewise.
6398 * grub-core/video/video.c: Likewise.
6399 * util/grub-install.in: Likewise.
6400 * util/grub-mkfont.c: Likewise.
6401
b2b149cb
VS
64022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6405
c7c080ad
VS
64062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6409 Reported by: David Prévot.
c7c080ad 6410
f2e243c0
VS
64112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6414 description.
6415
09963c76
VS
64162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * util/grub-script-check.c (main): Fix a syntax error message which was
6419 unclear.
6420
a50514a8
VS
64212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6424
4650daec
VS
64252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6428 messages.
6429
64302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6431
6432 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6433 without argument.
6434 * util/grub-mount.c (options): Likewise.
6435
bbc5a342
VS
64362012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6439
ef292a87
VS
64402012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * grub-core/net/http.c: Add TRANSLATORS comments.
6443 * grub-core/normal/cmdline.c: Likewise.
6444 * grub-core/normal/misc.c: Likewise.
6445 * grub-core/partmap/msdos.c: Likewise.
6446 * grub-core/parttool/msdospart.c: Likewise.
6447 * grub-core/script/execute.c: Likewise.
6448 * grub-core/script/main.c: Likewise.
6449 * grub-core/term/terminfo.c: Likewise.
6450 * grub-core/video/bitmap.c: Likewise.
6451 * util/grub-install.in: Likewise.
6452 * util/grub-mkimage.c: Likewise.
6453 * util/grub-mklayout.c: Likewise.
6454 * util/grub-setup.c: Likewise.
6455
0fc19bd0
VS
64562012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6459 with similar messages in grub-fstest.
6460
d95862ef
VS
64612012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * util/grub-install.in: Unify "option requires an argument" message
6464 with similar messages in other files.
6465 * util/grub-mkconfig.in: Likewise.
6466
b7308f90
VS
64672012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * util/grub-set-default.in: Replace printf with gettext_printf (the
6470 string in in question is already translated from grub-reboot)
6471
559dc587
VS
64722012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * configure.ac: Bump up the version to beta1.
6475
1a11761f
VS
64762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6479 case when min_align = 0.
6480
24539abd
VS
64812012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6484 and fix a case when line_start overflows.
6485
32bd735b
VS
64862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * util/grub-reboot.in (usage): Mention id posibility.
6489 * util/grub-set-default.in (usage): Likewise.
6490
1a2fd1e6
VS
64912012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6494 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6495 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6496 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6497 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6498 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6499 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6500
90eeab76
VS
65012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/commands/menuentry.c (options): Remove
6504 GRUB_ARG_OPTION_REPEATABLE.
6505 Reported by: Andreas Vogel
6506
5ad1be82
AV
65072012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6508
6509 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6510
cb055286
HE
65112012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6512
6513 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6514 error.
6515
93b1cd79
VS
65162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 Use sort -V by the idea of Georgi Georgiev.
6519
6520 * util/grub-mkconfig_lib.in (version_sort): New function.
6521 (version_test_numeric): Use version_sort.
6522
0cdc126c
VS
65232012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 Use submenus in grub-mkconfig.
6526
6527 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6528 * util/grub-mkconfig_lib.in (grub_quote): New function.
6529 (gettext_printf): Use gettext and not gettext_quoted to fix several
6530 messages.
6531 * util/grub.d/10_hurd.in: Use submenus.
6532 * util/grub.d/10_kfreebsd.in: Likewise.
6533 * util/grub.d/10_linux.in: Likewise.
6534 * util/grub.d/10_netbsd.in: Likewise.
6535 * util/grub.d/20_linux_xen.in: Likewise.
6536 * util/grub.d/30_os-prober.in: Likewise.
6537 * util/grub.d/10_illumos.in: Add missing quoting.
6538 * util/grub.d/10_windows.in: Likewise.
6539
d9bef9bc
VS
65402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 Fix menu title instability bug.
6543
6544 * grub-core/commands/menuentry.c (options): New option --id.
6545 (grub_normal_add_menu_entry): New argument id. All users updated.
6546 (grub_cmd_menuentry): Handle --id.
6547 (grub_menu_init): Accept unknown arguments.
6548 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6549 feature_menuentry_options.
6550 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6551 saved_entry.
6552 (get_entry_number): Match with id as well.
6553 * include/grub/menu.h (grub_menu_entry): New member id.
6554 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6555 * util/grub.d/00_header.in: Define menuentry_id_option.
6556 * util/grub.d/10_hurd.in: Define id.
6557 * util/grub.d/10_illumos.in: Likewise.
6558 * util/grub.d/10_kfreebsd.in: Likewise.
6559 * util/grub.d/10_linux.in: Likewise.
6560 * util/grub.d/10_netbsd.in: Likewise.
6561 * util/grub.d/10_windows.in: Likewise.
6562 * util/grub.d/20_linux_xen.in: Likewise.
6563 * util/grub.d/30_os-prober.in: Likewise.
6564
65652012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6566
6567 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6568 "scope" with "body".
6569
7c8d0ce7
VS
65702012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6573 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6574 prot_size and prot_file_size.
6575
49de079b
VS
65762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6579 All users updated. If easily=1 require raid-5/-6 to be full.
6580 (is_node_readable): Likewise.
6581 (scan_devices): Scan incomplete but readable LVs at the end.
6582 (grub_diskfilter_memberlist): Pull missing devices.
6583 (insert_array): Skip scanning until device is complete or scan is
6584 done otherwise.
6585 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6586 check.
6587 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6588 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6589
aff05d45
MG
65902012-03-03 Matthew Garrett <mjg@redhat.com>
65912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 Avoid EFI boot services when loading Linux.
6594
6595 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6596 avoid_efi_bootservices. All users updated.
6597 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6598 argument avoid_efi_bootservices. All users updated.
6599 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6600 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6601 align, min_align, relocatable, prefered_address. All users updated.
6602 Allocate avoiding boot services if kernel is relocatable.
6603 (grub_cmd_linux): Check if kernel is relocatable.
6604 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6605 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6606 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6607 avoid_efi_boot_services.
6608 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6609 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6610 (linux_kernel_params): Likewise.
6611
3935dde2
MG
66122012-03-03 Matthew Garrett <mjg@redhat.com>
66132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Use EDID on EFI.
6616
6617 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6618 datasize_out.
6619 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6620 modes. Set gop_handle.
6621 (grub_video_gop_get_edid): New function.
6622 (grub_gop_get_preferred_mode): Likewise.
6623 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6624 (grub_video_efi_gop_adapter): Set .get_edid.
6625 * include/grub/efi/edid.h: New file.
6626 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6627
32107ec0
VS
66282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * util/grub-install.in: Load efivars unconditionally.
6631
e70a2c50
VS
66322012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * po/Rules-piglatin: Change suffix from .po-update-en to
6635 .po-update-en-piglatin.
6636
8f9cace1
VS
66372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 Add a pig farm.
6640
6641 * po/piglatin.sed: New file.
6642 * po/en@piglatin.header: Likewise.
6643 * po/Rules-piglatin: Likewise.
6644 * po/README: Add en@piglatin to autogenerated languages.
6645
8f95d002
VS
66462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6649 "Command for ...".
6650 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6651 "Check" since we don't check anything.
6652 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6653 is 64-bit one.
6654 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6655 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6656 (grub_md_sha512_real): Likewise.
6657
805a8dcc
VS
66582012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/commands/gptsync.c: Fix typographic quoting.
6661 * grub-core/commands/ieee1275/suspend.c: Likewise.
6662 * grub-core/commands/parttool.c: Likewise.
6663 * grub-core/commands/search_wrap.c: Likewise.
6664 * grub-core/commands/videoinfo.c: Likewise.
6665 * grub-core/gfxmenu/gui_label.c: Likewise.
6666 * grub-core/hello/hello.c: Likewise.
6667 * grub-core/kern/emu/main.c: Likewise.
6668 * grub-core/net/net.c: Likewise.
6669 * grub-core/normal/menu.c: Likewise.
6670 * grub-core/normal/menu_text.c: Likewise.
6671 * grub-core/normal/misc.c: Likewise.
6672 * util/grub-editenv.c: Likewise.
6673 * util/grub-install.in: Likewise.
6674 * util/grub-kbdcomp.in: Likewise.
6675 * util/grub-mkconfig.in: Likewise.
6676 * util/grub-mknetdir.in: Likewise.
6677 * util/grub-mkrescue.in: Likewise.
6678 * util/grub-mkstandalone.in: Likewise.
6679 * util/grub-reboot.in: Likewise.
6680 * util/grub-set-default.in: Likewise.
6681 * util/grub-setup.c: Likewise.
6682 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6683
40211ab8
VS
66842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6687 * grub-core/commands/keystatus.c: Likewise.
6688 * grub-core/commands/loadenv.c: Likewise.
6689 * grub-core/commands/probe.c: Likewise.
6690 * grub-core/commands/regexp.c: Likewise.
6691 * grub-core/commands/true.c: Likewise.
6692 * grub-core/commands/videoinfo.c: Likewise.
6693 * grub-core/disk/cryptodisk.c: Likewise.
6694 * grub-core/disk/ldm.c: Likewise.
6695 * grub-core/disk/loopback.c: Likewise.
6696 * grub-core/disk/luks.c: Likewise.
6697 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6698 * grub-core/kern/disk.c: Likewise.
6699 * grub-core/kern/emu/hostdisk.c: Likewise.
6700
0c7d99c7
VS
67012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6704 * util/grub-install.in: Add missing quote in the comment.
6705
e7d2559b
VS
67062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6709 * grub-core/commands/lsmmap.c: Likewise.
6710 * grub-core/commands/minicmd.c: Likewise.
6711 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6712 * grub-core/commands/regexp.c: Likewise.
6713 * grub-core/gdb/gdb.c: Likewise.
6714 * grub-core/term/gfxterm.c: Likewise.
6715 * util/grub-mkconfig.in: Likewise.
6716 * util/grub-mkfont.c: Likewise.
6717 * util/grub-mklayout.c: Likewise.
6718 * util/grub-mknetdir.in: Likewise.
6719 * util/grub-mkrescue.in: Likewise.
6720 * util/grub.d/30_os-prober.in: Likewise.
6721
49ce9e50
VS
67222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6725 with "Direct color" and "Packed" with "Packed pixel".
6726 (grub_cmd_videoinfo): Simplify legend.
6727
e4b791fa
VS
67282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6731 absolutely unclear error message.
6732
fd1265cb
VS
67332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * util/grub-mkstandalone.in: Remove confusing leftover print.
6736
8822a8a0
VS
67372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6740 comments.
6741 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6742 (GRUB_MOD_INIT): Likewise.
6743 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6744 VGA mode.
6745 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6746 comments.
6747 * util/grub-install.in (usage): Likewise.
6748 Spell ID in whole letters.
6749 Add missing ending dot.
6750 Quote variables.
6751 * util/grub-reboot.in: Fix capitalisation.
6752 * util/grub-set-default.in: Likewise.
6753
937fd0cc
VS
67542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6757 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6758 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6759 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6760 Disable -Werror for -Wdeprecated-declarations.
6761 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6762 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6763 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6764 (grub_util_get_grub_dev): Make luks handling dependent on
6765 HAVE_DEVICE_MAPPER and not __linux__.
6766 (get_win32_path): Fix format security.
6767 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6768 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6769 Don't try grub_find_zpool_from_dir.
6770 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6771 #ifdef-out paresdir.
6772
1bab1ae3
VS
67732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * util/grub-pe2elf.c (usage): Add missing noreturn.
6776 (write_section_data): Rename name to shname to avoid shadowing.
6777 (write_symbol_table): Rename name to symname to avoid shadowing.
6778 Fix write_reloc_section call.
6779
ef023e42
VS
67802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6783 to ensure that it's after the last byte of .text.
6784
48afcb75
VS
67852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * util/ieee1275/ofpath.c (my_isdigit): New function.
6788 (trailing_digits): Use my_isdigit.
6789 (strip_trailing_digits): Likewise.
6790
88d51eff
VS
67912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6794 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6795
17edc2ba
VS
67962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/kern/i386/pc/startup.S: Define __start.
6799
ad5518d7
VS
68002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6803 strip already transforms he format.
6804
9e95e1bf
VS
68052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6808
9cc3ee5c
VS
68092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * util/grub-install.in: Add missing gettext init.
6812 * util/grub-kbdcomp.in: Likewise.
6813 * util/grub-mkconfig.in: Likewise.
6814 * util/grub-mknetdir.in: Likewise.
6815 * util/grub-mkrescue.in: Likewise.
6816 * util/grub-mkstandalone.in: Likewise.
6817 * util/grub-reboot.in: Likewise.
6818 * util/grub-set-default.in: Likewise.
6819 * util/grub.d/00_header.in: Likewise.
6820 * util/grub.d/10_hurd.in: Likewise.
6821 * util/grub.d/10_windows.in: Likewise.
6822 * util/grub.d/30_os-prober.in: Likewise.
6823 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6824
49e08a06
VS
68252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * po/Rules-swiss: Fix header comment.
6828
3809cb41
AV
68292012-02-29 Andreas Vogel <anvoit>
6830
6831 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6832 resulted in leak of arguments.
6833
fa6ec573
VS
68342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6837 reed_solomon_size const definition instead of computing it since
6838 Apple assembler doesn't support the later.
6839
22899b9c
VS
68402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * gentpl.py (kernel): Rewrite Apple part.
6843
a132afc3
VS
68442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6847
9d742bd4
VS
68482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6851 ELF section gap.
6852 (load_image): Likewise.
6853
f04a9a21
VS
68542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * configure.ac: Fix a typo in previous commit.
6857
46cf439c
VS
68582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 Don't add -Wl,-N on Apple platform.
6861
6862 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6863 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6864
c4c48c54
VS
68652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * grub-core/Makefile.core.def (lzma_decompress): Use
6868 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6869
31a12124
VS
68702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * grub-core/genmod.sh.in: Rewrite the Apple part.
6873
4f3aa1af
VS
68742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6877 comparison.
6878
7bd8b0c7
VS
68792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * acinclude.m4 (grub_CHECK_PIC): New test.
6882 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6883
97304d7c
VS
68842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6887 to avoid the warning.
6888
fb883812
VS
68892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6892 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6893 after. All users updated.
6894
a121c964
VS
68952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 Use the common size routine in hostfs so we can read disks as well.
6898
6899 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6900 (grub_util_get_fd_size): ... this. Return size in bytes.
6901 All users updated.
6902 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6903 grub_util_get_fd_size.
6904
c66d6410
VS
69052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6908 Add blocksize retrieval.
6909
dfc8aeb0
VS
69102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * configure.ac: Restore CFLAGS after efiemu check.
6913
403e25a5
VS
69142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6917 Apple bug.
6918
382775d1
VS
69192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6922
6fd4e6e4
VS
69232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6926 (grub_cmd_halt): Likewise.
6927
bea359d6
VS
69282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6931 for local arithmetics.
6932 Break %sp init into 2 instructions.
6933 Add 0 byte at the end.
6934
32eb6ee1
VS
69352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6938 before loops.
6939
e8377389
VS
69402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6941
6942 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6943 for context.
6944
8cb17de7
VS
69452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * grub-core/disk/ldm.c (make_vg): Init part.name.
6948 (grub_ldm_detect): Silence spurious warning.
6949 (grub_util_is_ldm): Likewise.
6950
595717e6
VS
69512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6954 sane value to avoid a spurious warning.
6955
c4b7e588
VS
69562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6959 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6960
59824957
VS
69612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6964 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6965
70115b99
VS
69662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6969 hardcoding the relevant info.
6970
56733740
VS
69712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6974 missing const qualifiers.
6975 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6976
43481481
VS
69772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * util/getroot.c [__APPLE__]: Add missing includes.
6980 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6981
3cb38f01
VS
69822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6985
d9dbf11e
VS
69862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6989 avoid conflicts.
6990
0c42a45d
VS
69912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6994
46c34eb0
VS
69952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6998 and grub_file_close call.
6999
99ce1597
VS
70002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 Add LZSS Mach-O support (needed for new xnu kernelcache).
7003
7004 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7005 * grub-core/loader/lzss.c: New file.
7006 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7007 on Mach-O open failure.
7008 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7009 Don't free cmdsXX in uncompressedXX is set.
7010 (grub_macho_file): Init new fields.
7011 New argument is_64bit. All users updated.
7012 Handle compressed. Error out if no suitable architecture is found.
7013 Don't close file.
7014 (grub_macho_open): New argument is_64bit. All users updated.
7015 * grub-core/loader/macho32.c: Add defines for new fields.
7016 * grub-core/loader/macho64.c: Likewise.
7017 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7018 (grub_macho_parse): Handle compressed.
7019 Defer actual processing if compressed.
7020 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7021 "filename". All users updated.
7022 (grub_macho_size): New argument "filename". All users updated.
7023 (grub_macho_get_entry_point): Likewise.
7024 (grub_macho_load): Handle compressed.
7025 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7026 (GRUB_MACHO_LZSS_OFFSET): New define.
7027 (grub_decompress_lzss): New proto.
7028 * include/grub/machoload.h (grub_macho_file): New fields to handle
7029 compressed.
7030 (grub_macho_contains_macho64): Remove proto.
7031 (grub_macho_contains_macho32): Likewise.
7032 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7033
ebd17d6f
VS
70342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7037
2702b4e4
VS
70382012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 Fix make dist.
7041
7042 * Makefile.am (starfield_theme_files): New var.
7043 (starfield_DATA): Use starfield_theme_files.
7044 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7045 Add bootcheck-related files.
7046 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7047 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7048 and font_char_metrics.txt.
7049 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7050 (setjmp): Add lib/ia64/longjmp.S.
7051 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7052 * po/POTFILES.in: Regenerate.
7053 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7054 DISTFILES.common.extra1.
7055 * util/devicemap.c: Removed.
7056 * grub-core/lib/i386/relocator_backward.S: Likewise.
7057 * util/import_gcry.py: Remove unused files. Add extra_dist for
7058 ChangeLog.
7059
cf1adfdf
VS
70602012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7063 grub_gettext_delete_list before changing grub_gettext_max to avoid
7064 running out of array bounds.
7065
70662012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7067
7068 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7069 grub_vga_text_init/grub_vga_text_fini.
7070
cf1adfdf 70712012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7072
7073 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7074
541d92e9
VS
70752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * configure.ac: Bump to 2.00~beta0.
7078
7931dddf
VS
70792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7082 missing initialisation.
7083
f1b16fa3
VS
70842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7087
83ddae23
VS
70882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 Support v2 xnu boot arguments.
7091
7092 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7093 New argument fsbfreq_out.
7094 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7095 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7096 be used.
7097 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7098 darwin_version.
7099 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7100 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7101 (grub_xnu_boot_params): Rename to ...
7102 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7103 (grub_xnu_boot_params_v2): New struct.
7104
dc693fe6
VS
71052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7108 zeroing of CRC field before computing CRC.
7109
5a6e39c2
VS
71102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7113 Change order of allocations to decrease fragmentation.
7114
6c21f5d7
VS
71152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7118
cfe456dc
CW
71192012-02-27 Colin Watson <cjwatson@ubuntu.com>
7120
7121 Use write-combining MTRR to speed up video with buggy BIOSes.
7122
7123 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7124 (cpuid): New define.
7125 (rdmsr): Likewise.
7126 (wrmsr): Likewise.
7127 (mtrr_base): Likewise.
7128 (mtrr_mask): Likewise.
7129 (grub_vbe_enable_mtrr_entry): New function.
7130 (grub_vbe_enable_mtrr): Likewise.
7131 (grub_vbe_disable_mtrr): Likewise.
7132 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7133 control off to BIOS.
7134 (grub_video_vbe_init): Fill mtrr.
7135 (grub_video_vbe_fini): Disable mtrr.
7136 (grub_video_vbe_get_info_and_fini): Likewise.
7137 (grub_video_vbe_setup): Enable mtrr.
7138
e3c78337
CW
71392012-02-27 Colin Watson <cjwatson@ubuntu.com>
7140
7141 * include/grub/partition.h (grub_partition_map): Change prototype of
7142 embed to take a maximum value for nsectors.
7143 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7144 * include/grub/fs.h (grub_fs): Likewise.
7145 * grub-core/partmap/msdos.c (embed_signatures): New array.
7146 (pc_partition_map_embed): Check for and avoid sectors matching any
7147 of the signatures in embed_signatures, up to max_nsectors.
7148 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7149 returned sector map to max_nsectors.
7150 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7151 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7152 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7153 * util/grub-setup.c (setup): Allow for the embedding area being
7154 split into multiple blocklists. Tell dest_partmap->embed the
7155 maximum number of sectors we care about.
7156
71572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7160 Specify blocklist_install and reserver_first_sector for all fs.
7161 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7162 blocklists.
7163
984b973f
VS
71642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * util/grub-install.in: Clarify strings.
7167 Fix source dir check.
7168
f122e0d6
RL
71692012-02-27 Richard Laager <rlaager@wiktel.com>
7170
7171 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7172 "zfs" and "fuse.zfs" as synonyms.
7173
071114bb
VS
71742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * configure.ac: Put platform and target_cpu substitutions back since
7177 they are used for directories.
7178
817e6abc
RL
71792012-02-27 Richard Laager <rlaager@wiktel.com>
71802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7183 * util/grub.d/20_linux_xen.in: Likewise.
7184
897b7419
RL
71852012-02-27 Richard Laager <rlaager@wiktel.com>
7186
7187 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7188 with full paths.
7189
a414bd15
RL
71902012-02-27 Richard Laager <rlaager@wiktel.com>
7191
7192 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7193 unescape.
7194
30ac48c4
VS
71952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 Don't use insecure popen in getroot.
7198
7199 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7200 (exec_pipe): ... here.
7201 (find_root_devices_from_poolname): Use exec_pipe.
7202
53f13848
VS
72032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 Remove platform and target_cpu replacement.
7206
7207 * configure.ac: Remove platform and target_cpu substitutions.
7208 * tests/util/grub-shell.in: Use modinfo.
7209 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7210 explicitly.
7211
90cb2803
VS
72122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Autodetect platform in grub-install but allow override.
7215
7216 * util/grub-install.in: Autodetect platform. Support --target and
7217 --directory. Read platform from modinfo.sh.
7218
b9136427
VS
72192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 Support btrfs multi-volume probe.
7222
7223 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7224 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7225 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7226 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7227 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7228 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7229 grub_find_root_devices_from_btrfs if on btrfs.
7230
c36e5cd1
VS
72312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 Remove any awareness of *.c util files about target.
7234
7235 * Makefile.util.def (grub-setup): Split to ...
7236 (grub-bios-setup): ... and this.
7237 (grub-sparc64-setup): ... and this.
7238 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7239 * docs/man/grub-setup.h2m: Split into ...
7240 * docs/man/grub-sparc64-setup.h2m: ... this.
7241 * docs/man/grub-bios-setup.h2m: ... and this.
7242 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7243 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7244 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7245 (grub_target_addr_t): Remove.
7246 (grub_target_size_t): Remove.
7247 (grub_target_ssize_t): Remove.
7248 * util/grub-install.in: Use new grub-*-setup.
7249 * util/grub-mkimagexx.c (Elf_Word): New define.
7250 (Elf_Half): Likewise.
7251 (Elf_Section): Likewise.
7252 (ELF_ST_TYPE): Likewise.
7253 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7254 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7255
584b2f8a
VS
72562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 Replace grub_target_addr with more appropriate types.
7259
7260 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7261 grub_target_addr with grub_addr.
7262 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7263 grub_target_addr with grub_port.
7264 (grub_cmd_write): Likewise.
7265 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7266 grub_target_addr with grub_addr.
7267 (grub_cmd_write): Likewise.
7268 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7269
5a0dc6fb
VS
72702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7273 const qualifier for vendor_guid.
7274
786aff6e
VS
72752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7278 const qualifier.
7279 (efiemu_memequal): Likewise.
7280 (find_variable): Likewise.
7281
49017b17
VS
72822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 Fix missing console prototype on qemu-mips.
7285
7286 * include/grub/mips/qemu_mips/console.h: New file.
7287
c5988629
MG
72882012-02-27 Matthew Garrett <mjg@redhat.com>
72892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7292 * include/grub/efi/efi.h: Likewise.
7293 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7294 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7295 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7296 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7297 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7298 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7299
e33f8d69
MG
73002012-02-27 Matthew Garrett <mjg@redhat.com>
7301
7302 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7303
fb312cd9
VS
73042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7307 error.
7308
7134247c
VS
73092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * configure.ac: Remove inappropriate use of program_transform_name
7312 on grubdir and bootdir but allow explicit specification of those
7313 variables.
7314
6a313124
VS
73152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * util/grub-mknetdir.in (grub_prefix): Removed.
7318 (subdir): Use @bootdirname@ and @grubdirname@.
7319
2311c5ca
VS
73202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7323
7d5d60f7
VS
73242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * po/POTFILES.in: Regenerated.
7327
8151bc82
VS
73282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 Remove improper use of program_transform_name on pkglibrootdir.
7331
7332 * configure.ac (pkglibrootdir): Removed.
7333 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7334 * util/grub-mkimage.c: Likewise.
7335
b4a6a533
VS
73362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7339 warning.
7340
668f304f
VS
73412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * util/grub-install.in: Use file identifier if no UUID is available
7344 or user explicitly prompted for it.
7345
665f2341
NP
73462012-02-27 Navdeep Parhar <nparhar@gmail.com>
7347
7348 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7349 (freebsd_get_zfs): New function.
7350 (grub_freebsd_boot): Pass zfs UUID.
7351 (grub_cmd_freebsd): Set zfs UUID.
7352
8151bc82 73532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7354
7355 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7356 pkglibrootdir.
7357
e4c498a1
MG
73582012-02-27 Mike Gilbert <floppym@gentoo.org>
7359
7360 Add configure flag to control libzfs integration.
7361
7362 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7363
1e9a9a3f
VS
73642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7367 device.
7368 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7369 small devices.
7370
036985b8
VS
73712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7374 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7375 be used on non-modules.
7376
7377 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7378 Rename to grub_boot_init.
7379 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7380 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7381 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7382 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7383 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7384 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7385 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7386 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7387 includes.
7388 (grub_machine_init): Remove empty inits.
7389 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7390 includes.
7391 (grub_machine_init): Remove empty inits.
7392 * grub-core/term/arc/console.c: Remove explicit proto.
7393 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7394 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7395 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7396 grub_at_keyboard_fini.
7397 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7398 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7399 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7400 grub_gfxterm_fini.
7401 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7402 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7403 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7404 grub_vgatext_fini.
7405 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7406 * grub-core/term/serial.c (GRUB_MOD_INIT)
7407 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7408 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7409 grub_serial_fini.
7410 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7411 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7412 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7413 grub_terminfo_fini.
7414 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7415 (GRUB_MOD_FINI): Likewise.
7416 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7417 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7418 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7419 grub_video_radeon_fuloong2e_fini.
7420 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7421 [LOONGSON]: Rename to grub_video_sis315pro_init.
7422 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7423 grub_video_sis315pro_fini.
7424 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7425 [LOONGSON]: Rename to grub_video_sm712_init.
7426 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7427 grub_video_sm712_fini.
7428 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7429 (grub_at_keyboard_fini): Likewise.
7430 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7431 Don't declare grub_{modname}_init.
7432 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7433 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7434 New proto.
7435 (grub_keylayouts_fini) [!EMU]: Likewise.
7436 * include/grub/serial.h (grub_serial_init) [!EMU]:
7437 New proto.
7438 (grub_serial_fini) [!EMU]: Likewise.
7439 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7440 New proto.
7441 (grub_terminfo_fini) [!EMU]: Likewise.
7442 * include/grub/video.h (grub_font_init) [!EMU]:
7443 New proto.
7444 (grub_font_fini) [!EMU]: Likewise.
7445 (grub_gfxterm_init) [!EMU]: Likewise.
7446 (grub_gfxterm_fini) [!EMU]: Likewise.
7447 (grub_video_sm712_init) [!EMU]: Likewise.
7448 (grub_video_sm712_fini) [!EMU]: Likewise.
7449 (grub_video_sis315pro_init) [!EMU]: Likewise.
7450 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7451 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7452 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7453
d5534665
VS
74542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 Make nand a prefix for nand devices.
7457
7458 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7459
10133b5f
VS
74602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7463 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7464
8e307a62
VS
74652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * include/grub/env.h (grub_env_find): Remove prototype.
7468 * grub-core/kern/env.c (grub_env_find): Make static.
7469 (grub_env_set): Remove useless set.
7470
a4c65f34
VS
74712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/kern/i386/realmode.S: Remove useless align.
7474
d87893d5
VS
74752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * include/grub/dl.h (grub_dl_load_file): Don't export.
7478
50159add
VS
74792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7482 grub_dprintf.
7483
b2582b84
VS
74842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7487 grub_errors.
7488 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7489 not reloading whole superblock but only the part which is really needed.
7490 Remove useless grub_errors.
7491 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7492 grub_errors.
7493
e2a83395
VS
74942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 Don't export grub_get_rtc.
7497
7498 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7499 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7500
e7d2a906
VS
75012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7504
6cf1363b
VS
75052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7508 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7509
eece3349
VS
75102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 Remove prio_list.
7513
7514 * include/grub/list.h (grub_prio_list): Removed.
7515 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7516 GRUB_COMMAND_PRIO_MASK.
7517 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7518 GRUB_COMMAND_FLAG_ACTIVE.
7519 (grub_prio_list_insert): Removed.
7520 (grub_prio_list_remove): Likewise.
7521 (GRUB_AS_PRIO_LIST): Likewise.
7522 (GRUB_AS_PRIO_LIST_P): Likewise.
7523 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7524 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7525 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7526 * grub-core/kern/command.c (grub_register_command_prio): Inline
7527 the prio_list code.
7528 (grub_unregister_command): Likewise.
7529
94f064b4
VS
75302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 Fix interrupt mixup from previous commit.
7533
7534 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7535 (grub_realidt): New var.
7536 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7537 Load idt.
7538 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7539 New declaration.
7540 (grub_relocator16_boot): Set grub_relocator16_idt.
7541 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7542 (LOCAL(realidt)): ... this.
7543 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7544 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7545 (grub_realidt): New variable.
7546
27317084
VS
75472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7550 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7551 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7552 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7553 Gettextize.
7554 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7555 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7556 * po/POTFILES.in: Regenerate.
7557
47b40053
VS
75582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7561 errors.
7562
2b343101
VS
75632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7566 \0.
7567 (add_length): Likewise.
7568
ff27c3dd
LK
75692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
75702012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7571
7572 GDB serial and backtrace support.
7573
7574 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7575 (prot_to_real): Likewise.
7576 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7577 * grub-core/Makefile.core.def (backtrace): New module.
7578 (gdb): Likewise.
7579 * grub-core/gdb/cstub.c: New file.
7580 * grub-core/gdb/gdb.c: Likewise.
7581 * grub-core/gdb/i386/idt.c: Likewise.
7582 * grub-core/gdb/i386/machdep.S: Likewise.
7583 * grub-core/gdb/i386/signal.c: Likewise.
7584 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7585 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7586 * include/grub/backtrace.h: Likewise.
7587 * include/grub/gdb.h: Likewise.
7588 * include/grub/i386/gdb.h: Likewise.
7589
75902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7591
7592 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7593 New function.
7594 (add_length): Likewise.
7595 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7596 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7597 proto.
7598 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7599 __argp_get_display_len.
7600
ff27c3dd 76012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7602
7603 $"..." support in scripts.
7604
7605 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7606 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7607 * grub-core/script/yylex.l: Likewise.
7608 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7609 value.
7610
ff27c3dd 76112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7612
7613 * gentpl.py: Remove obsolete pkglib_DATA handling.
7614
ff27c3dd 76152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7616
7617 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7618 mailing list.
7619
7620 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7621 * util/grub-kbdcomp.in: Likewise.
7622 * util/grub-mkconfig.in: Likewise.
7623 * util/grub-mkconfig_lib.in: Likewise.
7624 * util/grub-mknetdir.in: Likewise.
7625 * util/grub-mkrescue.in: Likewise.
7626 * util/grub-mkstandalone.in: Likewise.
7627 * util/grub-reboot.in: Likewise.
7628 * util/grub-set-default.in: Likewise.
7629 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7630
ff27c3dd 76312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7632
7633 Remove GRUB_PREFIX.
7634
7635 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7636 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7637 used for backward compatibility.
7638
ff27c3dd 76392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7640
7641 Add new all_video module.
7642
7643 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7644 * grub-core/Makefile.core.def (all_video): New module.
7645 * grub-core/genmoddep.awk: Generate dependency of all_video from
7646 video.lst.
7647 * grub-core/lib/fake_module.c: New file.
7648 * grub-core/normal/main.c (features): Add feature_all_video_module.
7649 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7650 don't do explicit search again.
47454da5 7651 insmod all_video in load_video if available.
22c7ce85 7652
ff27c3dd 76532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7654
7655 Another round of string clarification and adding TRANSLATORS comments.
7656
ff27c3dd 76572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7658
7659 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7660
ff27c3dd 76612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7662
7663 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7664 to grub_ssize_t.
7665 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7666 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7667
ff27c3dd 76682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
7669
7670 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7671 trailing newline implicitly. All users updated.
7672
ff27c3dd 76732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
7674
7675 Implement serial on IEEE1275 and EFI.
7676
7677 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7678 on emu. Mention arc and emu as the only platforms without serial
7679 support.
7680 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7681 ieee1275 platforms.
7682 * grub-core/term/efi/serial.c: New file.
7683 * grub-core/term/ieee1275/serial.c: Likewise.
7684 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7685 specification if no ns8250 driver is available.
7686 (grub_cmd_serial): Likewise.
7687 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7688 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7689 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7690 (grub_efi_parity_type_t): New type.
7691 (grub_efi_stop_bits_t): Likewise.
7692 (grub_efi_serial_io_interface): New struct.
7693 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7694 available for all interfaces.
7695 Add EFI and IEEE1275 fields.
7696 (grub_ofserial_init): New proto.
7697 (grub_efiserial_init): Likeiwse.
7698 * util/grub.d/00_header.in: Don't check for the presence of serial
7699 module.
7700
ff27c3dd 77012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
7702
7703 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7704 name as if it was an alias.
7705
114076ef
VS
77062012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/commands/lsacpi.c (options): Fix typo.
7709
6a656b0e
VS
77102012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 Convert grub-emu to argp.
7713
7714 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7715 emu.
7716 * util/argp_common.c: Rename to ...
7717 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7718 Add missing includes.
7719 * grub-core/kern/emu/main.c: Convert to argp.
7720 * po/POTFILES.in: Regenerate.
7721 * util/grub-install.in (usage): Make first letter lowcase in messages
7722 for uniformity.
7723 * util/grub-setup.c (options): Likewise.
7724
1e3f8ae8
VS
77252012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7728 Put back accidently commented-out code.
7729
ed167a80
VS
77302012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7733 loop check using Brent algorithm.
7734 (grub_hfsplus_btree_search): Likewise.
7735
6753c0ec
VS
77362012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * util/grub-install.in: Fix usage of wrong device for PreP install.
7739
4e27343f
VS
77402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * conf/Makefile.common (CFLAGS_GNULIB): Add
7743 -Wno-unsafe-loop-optimizations.
7744 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7745 on tools.
7746 * grub-core/commands/legacycfg.c: Add pragma to skip
7747 -Wunsafe-loop-optimizations.
7748 (check_password_md5_real): Fix loop counter type.
7749 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7750 reading.
7751 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7752 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7753 loop condition.
7754 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7755 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7756 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7757 condition.
7758 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7759 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7760 avoid possible infinite loops.
7761 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7762 and -Wunsafe-loop-optimizations.
7763 * grub-core/script/yylex.l: Likewise.
7764 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7765 (print_glyphs): Avoid infinite loops.
7766 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7767
697f18b0
GS
77682012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7769
7770 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7771 to avoid infinite loop.
7772 (disp_acpi_rsdt_table): Likewise.
7773
274416e8
VS
77742012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/font/font.c (grub_font_load): Add support for default
7777 path for fonts ($prefix/fonts).
7778 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7779 for checking if string is a path.
7780 * grub-core/normal/main.c (features): Add feature_default_font_path.
7781 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7782 * util/grub.d/00_header.in: Use default directory if possible.
7783 * util/grub-install.in: Install unicode.pf2.
7784
b3e08622
VS
77852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7788 * po/Rules-swiss: New file.
7789 * po/swiss.sed: Likewise.
7790
fe42ce09
VS
77912012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * grub-core/fs/btrfs.c (find_device): Fix typos.
7794 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7795 * util/grub-mkrelpath.c (argp_parser): Likewise.
7796 Reported by: Yuri Chornoivan.
7797
72f1d065
DO
77982012-02-23 Dalet Omega <daletomega@gmail.com>
7799
7800 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7801 for usual informative messages.
7802
c5884973
DO
78032012-02-23 Dalet Omega <daletomega@gmail.com>
7804
7805 Starfield theme.
7806
7807 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7808 * conf/Makefile.common: Define starfielddir.
7809 * configure.ac: Configure starfield.
7810 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7811 * themes/starfield/README: Likewise.
7812 * themes/starfield/blob_w.png: Likewise.
7813 * themes/starfield/boot_menu_c.png: Likewise.
7814 * themes/starfield/boot_menu_e.png: Likewise.
7815 * themes/starfield/boot_menu_n.png: Likewise.
7816 * themes/starfield/boot_menu_ne.png: Likewise.
7817 * themes/starfield/boot_menu_nw.png: Likewise.
7818 * themes/starfield/boot_menu_s.png: Likewise.
7819 * themes/starfield/boot_menu_se.png: Likewise.
7820 * themes/starfield/boot_menu_sw.png: Likewise.
7821 * themes/starfield/boot_menu_w.png: Likewise.
7822 * themes/starfield/slider_c.png: Likewise.
7823 * themes/starfield/slider_n.png: Likewise.
7824 * themes/starfield/slider_s.png: Likewise.
7825 * themes/starfield/src/blob_nw.xcf: Likewise.
7826 * themes/starfield/src/bootmenu/: Likewise.
7827 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7828 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7829 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7830 * themes/starfield/src/slider_c.xcf: Likewise.
7831 * themes/starfield/src/slider_n.xcf: Likewise.
7832 * themes/starfield/src/slider_s.xcf: Likewise.
7833 * themes/starfield/src/terminalbox/: Likewise.
7834 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7835 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7836 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7837 * themes/starfield/starfield.png: Likewise.
7838 * themes/starfield/terminal_box_c.png: Likewise.
7839 * themes/starfield/terminal_box_e.png: Likewise.
7840 * themes/starfield/terminal_box_n.png: Likewise.
7841 * themes/starfield/terminal_box_ne.png: Likewise.
7842 * themes/starfield/terminal_box_nw.png: Likewise.
7843 * themes/starfield/terminal_box_s.png: Likewise.
7844 * themes/starfield/terminal_box_se.png: Likewise.
7845 * themes/starfield/terminal_box_sw.png: Likewise.
7846 * themes/starfield/terminal_box_w.png: Likewise.
7847 * themes/starfield/theme.txt: Likewise.
7848
17d73325
VS
78492012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * util/grub.d/00_header.in: Add missing export theme.
7852
dbebaf92
VS
78532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7856 already included.
7857 Reported by: Eren D.
7858
3d68bffb
VS
78592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * conf/Makefile.common (grubdatadir): Removed.
7862 (Makefile.am): Move eveything grubdata to pkgdata.
7863
4b59234d
VS
78642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/commands/acpihalt.c (get_sleep_type):
7867 Remove unused variable.
7868
463dcadc
VS
78692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7872 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7873 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7874 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7875 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7876 i18n with gettext no-op.
7877 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7878 GRUB_ACPI_OPCODE_STRING_CONST.
7879 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7880 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7881
e5b90c82
VS
78822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 * po/POTFILES.in: Regenerate.
7885
2a704ca9
VS
78862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7889 -Wno-error=missing-noreturn.
7890
84f9d341
VS
78912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7894 condition to avoid possibly infinite loops.
7895 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7896 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7897
d46683f9
VS
78982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7901 condition to avoid possibly infinite loops.
7902
c44866b2
VS
79032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7906 on show_error.
7907
96790539
VS
79082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7911
1ba7e295
VS
79122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7915
21ffe8f1
VS
79162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * util/bin2h.c (usage): Add missing attribute noreturn.
7919
0ccb6b3c
VS
79202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7923 if the size isn't divisible by 512.
7924
b00d7fb6
VS
79252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 Make list_push and list_remove functions rather than inline functions
7928 to decrease size and avoid aliasing violations.
7929
7930 * include/grub/list.h (grub_list_push): Move to ...
7931 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7932 * include/grub/list.h (grub_list_remove): Move to ...
7933 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7934
9d369087
VS
79352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7938 and -Wunused-result.
7939
af0250d9
VS
79402012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7943 Reported by: Seth Goldberg
7944
aad32b14
VS
79452012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7948
ac96441c
ST
79492012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7950
7951 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7952 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7953 command line.
7954 * docs/grub.texi (Simple configuration): Document
7955 GRUB_CMDLINE_GNUMACH.
7956
79572012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7958
7959 * conf/Makefile.common (platform_SCRIPTS): New variable.
7960 (platform_PROGRAMS): Likewise.
7961 * gentpl.py: Mark *,module and *.image for install.
7962 * grub-core/gdb_grub.in: Add a notice of expected environment.
7963 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7964 (gmodule.pl): Likewise.
7965
ac96441c 79662012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7967
7968 Replace grub_checkkey with grub_getkey_noblock.
7969
7970 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7971 (grub_getkey_noblock): ... this. All users updated.
7972
ac96441c 79732012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7974
7975 * grub-core/kern/emu/console.c: Move to ...
7976 * grub-core/term/emu/console.c: ...here.
7977 (grub_ncurses_getkey): Fix return value if no key is detected.
7978
e51b5666
VS
79792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7982 (grub_unit_test_fini): Likewise.
7983 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7984
79852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * include/grub/test.h (GRUB_UNIT_TEST)
7988
d9a62292
VS
79892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7992 Better error handling.
7993 (grub_script_return): Likewise.
7994 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7995
77c9182f
VS
79962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7999 rimplicit redifinition.
8000
edb13cf9
VS
80012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8004 GRUB.
8005
a9e9dc7c
VS
80062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8009 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8010 prompt here.
8011
b4ba8e02
VS
80122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8015 as GRUB_ERR_BUG. Don't malloc if no device is available.
8016
dded5540
VS
80172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8020 Mark calling with invalid term as GRUB_ERR_BUG.
8021
0cf69874
VS
80222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8025 packets rather than raising an error.
8026
59bfe502
VS
80272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8030 in if.
8031
db5fc596
VS
80322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8035 diagnostic to dprintf.
8036 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8037
e4b7f404
VS
80382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8041 device name.
8042
e7b02f9e
VS
80432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8046 (grub_ntfs_iterate_dir): Likewise.
8047
0331e102
VS
80482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 Efiemu stylistic fixes and gettext.
8051
8052 * grub-core/efiemu/i386/loadcore32.c
8053 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8054 * grub-core/efiemu/i386/loadcore64.c
8055 (grub_arch_efiemu_relocate_symbols64): Likewise.
8056 * grub-core/efiemu/i386/pc/cfgtables.c
8057 (grub_machine_efiemu_init_tables): Likewise.
8058 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8059 (grub_efiemu_loadcore_initXX): Add a filename argument.
8060 All users updated.
8061 Improved error message.
8062 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8063 Add a filename argument.
8064 All users updated.
8065 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8066 Reclassify double relocation as GRUB_ERR_BUG.
8067
306fc074
VS
80682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8071 handling.
8072
794d8ef2
VS
80732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8076 on partition.
8077
80782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8079
8080 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8081
794d8ef2 80822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8083
8084 Improve string. Gettextize.
8085
78dde88e
VS
80862012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8089 utils.
8090 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8091
4786a90f
VS
80922012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8095 [GRUB_UTIL]: New function.
8096 (insert_array) [GRUB_UTIL]: Store partmaps.
8097 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8098 partmaps.
8099 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8100 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8101 (probe_abstraction): Print diskfilter and not raid.
8102 Reported by: Lennart Sorensen
8103
0b6225bd
VS
81042012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8107 * util/grub-mkimagexx.c (MASK3): New define.
8108 (add_value_to_slot_20b): Use MASK3.
8109 (add_value_to_slot_21): Likewise.
8110 (relocate_addresses): Fix format specification.
8111 (load_image): Explicitly init symtab_section.
8112
b055f8f6
VS
81132012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8116 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8117
b77c2fb7
VS
81182012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8121 on powerpc.
8122 Reported by: Lennart Sorensen
8123
e3ec28ab
VS
81242012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * gentpl.py: Add missing license header.
8127 * docs/grub.texi: Update copyright year.
8128
c8d9ead6
GS
81292012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8130
8131 Source grub-mkconfig_lib from the build directory at build time.
8132 Suggested by: Vladimir Serbinenko.
8133
8134 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8135 * util/grub-install.in: Define pkgdatadir if not already set, and source
8136 grub-mkconfig_lib from there.
8137 * util/grub-kbdcomp.in: Likewise.
8138 * util/grub-mkconfig.in: Likewise.
8139 * util/grub-mknetdir.in: Likewise.
8140 * util/grub-mkrescue.in: Likewise.
8141 * util/grub-mkstandalone.in: Likewise.
8142 * util/grub-reboot.in: Likewise.
8143 * util/grub-set-default.in: Likewise.
8144 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8145
ebcecdf1
VS
81462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 Increase warning level.
8149
8150 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8151 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8152 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8153 (TARGET_CFLAGS): Likewise.
8154 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8155 * grub-core/Makefile.core.def (decompressor_xz): Add
8156 -Wno-unreachable-code.
8157 (normal): Add -Wno-redundant-decls.
8158 (xzio): Add -Wno-unreachable-code.
8159 (lzopio): Add -Wno-redundant-decls -Wno-error.
8160 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8161 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8162 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8163 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8164 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8165 * grub-core/kern/i386/coreboot/init.c: Add exception to
8166 -Wsuggest-attribute=noreturn.
8167 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8168 * grub-core/kern/ia64/dl_helper.c: Likewise.
8169 * grub-core/kern/mips/dl.c: Likewise.
8170 * grub-core/kern/sparc64/dl.c: Likewise.
8171 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8172 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8173 (memcmp): Likewise.
8174 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8175 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8176 * grub-core/loader/mips/linux.c: Likewise.
8177 * grub-core/loader/multiboot_elfxx.c: Likewise.
8178 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8179 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8180 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8181 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8182 fixme.
8183 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8184 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8185 Fix prototype.
8186
37bb97fe
VS
81872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8190 address.
8191
29a3550b
VS
81922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8195 Avoid improper use of strings.
8196 (grub_cmd_legacy_initrdnounzip): Likewise.
8197
dfdffd0d
VS
81982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8201 attribute.
8202 (grub_util_info): Likewise.
8203 (grub_util_error): Likewise.
8204
102fae4a
VS
82052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8208 * util/grub-fstest.c (fstest): Likewise.
8209
7e94d044
VS
82102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8213 (grub_md_sha512_real): Likewise.
8214 (grub_util_get_geli_uuid): Likewise.
8215 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8216 (grub_util_biosdisk_open): Fix format specification.
8217 Respect format security.
8218 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8219 (xrealloc): Likewise.
8220 (xasprintf): Likewise.
8221
5ebd9769
VS
82222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * util/import_gcry.py: Include grub/crypto.h in init.c.
8225
495fc8c1
VS
82262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8229 (generate_image): Make prefix a const char *.
8230 Fix format specifications. Respect format security.
8231 Avoid void * arithmetics.
8232 Avoid shadowing.
8233 (argp_parser): Remove unused variable. Respect format security.
8234 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8235 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8236 (count_funcs): Remove unused variable.
8237 (relocate_addresses): Fix format specification.
8238 Disable x86-64 with elf32. Remove unused variables.
8239 (add_fixup_entry): Avoid shadowing.
8240 (make_reloc_section): Fix format specification.
8241 Use assert.
8242 (locate_sections): Fix format specifications.
8243 (load_image): Avoid shadowing.
8244
043c2ea3
VS
82452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8248 Fix format specifications. Respect format security.
8249 Don't translate already translated grub_errmsg.
8250 (argp_parser): Remove unused variable
8251
3ec65a81
VS
82522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8255
a4d9fe4a
VS
82562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8259 (main): Likewise. Use xmalloc. Respect format security.
8260
15b81d49
VS
82612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8264 a const char *.
8265 (argp_parser): Remove unused variable.
8266
31731fc0
VS
82672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8270 (add_pixel): Make static.
8271 (add_font): Likewise.
8272 (write_string_section): Make name and str a const char *.
8273 (write_be16_section): Make name a const char *.
8274 (print_glyphs): Make static.
8275 (write_font_ascii_bitmap): Likewise.
8276 (write_font_width_spec): Likewise.
8277 (write_font_pf2): Likewise.
8278 (argp_parser): Remove unused variable.
8279 Respect format security.
8280 (main): Avoid shadowing. Respect format security.
8281
0809527b
VS
82822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * util/grub-editenv.c (argp_parser): Make static.
8285 (create_envblk_file): Use xmalloc.
8286 (open_envblk_file): Likewise.
8287 Resepect format security.
8288 (set_variables): Respect format security.
8289
45b0c8b7
VS
82902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * util/getroot.c (grub_find_device): Respect format security.
8293 (get_mdadm_uuid): Remove unused variable.
8294 (grub_util_pull_device): Dont call gettext on already translated
8295 grub_errmsg.
8296 (find_system_device): Remove unused variable.
8297 (grub_util_get_grub_dev): Likewise.
8298 (grub_make_system_path_relative_to_its_root): Respect format security.
8299
1b024b4e
VS
83002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * util/grub-fstest.c (execute_command): Make first argument
8303 a const char *.
8304 (read_file): Avoid shadowing.
8305 Reuse underlying error message if device open fails.
8306 (cmd_cmp): Respect format security.
8307 (root): Make const char *.
8308 (fstest): Remove args argument and use global copy.
8309 Respect format security.
8310 (argp_parser): Make static.
8311 (main): Make default_root const char *.
8312
5d1d4e28
VS
83132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * util/grub-mount.c (root): Make const char *.
8316 (execute_command): Make first argument a const char *.
8317 (fuse_init): Respect format security.
8318 (argp_parser): Make static. Remove unused variable.
8319 (main): Make default_root a const char *.
8320 Respect format security.
8321
36eb7379
VS
83222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * util/grub-probe.c (probe): Don't call gettext on already translated
8325 grub_errmsg.
8326 Remove unused variables.
8327 (argp_parser): Remove unused variable.
8328
76fb2ea9
VS
83292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * util/grub-script-check.c (argp_parser): Remove unused variable.
8332 (main): Rename read to curread to avoid shadowing.
8333
56c98584
VS
83342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * util/misc.c (grub_util_write_image_at): Fix format specification.
8337 (grub_util_write_image): Likewise.
8338 (grub_script_execute_argument_to_string): Removed (unused).
8339 (grub_script_execute_menuentry): Likewise.
8340 (grub_putchar): Likewise.
8341
164ebb48
VS
83422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8345 (FUNCTION) [GRUB_UTIL]: Likewise.
8346 (VARIABLE) [GRUB_UTIL]: Likewise.
8347
44318d61
VS
83482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8351 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8352
31a26002
VS
83532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8356 buffer.
8357
83582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8361 (LzmaEnc_SaveState): Removed (unused).
8362 (LzmaEnc_RestoreState): Likewise.
8363 (LzmaEnc_InitPriceTables): Made static.
8364 (LzmaEnc_Construct): Likewise.
8365 (LzmaEnc_FreeLits): Likewise.
8366 (LzmaEnc_Destruct): Likewise.
8367 (LzmaEnc_Init): Likewise.
8368 (LzmaEnc_InitPrices): Likewise.
8369 (LzmaEnc_Finish): Likewise.
8370 (LzmaEnc_PrepareForLzma2): Removed (unused).
8371 (LzmaEnc_MemPrepare): Likewise.
8372 (LzmaEnc_GetNumAvailableBytes): Likewise.
8373 (LzmaEnc_GetCurBuf): Likewise.
8374 (LzmaEnc_CodeOneMemBlock): Likewise.
8375
6fa67967
VS
83762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8379 (grub_util_ldm_embed): Likewise.
8380
9a7428e6
VS
83812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * util/grub-editenv.c (print_var): Rename name to varname to
8384 avoid shadowing.
8385 (main): Rename index to curindex to avoid shadowing.
31a26002 8386 Make filename a const char *.
9a7428e6 8387
4f96abd1
VS
83882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8391 to arg_getline to avoid shadowing.
8392
44d10dad
VS
83932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8396 disk_ to avoid shadowing.
8397
340ba63e
VS
83982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8401 curindex to avoid shadowing.
8402 Make static.
8403 (MatchFinder_GetNumAvailableBytes): Make static.
8404
22965bce
VS
84052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8408 avoid shadowing.
8409
7b5784d4
VS
84102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8413 argument from encrypt to do_encrypt to avoid shadowing.
8414
6f48ca01
VS
84152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8418 incorrect nesting of #if's.
8419
a4ea2dff
VS
84202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8423 checks which are always false on some platforms.
8424 (grub_cmd_lsacpi): Likewise.
8425 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8426 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8427 Likewise.
8428
def9fc1b
VS
84292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8432 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8433
a67b2a04
VS
84342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8437 re_dfa_t to avoid breaking alignment invariants.
8438 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8439 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8440
44c6828d
VS
84412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8444 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8445
bebe0dd0
VS
84462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8449 Fix declaration.
8450
a9cdb3cf
VS
84512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8454 conserve alignment invariants.
8455 (grub_ehci_ehcc_read16): Likewise.
8456 (grub_ehci_oper_read32): Likewise.
8457 (grub_ehci_oper_write32): Likewise.
8458 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8459 Conserve alignment invariants.
8460
ccc3b1b8
VS
84612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8464 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8465 declarations.
8466
987fbd95
VS
84672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8470 Remove unused variable.
8471
0df363f3
VS
84722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8475 Remove set in if.
8476
b2c0c4a6
VS
84772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * include/grub/net.h: Remove double declarations.
8480
690c531f
VS
84812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 Remove "payload" command in ia64 Linux loader since I couldn't
8484 find any evidence of it being used for anything.
8485 Replace "relocate" command with an environment variable
8486
8487 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8488 fields.
8489 (ia64_boot_payload): Removed.
8490 (last_payload): Likewise.
8491 (RELOCATE_OFF): Likewise.
8492 (RELOCATE_ON): Likewise.
8493 (RELOCATE_FORCE): Likewise.
8494 (relocate): Likewise.
8495 (free_pages): Don't free payloads.
8496 (grub_load_elf64): Use common error messages.
8497 Use "linux_relocate" variable.
8498 Increase the space after boot_params.
8499 (grub_cmd_payload): Removed.
8500 (grub_cmd_relocate): Likewise.
8501 (grub_cmd_fpswa): Improve messages.
8502 (cmd_payload): Removed.
8503 (cmd_relocate): Likewise.
8504 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8505 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8506
01783768
VS
85072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 Convert UHCI to DMA framework.
8510
8511 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8512 (grub_uhci_pci_iter): Fill new members
8513 (grub_alloc_td): Use P2V and V2P functions.
8514 (grub_free_queue): Likewise.
8515 (grub_alloc_qh): Likewise.
8516 (grub_uhci_setup_transfer): Likewise.
8517 (grub_uhci_check_transfer): Likewise.
8518
43206939
VS
85192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8522 Remove assignment in if while on it.
8523
571e140e
VS
85242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * util/grub-mkstandalone.in: Fix modules directory.
8527
a9d96eeb
VS
85282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8531 on i386-pc target.
8532 (argp_parser): Accept "auto" as compression specification.
8533
e4e37e8d
VS
85342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 Fix `help' with unloaded modules.
8537
8538 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8539 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8540 (grub_dyncmd_dispatcher): Small stylistic fix.
8541 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8542 explicit help is requested.
8543
e1ea3ade
VS
85442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8547 Explicitly init restart while on it.
8548
27556881
VS
85492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8552 uninited variable.
8553
d65f6b36
VS
85542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * util/grub-mknetdir.in: Use . rather than source for POSIX
8557 compatibility.
8558
0a1e473c
VS
85592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8562
ce6647c8
VS
85632012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8566 variable.
8567
66747894
VS
85682012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8571 without quotes.
8572
71645f6e
VS
85732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8576
0e1c1f61
VS
85772012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8580 iteration of partitions.
8581
9c4b5c13
VS
85822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 Improve gettext support. Stylistic fixes and error handling fixes while
8585 on it.
8586
215c90cb
VS
85872012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8590 part. Instead setup the correct stack in RM.
8591 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8592 for stack.
8593 * include/grub/i386/relocator_private.h: New file.
8594
b5c1f9bf
VS
85952012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8598 argument.
8599 * util/grub-fstest.c (options): Add missing DEVICE part.
8600
b525fd83
VS
86012012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 Clarify and unify messages.
8604
8605 * grub-core/commands/hashsum.c (options): Unify messages.
8606 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8607 literal-only message as translatable.
8608 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8609 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8610 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8611 commands.
8612 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8613 key, not the key used to unlock. Clarify what it's used for.
8614 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8615 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8616 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8617 * util/grub-editenv.c (options): Unify "verbose" message.
8618 * util/grub-fstest.c (read_file): Unify error message.
8619 (fstest): Add quotes around commands.
8620 (options): Unify "verbose" message.
8621 * util/grub-install.in: Add quotes around variable name.
8622 * util/grub-kbdcomp.in: Unify error message.
8623 * util/grub-mkfont.c (main): Likewise.
8624 * util/grub-mkrescue.in: Likewise.
8625 * util/grub-mklayout.c (options): Unify "verbose" message.
8626 * util/grub-mkstandalone.in: Unify help and verbose messages.
8627 * util/grub-mount.c (options): Unify "verbose" message.
8628 * util/grub-probe.c (options): Likewise.
8629 * util/grub-script-check.c (options): Likewise.
8630 * util/grub-setup.c (setup): Unify no-terminator message.
8631 (options): Use DEVICE and not DEV.
8632 Unify "verbose" message.
8633 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8634
0ae70393
VS
86352012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 Improve and unify messages.
8638
8639 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8640 name. All users updated.
8641 Print filename in error.
8642 (read_device_map): Print filename in error.
8643 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8644 (grub_util_get_os_disk): Likewise.
8645 (grub_util_biosdisk_get_grub_dev): Likewise.
8646 (grub_util_check_block_device): Likewise.
8647 (grub_util_check_char_device): Likewise.
8648 (grub_make_system_path_relative_to_its_root): Likewise.
8649 * util/grub-editenv.c (create_envblk_file): Likewise.
8650 (open_envblk_file): Likewise.
8651 (write_envblk): Likewise.
8652 * util/grub-fstest.c (cmd_cp): Likewise.
8653 (cmd_cat): Likewise.
8654 (cmd_cmp): Likewise.
8655 * util/grub-menulst2cfg.c (main): Likewise.
8656 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8657 (write_font_width_spec): Likewise.
8658 (write_font_pf2): Likewise.
8659 * util/grub-mkimage.c (generate_image): New argument outname.
8660 All users updated.
8661 Remove unreacheable message.
8662 (options): Unify messages.
8663 (help_filter): Likewise.
8664 * util/grub-mklayout.c (usage): Removed (unused).
8665 (main): Print filename in error.
8666 * util/grub-mkrescue.in: Fix wrong quoting.
8667 * util/grub-setup.c (setup): Print filename in error.
8668 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8669 (check_sas): Likewise.
8670 * util/misc.c (grub_util_get_fp_size): Removed.
8671 (grub_util_get_image_size): Print filename in error.
8672 (grub_util_read_at): Removed.
8673 (grub_util_read_image): Print filename in error.
8674 (grub_util_load_image): Likewise.
8675 (grub_util_write_image_at): New argument filename. All users updated.
8676 Print filename in error.
8677 (grub_util_write_image): New argument filename. All users updated.
8678 Print filename in error.
8679 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8680 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8681
0a96117d
VS
86822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/Makefile.core.def (pxechain): New module.
8685 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8686 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8687 function.
8688 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8689 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8690
aca002f7
VS
86912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8694 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8695 * include/grub/err.h (grub_error_saved): New struct.
8696 (grub_errmsg): Make array size explicit.
8697 * include/grub/misc.h (grub_error_save): New function.
8698 (grub_error_load): Likewise.
8699 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8700 (grub_error_push): Update `errno' member name.
8701 (grub_error_pop): Likewise
8702 * grub-core/net/tftp.c (tftp_data): New member save_err.
8703 (tftp_receive): Save error.
8704 (tftp_open): Restore error.
8705
a51dab13
VS
87062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8709 to real mode down to execute A20-related code in protected mode as
8710 intended.
8711
eb6e6649
GS
87122012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8713
8714 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8715 NULL when the argument `level' has an unexpected value.
8716
92cd0f6e
VS
87172012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 Move platform-dependent files from $prefix to $prefix/$platform.
8720
8721 * config.h.in (GRUB_TARGET_CPU): New definition.
8722 (GRUB_PLATFORM): Likewise.
8723 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8724 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8725 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8726 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8727 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8728 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8729 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8730 * grub-core/normal/term.c (read_terminal_list): Likewise.
8731 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8732 $prefix/locale.
8733 (grub_gettext_init_ext): Likewise.
8734 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8735 grub_platform.
8736 * util/grub-install.in: Update directories.
8737 * util/grub-mknetdir.in: Likewise.
8738 * util/grub-mkrescue.in: Likewise.
8739
db606889
VS
87402012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8743 grub_error framework. All users updated.
8744
c39992a4
VS
87452012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8748 lists (by always binsearching), improve caching (cache strings
8749 used for binsearch, not only results), improve
8750 maintainability (by using more structured binary search) and correct
8751 error handling.
8752
1e5ec32f
VS
87532012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/script/execute.c (grub_script_return): Fix warning.
8756
ac576cde
VS
87572012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/script/execute.c (grub_script_return): Fix potential
8760 NULL-dereference.
8761 Reported by: Jim Meyering.
8762
498453f6
VS
87632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * po/POTFILES.in: Regenerate.
8766 * util/grub-install.in: Gettextize the strings missed in first pass.
8767
8be63f2e
VS
87682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * Makefile.util.def (grub-mkdevicemap): Removed.
8771 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8772 * include/grub/util/deviceiter.h: Removed.
8773 * util/deviceiter.c: Likewise.
8774 * util/getroot.c (grub_util_get_os_disk): New function.
8775 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8776 replacement for EFI.
8777 * util/grub-mkdevicemap.c: Removed.
8778 * util/grub-probe.c (probe): Handle PRINT_DISK.
8779 (argp_parser): Handle -t disk.
8780
8e1e4e39
VS
87812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * util/grub-mkfont.c: Migrate to argp.
8784 * util/grub-mklayout.c: Likewise.
8785 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8786 * util/grub-mkrelpath.c: Likewise.
8787 * util/grub-probe.c: Likewise.
8788 * util/grub-script-check.c: Likewise.
8789
4459819a
VS
87902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * util/grub-reboot.in: Add missing datarootdir.
8793 Add missing newline.
8794 * util/grub-set-default.in: Add missing datarootdir.
8795 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8796 * util/grub-mkrescue.in: Likewise.
8797
f65741c7
VS
87982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8801
c1a33466
VS
88022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * util/grub-kbdcomp.in: Add decent help and gettextize.
8805 * docs/man/grub-kbdcomp.h2m: New file.
8806
c76899a0
VS
88072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 Migrate grub-mkimage.c to argp.
8810
8811 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8812 (grub-setup): Likewise.
8813 * util/grub-setup.c (print_version): Move to ...
8814 * util/argp_common.c (print_version): ... here.
8815 * util/grub-setup.c (argp_program_version_hook): Move to ...
8816 * util/argp_common.c (argp_program_version_hook): ... here.
8817 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8818 safety.
8819 * util/grub-mkimage.c (main): Migrate to argp.
8820
57db0757
VS
88212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * util/grub-mkrescue.in: Use same message as
8824 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8825 for better translations.
8826
18534ad9
VS
88272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8830 options with generic grub-mkrescue.in with the goal of future
8831 merge.
8832
c84ba308
VS
88332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/kern/mm.c: Add missing include of i18n.h
8836 * grub-core/lib/relocator.c: Likewise.
8837
347998c2
VS
88382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8841 error.
8842 (allocate_pages): Check return value.
8843 Replace fatal with error.
8844 (grub_linux_boot): Replace printf with dprintf.
8845 Check find_mmap_size return value.
8846 Replace fatal with error.
8847 Don't call grub_machine_fini.
8848 (grub_load_elf64): Replace printf with dprintf.
8849 (grub_cmd_linux): Likewise.
8850 (grub_cmd_initrd): Likewise.
8851 (grub_cmd_payload): Likewise.
8852
c779226e
VS
88532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8856 message.
8857 * grub-core/video/radeon_fuloong2e.c
8858 (grub_video_radeon_fuloong2e_setup): Likewise.
8859 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8860 * grub-core/video/video.c (grub_video_set_mode): Don't override
8861 standard out of memory message.
8862
dc87d45a
GS
88632012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8864
8865 NetBSD disk wedge support.
8866
8867 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8868 [__NetBSD__]: Handle NetBSD disk wedges.
8869 * util/getroot.c (convert_system_partition_to_system_disk)
8870 [__NetBSD__]: Likewise.
8871
055f856f
MW
88722012-02-03 Mark Wooding <mdw@distorted.org.uk>
8873
8874 * util/grub-mkconfig.in: Use umask rather than chmod to create
8875 grub.cfg.new to avoid insecure grub.cfg.
8876
4a9f8346
VS
88772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * grub-core/commands/ls.c: Gettextize.
8880 * grub-core/commands/setpci.c: Likewise.
8881 * grub-core/commands/videotest.c: Likewise.
8882 * grub-core/disk/geli.c: Likewise.
8883 * grub-core/kern/mm.c: Likewise.
8884 * grub-core/lib/relocator.c: Likewise.
8885 * grub-core/loader/efi/appleloader.c: Likewise.
8886 * grub-core/loader/i386/xnu.c: Likewise.
8887 * grub-core/loader/ia64/efi/linux.c: Likewise.
8888 * grub-core/loader/xnu.c: Likewise.
8889 * grub-core/net/dns.c: Likewise.
8890 * grub-core/net/net.c: Likewise.
8891 * grub-core/script/lexer.c: Likewise.
8892 * grub-core/script/parser.y: Likewise.
8893 * grub-core/script/yylex.l: Likewise.
8894 * util/getroot.c: Likewise.
8895 * util/grub-setup.c: Likewise.
8896
a646a366
VS
88972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8900 number.
8901
54e2be26
VS
89022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8905
f7c71e68
VS
89062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8909 macro.
8910 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8911 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8912
a32d5c71
VS
89132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8916 * util/grub-install.in: Gettextize.
8917 * util/grub-mkconfig.in: Likewise.
8918 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8919 if not available.
8920 (grub_warn): Gettextize.
8921 * util/grub-mknetdir.in: Gettextize.
8922 * util/grub-mkrescue.in: Likewise.
8923 * util/grub-mkstandalone.in: Likewise.
8924 * util/grub-reboot.in: Likewise.
8925 * util/grub-set-default.in: Likewise.
8926 * util/grub.d/00_header.in: Likewise.
8927 * util/grub.d/10_hurd.in: Likewise.
8928 * util/grub.d/10_kfreebsd.in: Likewise.
8929 * util/grub.d/10_linux.in: Likewise.
8930 * util/grub.d/10_netbsd.in: Likewise.
8931 * util/grub.d/10_windows.in: Likewise.
8932 * util/grub.d/20_linux_xen.in: Likewise.
8933 * util/grub.d/30_os-prober.in: Likewise.
8934 * po/POTFILES-shell.in: Regenerate.
8935
69edd81a
RL
89362012-02-03 Richard Laager <rlaager@wiktel.com>
8937
8938 * util/grub-mkimage.c (main): Fix format-security warning.
8939 * util/grub-mkrelpath.c (main): Likewise.
8940 * util/grub-probe.c (main): Likewise.
8941
65f08dbf
RL
89422012-02-03 Richard Laager <rlaager@wiktel.com>
8943
8944 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8945 failure.
8946 Put back lost PRINT_DRIVE.
8947
e9084abe
RL
89482012-02-03 Richard Laager <rlaager@wiktel.com>
8949
8950 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8951 (grub_guess_root_devices): Replace strlen with sizeof.
8952 Avoid crash.
8953 (find_root_devices_from_poolname): Remove unused variable.
8954 Handle raidzN.
8955
cf5f7ee7
VS
89562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 Support install on multi-device filesystems.
8959
8960 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8961 (grub_guess_root_devices): ...this. Return char **. All users updated.
8962 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8963 Removed.
8964 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8965 (find_root_devices_from_poolname): ... here.
8966 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8967 Support zfs-fuse.
8968 (grub_guess_root_device): Rename to ...
8969 (grub_guess_root_devices): ... this. Return char **. All users updated.
8970 * util/grub-install.in: Handle multi-device filesystems.
8971 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8972 argument. All users updated.
8973 Handle multi-device filesystems.
8974 Use 'delim' as separator.
8975 Remove device check to allow filesystems on file.
8976 (main): Support -0 argument. Handle multi-device.
8977 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8978 Fix a cross-device check while on it.
8979 (arguments): Remove root_dev.
8980 (argp_parser): Remove -r.
8981 (main): Remove root_dev.
8982
2f53a9ed
VS
89832012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8986
17e1d934
VS
89872012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8990 symbol.
8991 Reported by: NODA, Kai <nodakai>.
8992
d3e3fab5
VS
89932012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 Fix ehci on amd64.
8996
8997 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8998 pointers.
8999 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9000 (grub_ehci_setup_qh): Likewise.
9001 (grub_ehci_find_qh): Likewise.
9002 (grub_ehci_transaction): Likewise.
9003 (grub_ehci_setup_transfer): Likewise.
9004 (grub_ehci_check_transfer): Likewise.
9005 (grub_ehci_portstatus): Likewise.
9006 (grub_ehci_detect_dev): Likewise.
9007 (grub_ehci_transfer_controller_data): New field td_last_phys.
9008 (grub_ehci_setup_transfer): Fill td_last_phys.
9009 (grub_ehci_check_transfer): Use td_last_phys.
9010
3008675b
SG
90112012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9012
9013 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9014 if no submenu is present.
9015
fc9b5652
AN
90162012-02-01 Aleš Nesrsta <starous@volny.cz>
9017
9018 CBI support.
9019
9020 * include/grub/usb.h (grub_usbms_protocol_t): New values
9021 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9022 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9023 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9024 (grub_usbms_dev): Add subclass, protocol and intrpt.
9025 Remove in_maxsz and out_maxsz.
9026 (grub_usbms_reset): Rename to ...
9027 (grub_usbms_bo_reset): .. this.
9028 (grub_usbms_cbi_cmd): New function.
9029 (grub_usbms_cbi_reset): Likewise.
9030 (grub_usbms_reset): Likewise.
9031 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9032 (grub_usbms_transfer): Rename to ...
9033 (grub_usbms_transfer_bo): ... this.
9034 (grub_usbms_transfer_cbi): Likewise.
9035 (grub_usbms_transfer): Likewise.
9036
a2b81d53
AN
90372012-02-01 Aleš Nesrsta <starous@volny.cz>
90382012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9041 the support for the CS5536 modification thereos and few bugfixes.
9042
9043 * grub-core/Makefile.core.def (ehci): New module.
9044 * grub-core/bus/usb/ehci.c: New file.
9045 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9046 port and hubaddr. All users updated.
9047 Save port and hubaddr into dev structure.
9048 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9049 define.
9050 * include/grub/pci.h (grub_dma_phys2virt): New function.
9051 (grub_dma_virt2phys): Likewise.
9052 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9053
b1d51f02
VS
90542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9057 check as some mkfs implementations omit it.
9058
fc694106
VS
90592012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9062
6c0920e3
VS
90632012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9066 Add new member volname2.
9067 (grub_jfs_label): Use volname2 if available.
9068
d1a46f9a
VS
90692012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9072 over last_mounted as seen in image generated by mkfs.nilfs2.
9073 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9074
dec8ed14
VS
90752012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9078 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9079 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9080
7397c69b
VS
90812012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9084 over the sector.
9085
b3fe42ad
VS
90862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9089 subvolume name (by removing a bogus and useless check).
9090
10476bb0
VS
90912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9094 sizeof while on it.
9095
9c08ad87
VS
90962012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9099 (grub_scsi_read_capacity10): ... this.
9100 (grub_scsi_read_capacity16): New function.
9101 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9102 0xffffffff.
9103 Fix off-by-one error.
9104 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9105 64-bit unsigned.
9106 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9107 (grub_scsi_read_capacity10): ... this.
9108 (grub_scsi_read_capacity_data): Rename to ...
9109 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9110 (grub_scsi_read_capacity16): New struct.
9111 (grub_scsi_read_capacity16_data): Likewise.
9112 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9113 grub_scsi_cmd_read_capacity10.
9114 New command grub_scsi_cmd_read_capacity16.
9115
bc8d0f45
VS
91162012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 SCSI >2TiB support.
9119
9120 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9121 (grub_scsi_write16): Likewise.
9122 (grub_scsi_read): Use read16 when necessary.
9123 (grub_scsi_write): Likewise.
9124 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9125 (grub_scsi_write16): Likewise.
9126 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9127
cc774926
VS
91282012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 SCSI write support (for usbms mainly).
9131
9132 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9133 a const pointer.
9134 (grub_scsi_write): Implement.
9135 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9136
67639fd7
VS
91372012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9140 variable.
9141
9079d3ed
VS
91422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9145
c6a6f204
VS
91462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * po/POTFILES.in: Regenerate.
9149
ecbf8cd1
VS
91502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9153 with grub_printf to avoid unnecessary fatal failure.
9154
0b3b3b38
VS
91552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9158 (INT_MAX): Likewise.
9159 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9160 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9161 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9162 (strcpy): Likewise.
9163 (strstr): Likewise.
9164 (strchr): Likewise.
9165 (strncpy): Likewise.
9166 (strcat): Likewise.
9167 (strncat): Likewise.
9168 (strcoll): Likewise.
9169 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9170 (GRUB_INT_MAX): Likewise.
9171
db7337a3
VS
91722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9175 unexpected error.
9176 (optimize_utf8): Likewise.
9177 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9178
f37c87e1
VS
91792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * grub-core/boot/i386/pc/lnxboot.S: Use
9182 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9183 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9184 location.
9185 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9186 definition.
9187 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9188
63fe43f3
VS
91892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9192 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9193 now to avoid double free.
9194 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9195 hostdisk.
9196 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9197 * util/grub-probe.c (escape_of_path): Always return a new copy.
9198 (print_full_name): Escape path.
9199 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9200 Fix hints on abstractions.
9201
ebe2c961
VS
92022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9205 Don't add "root" line if no compatibility hont is available.
9206 Suggested by: Seth Goldberg.
9207
2b5336a2
VS
92082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9211 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9212 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9213 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9214
74310bd8
VS
92152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9218
c30582ba
VS
92192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * util/grub-pe2elf.c (ehdr): Make static.
9222 (shdr): Likewise.
9223 (num_sections): Likewise.
9224 (offset): Likewise.
9225
5f47782c
VS
92262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 Eliminate ofpath limits and possible overflows.
9229
9230 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9231 (OF_PATH_MAX): Removed.
9232 (MAX_DISK_CAT): New const.
9233 (find_obppath): Use allocated rather than preallocated buffer.
9234 Return result. Argument of_path removed. All users updated.
9235 Add missing fdstat.
9236 (xrealpath): New function.
9237 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9238 Allocate rather than use preallocated buffer. All users updated.
9239 (__of_path_common): Use allocated rather than preallocatecd buffer.
9240 Return result. Argument of_path removed. All users updated.
9241 (vendor_is_ATA): Read only needed part form the file.
9242 (check_sas): Allocate depending on contents rather than fixed.
9243 (main) [STANDALONE]: Handle NULL result.
9244
f990cbf9
VS
92452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9248
9c6e84b8
VS
92492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 Cryptodisk write support.
9252
9253 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9254 (grub_cryptodisk_decrypt): Moved logic to ...
9255 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9256 (grub_cryptodisk_write): Implement.
9257 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9258 (grub_util_fd_write): ... this. Make global.
9259 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9260
87cf9744
VS
92612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * include/grub/list.h (grub_list_remove): Don't crash if element is
9264 removed twice.
9265
ca8c0baf
VS
92662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 Rename ofconsole to console.
9269
9270 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9271 as sysnonym to console.
9272 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9273 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9274 Rename grub_ofconsole_ to grub_console_. All users updated
9275 (grub_console_term_output): Rename "ofconsole" to "console".
9276 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9277 as "console".
9278
64c8b8f6
VS
92792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9282 handling.
9283 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9284 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9285 GRUB_DISK_DEVICE_FILE_ID.
9286
f6c434d5
VS
92872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9290 and improve performance.
9291
5858b42d
VS
92922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9295 missing ieee1275/ prefix on whole disk.
9296
4ed3c26b
VS
92972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9300 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9301
df71143e
VS
93022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9305
076e7c0f
VS
93062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 Merge common RAID and LVM logic to an abstract diskfilter.
9309 Add LDM support using the same framework.
9310
9311 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9312 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9313 (libgrubmods): Remove grub-core/disk/raid.c and
9314 grub-core/partmap/gpt.c.
9315 * grub-core/Makefile.core.def (ldm): New module.
9316 (raid): Renamed to diskfilter. All users updated.
9317 * grub-core/disk/raid.c: Moved to ...
9318 * grub-core/disk/diskfilter.c: ... here.
9319 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9320 (lv_num): New var.
9321 (find_array): Renamed to ...
9322 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9323 (grub_is_array_readable): Renamed to ...
9324 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9325 (insert_array): New argument id.
9326 (is_node_readable): New function.
9327 (scan_device): Rename to ...
9328 (scan_disk): .. this. Restrict to one disk.
9329 (scan_devices): New function.
9330 (grub_diskfilter_iterate): Support multi-LV.
9331 Skip invisible and nameless LVs.
9332 (grub_diskfilter_memberlist): Support multi-LV.
9333 (grub_diskfilter_read_node): New function.
9334 (grub_raid_read): Most of logic moved to ...
9335 (read_segment): ... here
9336 (read_lv): New function.
9337 (grub_diskfilter_get_vg_by_uuid): New function.
9338 (grub_diskfilter_make_raid): Likewise.
9339 * grub-core/disk/ldm.c: New file.
9340 * grub-core/disk/lvm.c (vg_list): Removed.
9341 (lv_count): Likewise.
9342 (scan_depth): Likewise.
9343 (is_lv_readable): Likewise.
9344 (grub_lvm_getvalue): Advance pointer past the number.
9345 (find_lv): Removed.
9346 (do_lvm_scan): Refactored into ...
9347 (grub_lvm_detect): ... this. Support raid.
9348 (grub_lvm_iterate): Removed.
9349 (grub_lvm_memberlist): Likewise.
9350 (grub_lvm_open): Likewise.
9351 (grub_lvm_close): Likewise.
9352 (read_lv): Likewise.
9353 (read_node): Likewise.
9354 (is_node_readable): Likewise.
9355 (is_lv_readable): Likewise.
9356 (grub_lvm_read): Likewise.
9357 (grub_lvm_write): Likewise.
9358 (grub_lvm_dev): Use diskfilter
9359 (GRUB_MOD_INIT): Likewise.
9360 (GRUB_MOD_FINI): Likewise.
9361 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9362 new interface.
9363 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9364 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9365 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9366 grub_diskfilter_read_node.
9367 Fix a bug with xor.
9368 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9369 grub_diskfilter_read_node.
9370 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9371 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9372 (grub_disk_dev_iterate): Move from here...
9373 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9374 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9375 Make global.
9376 (grub_hostdisk_find_partition_start): Likewise.
9377 (grub_hostdisk_os_dev_to_grub_drive): New function.
9378 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9379 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9380 * util/getroot.c (make_device_name): ... here.
9381 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9382 Move to ...
9383 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9384 * grub-core/kern/emu/hostdisk.c
9385 (convert_system_partition_to_system_disk): Move to ...
9386 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9387 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9388 * util/getroot.c (device_is_wholedisk): ... here.
9389 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9390 * util/getroot.c (find_system_device): ... here.
9391 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9392 Move to ...
9393 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9394 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9395 Move to ...
9396 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9397 Handle LDM.
9398 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9399 Move to ...
9400 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9401 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9402 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9403 DISKFILTER.
9404 * include/grub/raid.h: Renamed to ...
9405 * include/grub/diskfilter.h: ... this.
9406 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9407 (GRUB_RAID_LAYOUT_*): Make into array.
9408 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9409 (grub_diskfilter_vg): New struct.
9410 (grub_diskfilter_pv_id): Likewise.
9411 (grub_raid_member): Removed.
9412 (grub_raid_array): Likewise.
9413 (grub_diskfilter_pv): New struct.
9414 (grub_diskfilter_lv): Likewise.
9415 (grub_diskfilter_segment): Likewise.
9416 (grub_diskfilter_node): Likewise.
9417 (grub_diskfilter_get_vg_by_uuid): New proto.
9418 (grub_raid_register): Inline.
9419 (grub_diskfilter_unregister): Likewise.
9420 (grub_diskfilter_make_raid): New proto.
9421 (grub_diskfilter_vg_register): Likewise.
9422 (grub_diskfilter_read_node): Likewise.
9423 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9424 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9425 (grub_util_is_ldm): Likewise.
9426 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9427 (grub_hostdisk_find_partition_start): Likewise.
9428 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9429 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9430 New definition.
9431 (grub_gpt_partition_map_iterate): New proto.
9432 * include/grub/lvm.h (grub_lvm_vg): Removed.
9433 (grub_lvm_pv): Likewise.
9434 (grub_lvm_lv): Likewise.
9435 (grub_lvm_segment): Likewise.
9436 (grub_lvm_node): Likewise.
9437 * util/getroot.c [...]
9438 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9439 (probe_abstraction): Likewise.
9440 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9441 (main): Remove dead logic.
9442
8a7f9b9c
VS
94432012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 Simplify root device discover and don't fail when trying to open
9446 incorrect devices.
9447
9448 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9449 function.
9450 (get_diskname_from_path): Likewise.
9451 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9452 of iterating.
9453
30545b85
VS
94542012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9457
28ea58cf
VS
94582012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9461 pastthe end.
9462
692dabca
VS
94632012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * util/grub-install.in: Add missing \.
9466 Reported by: gentoofan
9467
f6e4ea70
VS
94682012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9471 (direct_read): Use correct compressed size.
9472 (grub_squash_read_data): Likewise.
9473
94742012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9475
9476 * docs/grub.texi (Platform limitations): New section.
9477 (Platform-specific operations): Likewise.
9478 * docs/grub-dev.texi (Porting): Likewise.
9479
76261110
VS
94802012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 IEEE1275 disk write support.
9483
9484 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9485 const void *.
9486 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9487 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9488 and seek loginc to ...
9489 (grub_ofdisk_prepare): ... here.
9490 (grub_ofdisk_write): Implement.
9491
fc36d603
VS
94922012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 ARC disk write support.
9495
9496 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9497 (reopen): New argument writable. All users updated.
9498 Handle required access mode.
9499 (grub_arcdisk_write): Implement.
9500 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9501 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9502
e06c2e7a
VS
95032012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9506 (read_sblock): Don't attempt to read superblocks outside the disk size.
9507
ff447958
VS
95082012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9511 first superblock to find the second one when possible.
9512
9e88df39
VS
95132012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 * util/grub-install.in: Fix an ARC bug.
9516 Print a warning if no platform-specific setup is available.
9517
bb26e4ff
VS
95182012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 Use static allocation rather than scratch pointer in reed_solomon.
9521 It decreases its size significantly and avoids a variable in .text.
9522
9523 * grub-core/lib/reed_solomon.c (scratch): Removed.
9524 (chosenstat): New const or static array.
9525 (sigma): Likewise.
9526 (errpot): Likewise.
9527 (errpos): Likewise.
9528 (sy): Likewise.
9529 (mstat): Likewise.
9530 (errvals): Likewise.
9531 (eqstat): Likewise.
9532 (pol_evaluate): Replace x with log_x argument. All users updated.
9533 (syndroms): Removed.
9534 (gauss_solve): Use statically allocated arrays.
9535 (rs_recover): Likewise.
9536 Calculate syndroms directly.
9537 (decode_block): Use statically allocated arrays.
9538 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9539 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9540
2e13ede5
VS
95412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 Eliminate fixed limit on reed solomon decoder length.
9544
9545 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9546 rather than hardcoding the address.
9547 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9548 no_reed_solomon_length.
9549 Move gate_a20 to no-reed-solomon part.
9550 Don't force a particular size of no reed-solomon part.
9551 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9552 Removed.
9553 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9554 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9555
f8a9ab12
VS
95562012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/commands/wildcard.c (match_files): Handle filenames
9559 without explicit device.
9560 (wildcard_expand): Don't add explicit device if not already present.
9561 * tests/grub_script_echo1.in: Add a new expansion test.
9562
87edb894
VS
95632012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 Replace single-linked with double-linked lists. It results in more
9566 compact and more efficient code.
9567
9568 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9569 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9570 (grub_list_remove): Moved from here ...
9571 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9572 (grub_prio_list_insert): Set prev.
9573 * include/grub/list.h (grub_list): Add prev. All users updated.
9574
48b391e9
VS
95752012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 Handle newer autotools. Add some missing quotes while on it.
9578
9579 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9580 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9581 (pkgdata_DATA): ... here.
9582 * Makefile.util.def (update-grub_lib): Removed.
9583 * conf/Makefile.common (pkglib_DATA): Removed.
9584 (pkglib_SCRIPTS): Likewise.
9585 (pkgdata_DATA): New variable.
9586 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9587 needed.
9588 Add missing quotes.
9589 Remove unused variable while on it.
9590 * tests/util/grub-shell.in: Likewise.
9591 * util/grub-install.in: Likewise.
9592 * util/grub-mkconfig.in: Likewise.
9593 * util/grub-mknetdir.in: Likewise.
9594 * util/grub-mkrescue.in: Likewise.
9595 * util/grub-mkstandalone.in: Likewise.
9596 * util/grub.d/00_header.in: Likewise.
9597 * util/grub.d/10_hurd.in: Likewise.
9598 * util/grub.d/10_illumos.in: Likewise.
9599 * util/grub.d/10_kfreebsd.in: Likewise.
9600 * util/grub.d/10_linux.in: Likewise.
9601 * util/grub.d/10_netbsd.in: Likewise.
9602 * util/grub.d/10_windows.in: Likewise.
9603 * util/grub.d/20_linux_xen.in: Likewise.
9604 * util/grub.d/30_os-prober.in: Likewise.
9605 * util/update-grub_lib.in: Removed.
9606
96072012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9608
9609 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9610 a workaround for intel problem.
9611
66832792
PRP
96122012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
96132012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
96142012-01-23 pfsmorigo
9615
9616 * util/grub-install.in: Support dd'in into PreP partition.
9617 * util/grub-probe.c (probe): Support discovering partition type.
9618 (main): Support -t msdos_parttype.
9619
7816a17e
VS
96202012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9623 infinite recursion using counter.
9624 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9625 init to skip it if the magic check fails.
9626 (dec_stream_header): Init s->crc32.
9627
8f9d3a8c
ZB
96282012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
96292012-01-22 Zachary Bedell <pendorbound@gmail.com>
96302012-01-22 Richard Laager <rlaager@wiktel.com>
9631
9632 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9633 All users updated.
9634 (find_bestub): Determine correct size.
9635 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9636 (scan_disk): Align the size down.
9637 Call check pool before find_bestub to have ashift.
9638
b055dd32
VS
96392012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9642 dprintf in no-malloc zone.
9643
d779e9bd
ML
96442012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9645
9646 * configure.ac: Add back in test for limits.h.
9647
b508af69
VS
96482012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 Support 4K-sector NTFS.
9651
9652 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9653 (grub_ntfs_data): Remove blocksize.
9654 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9655 Remove data argument. All users updated.
9656
dad9c8b5
VS
96572012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9660 being in .text to avoid dprel references.
9661 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9662 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9663 (grub_arch_highmemsize): Likewise.
9664 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9665 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9666 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9667
d43a777e
VS
96682012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9671
9672 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9673 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9674
34e4208f
VS
96752012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9678 GRUB_UTIL.
9679 (grub_set_datetime_cmos): Likewise.
9680
3ec0fc1c
VS
96812012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 Make XZ compression parameters dependent on target and not host CPU.
9684
9685 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9686 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9687
22489834
VS
96882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9691 set but not used variable.
9692
8502fbca
VS
96932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9696 created when no uuid support is compiled into mkfs.reiser.
9697
76df2068
VS
96982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9701 (utf8_to_macroman): Do the opposite.
9702 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9703
64e3f8f6
VS
97042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * configure.ac: Refise build qemu_mips w/o unifont.
9707
9c271078
VS
97082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 Eliminate grub_min/grub_max prone to overflow usage.
9711
9712 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9713 (poll_nonroot_hub): Likewise.
9714 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9715 (grub_affs_label): Likewise.
9716 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9717 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9718 (grub_hfs_label): Likewise.
9719 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9720 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9721 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9722 (zap_leaf_array_get): Likewise.
9723 (dnode_get_path): Likewise.
9724 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9725 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9726 * grub-core/script/execute.c (grub_script_break): Likewise.
9727 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9728 grub_max.
9729 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9730 * include/grub/misc.h (grub_min): Removed.
9731 (grub_max): Likewise.
9732
80662dbc
VS
97332012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9734
9735 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9736 direct.inode = 0.
9737
e6da1467
VS
97382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9741
b1ac4cb1
VS
97422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9745
b4bf7c3b
VS
97462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9749 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9750
8ee1101a
VS
97512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9754 rather than a hack for grub_strncasemap.
9755
97562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 Support multiple initrds
9759 Note: part of this was accidently committed in r3739.
9760
9761 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9762 initrd.
9763 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9764 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9765 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9766 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9767 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9768
4d1e2bc9
VS
97692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9772 disks with unknown size.
9773 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9774
75b49ebe
VS
97752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 Remove defines pertaining to arbitrary limits not affecting GRUB
9778 anymore.
9779
9780 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9781 (EXT2_MAX_SYMLINKCNT): Likewise.
9782 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9783 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9784 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9785 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9786 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9787 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9788 (DN_MAX_OBJECT_SHIFT): Likewise.
9789 (DN_MAX_OFFSET_SHIFT): Likewise.
9790 (DN_MAX_OBJECT): Likewise.
9791 (DNODES_PER_LEVEL_SHIFT): Likewise.
9792 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9793 (SPA_MAXBLOCKSIZE): Likewise.
9794 (SPA_BLOCKSIZES): Likewise.
9795 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9796 (MZAP_MAX_BLKSZ): Likewise.
9797
74a1dce7
VS
97982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9801 handle NULL appropriately.
9802 Remove MIN.
9803
30c7d3ce
VS
98042012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 Fix efiemu.
9807
9808 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9809 cpu/types.h.
9810 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9811 * configure.ac: Fix efiemu check.
9812
3c76ea0c
VS
98132012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9816 grub_probe.
9817 Reported by: adamwill
9818
7e532280
SG
98192012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9820
9821 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9822
30492374
VS
98232012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 Fix handling of wide characters in gfxterm.
9826
9827 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9828 (clear_char): Likewise.
9829 (paint_char): Skip code == NULL chars.
9830 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9831
e70cb72f
VS
98322012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * grub-core/normal/charset.c: Move comment to right place.
9835
5c827cf9
VS
98362012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9839 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9840 (grub_affs_mount): Revert the correct version checking.
9841
53603892
VS
98422012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * docs/grub.texi (Unicode): Mention several other unsupported features.
9845
ff094b9b
VS
98462011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9849 case statements as compile-time one.
9850 (direct_read): Prevent spurious warnings.
9851 (grub_squash_read_data): Likewise.
9852
c029da8a
VS
98532011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 Various squash4 fixes and LZO and XZ support.
9856
9857 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9858 Add xzembed source files.
9859 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9860 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9861 (grub_squash_inode): New subtype long_dir.
9862 (SQUASH_TYPE_LONG_DIR): New inode type.
9863 (COMPRESSION): New enum.
9864 (XZBUFSIZ): New const.
9865 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9866 (read_chunk): Use data->decompress.
9867 (zlib_decompress): New function.
9868 (lzo_decompress): Likewise.
9869 (xz_decompress): Likewise.
9870 (squash_mount): Set new data fields.
9871 (grub_squash_iterate_dir): Handle long dir.
9872 (squash_unmount): Free xzdec and xzbuf.
9873 (grub_squash_open): Check ino type.
9874 (direct_read): Stylistic fixes. Use data->decompress.
9875 (grub_squash_read_data): Likewise.
9876 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9877 (get_byte): Likewise.
9878 (grub_zlib_disk_read): Removed.
9879 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9880 (GRUB_POSIX_BOOL_DEFINED): New define.
9881 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9882 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9883 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9884 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9885
7a45a539
VS
98862011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Don't override more informative errors.
9889
9890 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9891 * grub-core/font/font.c (open_section): Likewise.
9892 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9893 filename. Don't override errors.
9894 (grub_cmd_openbsd_ramdisk): Don't override errors.
9895 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9896 (grub_cmd_initrd): Likewise.
9897 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9898 (grub_cmd_initrd): Likewise.
9899 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9900 (grub_cmd_linux): Likewise.
9901 (grub_cmd_initrd): Likewise.
9902 (grub_cmd_payload): Likewise.
9903 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9904 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9905 (grub_cmd_module): Likewise.
9906 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9907 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9908 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9909 (grub_cmd_xnu_mkext): Likewise.
9910 (grub_cmd_xnu_ramdisk): Likewise.
9911 (grub_xnu_check_os_bundle_required): Likewise.
9912 (grub_xnu_load_kext_from_dir): Likewise.
9913 (grub_cmd_xnu_kextdir): Likewise.
9914 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9915
b2d004db
VS
99162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9919 as 1024 in block size field. Found on one of my test images.
9920 Small optimisation while on it.
9921
ec000eac
VS
99222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9925 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9926 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9927 performance fixes while on it.
9928 (grub_sfs_close): Fix memory leak while on it.
9929 (grub_sfs_label): Convert Latin1 to UTF-8.
9930
f50e1165
VS
99312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9934 space to avoid overflows.
9935 (grub_hfs_label): Convert from macroman to UTF-8.
9936
2ae254de
VS
99372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9940
0108f491
VS
99412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9944
f45f5f89
VS
99452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * unicode: Import Unicode 6.0 data.
9948
4d8c4765
VS
99492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9950
63fa8ef9
VS
9951 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9952 outside of range.
9953
99542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9957
9958 * include/grub/charset.h (grub_getend): New function.
9959 * grub-core/script/function.c (grub_script_function_find): Use
9960 grub_getend.
9961 * grub-core/normal/completion.c (add_completion): Likewise.
9962
f3cb4a4e
VS
99632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9966 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9967 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9968 (GRUB_UNICODE_TAG_END): Likewise.
9969 (GRUB_UNICODE_LAST_VALID): Likewise.
9970
5da8dbc5
VS
99712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9974 len and make it smaller. All users updated.
9975 * util/import_unicode.py: Put length and not end character.
9976 Check length.
9977
8569f13d
VS
99782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 Make better Unicode-compliant and unify some UTF-8 code pathes.
9981
9982 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9983 valid character.
9984 (grub_is_valid_utf8): Use grub_utf8_process.
9985 Check resulting code range.
9986 (grub_utf8_to_ucs4): Use grub_utf8_process.
9987 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9988 valid character.
9989
cc4fddf5
VS
99902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9993
bbc47747
VS
99942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * docs/grub.texi (Filesystems): Mention AFS.
9997
f63d6bf4
VS
99982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * docs/grub.texi (Filesystems): Clarify restrictions.
10001 (Regexp): Mention non-Unicode regexp behaviour.
10002 (Other): Mention non-Unicode matching behaviour.
10003
74bbf0db
VS
100042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10005
f63d6bf4 10006 Make HFS implementation use MacRoman.
74bbf0db
VS
10007
10008 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10009 (macroman): New const array.
10010 (macroman_to_utf8): New function.
10011 (utf8_to_macroman): Likewise.
10012 (grub_hfs_find_dir): Use utf8_to_macroman.
10013 (grub_hfs_dir): Use macroman_to_utf8.
10014 Set case_insensitive.
10015
4ea0316e
VS
100162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10019
d3c13cbd
VS
100202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 Integrate hints into autogeneration scripts.
10023
10024 * docs/grub.texi (Filesystems): Add a hostdisk example.
10025 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10026 (grub-probe): Add ofpath.
10027 * gentpl.py: Remove group nosparc64.
10028 * grub-core/commands/search.c (cache_entry): New struct.
10029 (cache): New var.
10030 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10031 * grub-core/commands/search_wrap.c (options): Add platform-specific
10032 hint options.
10033 (grub_cmd_search): Handle platform-specific hints.
10034 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10035 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10036 (grub_util_biosdisk_data): Likewise.
10037 (grub_util_biosdisk_open): Set device_map.
10038 (read_device_map): Handle "" as indication of no map.
10039 Set device_map.
10040 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10041 (grub_util_biosdisk_get_compatibility_hint): New function.
10042 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10043 * include/grub/emu/hostdisk.h
10044 (grub_util_biosdisk_get_compatibility_hint): New proto.
10045 * util/grub-install.in: Don't call grub-mkdevicemap.
10046 Add platform-specific hint to load.cfg.
10047 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10048 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10049 hints. Set root preliminary to compatibility hint, not to OS name.
10050 * util/grub-probe.c (PRINT_*): Add hints.
10051 (print): Make static.
10052 (escape_of_path): New function.
10053 (guess_bios_drive): Likewise.
10054 (guess_efi_drive): Likewise.
10055 (guess_baremetal_drive): Likewise.
10056 (print_full_name): Likewise.
10057 (probe): Handle hints.
10058 (main): Likewise.
10059 * util/ieee1275/devicemap.c: Removed.
10060 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10061 updated.
10062 (grub_util_devname_to_ofpath): Return NULL on failure.
10063
10064 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10065 resource leak.
10066 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10067
10068 * po/POTFILES.in: Regenerated.
10069
10070 Allow purely long options
10071
10072 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10073 (SHORT_ARG_USAGE): Likewise.
10074 (grub_arg_show_help): Compare opt with help_options.
10075 (parse_option): Receive opt as argument. If makes big simplificatons.
10076 All users updated
10077
00ce2df3
VS
100782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10081 Restructure to avoid warning.
10082
e77e325f
VS
100832011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * util/grub-install.in: Account for possible escaped comma in device
10086 name.
10087
165099ea
VS
100882011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10091 channel.
10092
ce4a999d
VS
100932011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10096 allocation and zero-setting.
10097 (grub_ieee1275_get_devname): Check that alias is complete.
10098
379586ad
VS
100992011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10102 unaligned segments.
10103
9197b0ad
VS
101042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10107 prefix.
10108 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10109 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10110 Add ieee1275 prefix.
10111
edddb7f9
VS
101122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * docs/grub.texi (Filesystems): Update.
10115
a1a8b1b9
VS
101162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 Support odc, newc and bigendian cpio formats.
10119
10120 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10121 * grub-core/Makefile.core.def (newc): New module.
10122 (odc): Likewise.
10123 (cpio_be): Likewise.
10124 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10125 (MAGIC): Likewise.
10126 (MAGIC2): Likewise.
10127 (head) [MODE_ODC]: Adapt for the format.
10128 (head) [MODE_NEWC]: Likewise.
10129 (head) [!MODE_*]: Write fields of interest as arrays.
10130 (MAGIC_USTAR): Removed.
10131 (read_number) [MODE_NEWC]: Change to hex.
10132 (read_number) [!MODE_*]: Parse binary arrays.
10133 (grub_cpio_find_file): Factor out the code for better structure and
10134 always use read_number.
10135 (grub_cpio_mount): Use MAGIC and MAGIC2.
10136 (grub_cpio_dir): Exit on first hook non-0 return.
10137 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10138 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10139 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10140 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10141 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10142 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10143 * grub-core/fs/newc.c: New file.
10144 * grub-core/fs/odc.c: Likewise.
10145 * grub-core/fs/cpio_be.c: Likewise.
10146
58eba9ee
VS
101472011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 Fix handling of tar numbers occupying the whole field.
10150
10151 * grub-core/fs/cpio.c (read_number): New function.
10152 (grub_cpio_find_file): Use read_number instead of strtoull.
10153
a54a0e12
VS
101542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10157 occupying the whole field size.
10158
a6120aca
LA
101592011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10160
10161 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10162
a93964ce
VS
101632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10166
3ea1ca46
SG
101672011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10168
10169 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10170 TARGET_IMG_LDFLAGS.
10171
b87f7ef2
VS
101722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10175 (mountinfo_entry): Increase the field size to take escaping into
10176 account.
10177 (find_root_device_from_libzfs): Add one byte to size of strings for
10178 security.
10179
62092395
VS
101802011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10183 an assert.
10184 * util/grub-setup.c (setup): Likewise.
10185
1f0b1a77
VS
101862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10189 _LzmaDecodeA.
10190
8eba9997
VS
101912011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * docs/grub.texi (Internationalisation): New section.
10194
dd0c91e9
VS
101952011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * docs/grub.texi (Loopback booting): New section.
10198
101992011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10200
10201 * util/grub-mkstandalone.in: Fix minor typo errors.
10202
198e150a
VS
102032011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10206
10207 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10208 net/icmp.c and net/icmp6.c.
10209 (http): New module.
10210 (priority_queue): Likewise.
10211 * grub-core/io/bufio.c: Rewritten.
10212 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10213 TYPE_WITH_CONFIGFILE_OPTION.
10214 (legacy_commands): Add bootp and dhcp.
10215 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10216 (grub_legacy_parse): Likewise.
10217 * grub-core/lib/priority_queue.c: New file.
10218 * grub-core/net/arp.c: Add missing license header.
10219 (arp_find_entry): Removed.
10220 (arp_find_entry): Likewise.
10221 (grub_net_arp_resolve): Rename to ...
10222 (grub_net_arp_send_request): ...this.
10223 (grub_net_arp_receive): New card argument.
10224 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10225 Set router and DNS server.
10226 (grub_net_configure_by_dhcp_ack): Handle routing information.
10227 (grub_cmd_bootp): Set checksum.
10228 (grub_bootp_init): Remove net_dhcp.
10229 * grub-core/net/dns.c: New file.
10230 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10231 completion.
10232 (get_card_packet): Handle allocation.
10233 (grub_efinet_findcards): Set mtu.
10234 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10235 (get_card_packet): Handle allocation.
10236 (emucard): Set mtu.
10237 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10238 (GRUB_MOD_INIT): Set mtu.
10239 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10240 mtu.
10241 (get_card_packet): Handle allocation.
10242 (grub_ofnet_findcards): Set mtu.
10243 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10244 assert.
10245 (grub_net_recv_ethernet_packet): Handle IPv6.
10246 * grub-core/net/http.c: New file.
10247 * grub-core/net/icmp.c: Likewise.
10248 * grub-core/net/icmp6.c: Likewise.
10249 * grub-core/net/ip.c (ip6addr): New type.
10250 (ip6hdr): Likewise.
10251 (reassemble): Likewise.
10252 (cmp): New function.
10253 (reassembles): New variable.
10254 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10255 (id): New variable.
10256 (send_fragmented): New function.
10257 (grub_net_send_ip_packet): Rename to ...
10258 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10259 Handle non-UDP.
10260 (grub_net_recv_ip_packets): Rename to ...
10261 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10262 (free_rsm): New function.
10263 (free_old_fragments): Likewise.
10264 (grub_net_recv_ip4_packets): New function.
10265 (grub_net_send_ip6_packet): Likewise.
10266 (grub_net_send_ip_packet): Likewise.
10267 (grub_net_recv_ip6_packets): Likewise.
10268 (grub_net_recv_ip_packets): Likewise.
10269 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10270 (LINK_LAYER_CACHE_SIZE): New const.
10271 (link_layer_find_entry): New function.
10272 (grub_net_link_layer_add_address): Likewise.
10273 (grub_net_link_layer_resolve_check): Likewise.
10274 (grub_net_link_layer_resolve): Likewise.
10275 (grub_net_ipv6_get_slaac): Likewise.
10276 (grub_net_ipv6_get_link_local): Likewise.
10277 (grub_cmd_ipv6_autoconf): Likewise.
10278 (parse_ip): Handle one number representation.
10279 (parse_ip6): New functoion.
10280 (match_net): Handle IPv6.
10281 (grub_net_resolve_address): Handle IPv6 and DNS.
10282 (grub_net_resolve_net_address): Handle IPv6.
10283 (route_cmp): New function.
10284 (grub_net_route_address): Find best route.
10285 (grub_net_addr_to_str): Handle IPv6.
10286 (grub_net_addr_cmp): New function.
10287 (grub_net_add_addr): Register local route.
10288 (print_net_address): Handle net address.
10289 (grub_net_poll_cards): Retransmit TCP.
10290 (grub_net_poll_cards_idle_real): Likewise.
10291 (have_ahead): New function.
10292 (grub_net_seek_real): Use underlying seek.
10293 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10294 * grub-core/net/tcp.c: New file.
10295 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10296 (cmp): New function.
10297 (ack): Likewise.
10298 (tftp_receive): Handle unordered input.
10299 (destroy_pq): New function.
10300 (tftp_close): Close pq.
10301 * grub-core/net/udp.c: Put missing license header.
10302 (grub_net_udp_socket): New function.
10303 (udp_socket_register): Likewise.
10304 (grub_net_udp_close): Likewise.
10305 (grub_net_recv_udp_packet): Check checksum.
10306 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10307 * include/grub/misc.h (grub_memchr): New function.
10308 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10309 (grub_net_card_driver): Return buf in recv.
10310 (grub_net_slaac_mac_list): New struct.
10311 (grub_network_level_protocol_id): Add ipv6.
10312 (grub_net_network_level_addr): Likewise.
10313 (grub_net_network_level_net_addr): Likewise.
10314 (grub_net_app_protocol): Add seek.
10315 (grub_net_socket): Removed.
10316 (grub_net_sockets): Likewise.
10317 (grub_net_socket_register): Likewise.
10318 (grub_net_socket_unregister): Likewise.
10319 (FOR_NET_SOCKETS): Likewise.
10320 (grub_net_add_addr): Add const.
10321 (GRUB_NET_BOOTP_*): New enum.
10322 (grub_net_addr_cmp): New proto.
10323 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10324 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10325 (grub_net_hwaddr_to_str): NEw proto.
10326 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10327 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10328 (grub_dns_init): New proto.
10329 (grub_dns_fini): Likewise.
10330 (grub_net_tcp_retransmit): Likewise.
10331 (grub_net_link_layer_add_address): Likewise.
10332 (grub_net_link_layer_resolve_check): Likewise.
10333 (grub_net_link_layer_resolve): Likewise.
10334 (grub_net_dns_lookup): Likewise.
10335 (grub_net_add_dns_server): Likewise.
10336 (grub_net_remove_dns_server): Likewise.
10337 (GRUB_NET_TRIES): New const.
10338 (GRUB_NET_INTERVAL): Likewise.
10339 * include/grub/net/arp.h: Mostly rewritten.
10340 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10341 * include/grub/net/ip.h: Mostly rewritten.
10342 * include/grub/net/netbuff.h: Indent.
10343 * include/grub/net/tcp.h: New file.
10344 * include/grub/net/udp.h: Mostly rewritten.
10345 * include/grub/priority_queue.h: New file.
10346 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10347 (grub_swap_bytes64_compile_time): Likewise.
10348 (grub_cpu_to_be16_compile_time): Likewise.
10349 (grub_cpu_to_be32_compile_time): Likewise.
10350 (grub_cpu_to_be64_compile_time): Likewise.
10351 (grub_be_to_cpu64_compile_time): Likewise.
10352
215c1800
VS
103532011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10356 UINT_TO_PTR with cast.
10357
c17e546c
VS
103582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10361 don't use them.
10362
ff6b18b6
VS
103632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10366 already there.
10367
70ffcc93
VS
103682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10371 confusing ipxe.
10372
e5f4d260
VS
103732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10376 Add missing const attribute.
10377 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10378 Likewise.
10379 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10380 Likewise.
10381
8e54b4b7
VS
103822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10385 misaligned access.
10386 (serpent_setkey): Likewise.
10387 (serpent_encrypt_internal): Likewise.
10388 (serpent_decrypt_internal): Likewise.
10389 (serpent_encrypt): Don't put an alignment-increasing cast.
10390 (serpent_decrypt): Likewise.
10391 (serpent_test): Likewise.
10392
813c0a2b
VS
103932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10396
f2b60fbd
VS
103972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10400
10401 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10402 grub_addr_t casts.
10403 (PTR_TO_UINT64): Likewise.
10404 (PTR_TO_UINT32): Likewise.
10405
5ef5c511
VS
104062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10409 because of stack.
10410 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10411 limit.
10412
c476e6df
VS
104132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10416 text_width > available width a bit more gracefully.
10417
384ad7cc
VS
104182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10421 current address calculation.
10422
96f8caf8
VS
104232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10426 stack.
10427 (encode_block): Likewise.
10428
276b7a8b
VS
104292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10432 certainety.
10433
e3fd394a
VS
104342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10437 non-RS part to avoid RS messing with GDT.
10438 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10439 Increase to suit in realmode routines.
10440
104412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * grub-core/kern/i386/realmode.S: Increase alignment.
10444 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10445
ee9c2e7a
VS
104462011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10449 be deterministic.
10450 (syndroms): Compute 0 syndrom.
10451 (rs_recover): Use 0 syndrom.
10452
7a7f7cc9
VS
104532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10456
a14b16d1
VS
104572011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10460 brackets.
10461
9f59e9fc
VS
104622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10463
ca1b552c
VS
10464 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10465 account.
10466 (get_top_pad): Likewise.
10467 (get_right_pad): Likewise.
10468 (get_bottom_pad): Likewise.
10469
104702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10473
e739d698
VS
104742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10477 attribute as the structure isn't guaranteed to be properly aligned.
10478 (grub_efi_pci_device_path): Likewise.
10479 (grub_efi_pccard_device_path): Likewise.
10480 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10481 specify the size of `memory_type'.
10482 (grub_efi_vendor_device_path): Likewise.
10483 (grub_efi_controller_device_path): Likewise.
10484 (grub_efi_acpi_device_path): Likewise.
10485 (grub_efi_expanded_acpi_device_path): Likewise.
10486 (grub_efi_atapi_device_path): Likewise.
10487 (grub_efi_scsi_device_path): Likewise.
10488 (grub_efi_fibre_channel_device_path): Likewise.
10489 (grub_efi_1394_device_path): Likewise.
10490 (grub_efi_usb_device_path): Likewise.
10491 (grub_efi_usb_class_device_path): Likewise.
10492 (grub_efi_i2o_device_path): Likewise.
10493 (grub_efi_mac_address_device_path): Likewise.
10494 (grub_efi_ipv4_device_path): Likewise.
10495 (grub_efi_ipv6_device_path): Likewise.
10496 (grub_efi_infiniband_device_path): Likewise.
10497 (grub_efi_uart_device_path): Likewise.
10498 (grub_efi_vendor_messaging_device_path): Likewise.
10499 (grub_efi_hard_drive_device_path): Likewise.
10500 (grub_efi_cdrom_device_path): Likewise.
10501 (grub_efi_vendor_media_device_path): Likewise.
10502 (grub_efi_file_path_device_path): Likewise.
10503 (grub_efi_protocol_device_path): Likewise.
10504 (grub_efi_piwg_device_path): Likewise.
10505 (grub_efi_bios_device_path): Likewise.
10506
cb8f88ea
VS
105072011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10510 (grub_ucs4_to_utf8_alloc): Likewise.
10511 (grub_ucs4_to_utf8): Likewise.
10512 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10513 (grub_ucs4_to_utf8_alloc): Likewise.
10514
309e5352
VS
105152011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 AFFS never uses unicode.
10518
10519 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10520 (grub_latin1_to_utf8): New inline function.
10521 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10522
e7987e1b
VS
105232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10526 overflow.
10527
efc2616e
VS
105282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10531 (grub_squash_dirent_header): Likewise.
10532 (read_chunk): Don't double swap.
10533 (grub_squash_iterate_dir): Fix swap sizes.
10534
3c349f5a
VS
105352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10538
b453412d
VS
105392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10542 (grub_hfs_iterate_dir): Likewise.
10543
12e9d4d1
VS
105442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 Fix video on platforms where unaligned access is forbidden.
10547 Make several optimisations while on it.
10548
10549 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10550 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10551 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10552 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10553 Disable.
10554 (grub_video_fbblit_replace_16bit_1bit):
10555 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10556 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10557 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10558 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10559 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10560 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10561 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10562 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10563 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10564 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10565 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10566 (grub_video_fbblit_replace_index_RGB888): Likewise.
10567 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10568 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10569 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10570 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10571 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10572 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10573 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10574 Disable.
10575 (grub_video_fbblit_blend_XXX565_1bit):
10576 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10577 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10578 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10579 void *.
10580 * grub-core/video/fb/video_fb.c (common_blitter)
10581 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10582 (grub_video_fb_create_render_target_from_pointer)
10583 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10584 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10585 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10586 definition.
10587 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10588
ace96609
VS
105892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10592 HH22 and HM10 relocations.
10593
fd261d73
VS
105942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10597
e59b7857
VS
105982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10601 allocation succeeded.
10602
9b4baaa4
VS
106032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10606 argument a u8 pointer. All users updated.
10607 Handle unaligned buffers.
10608
dc713193
VS
106092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10612 add_part to workaround compiler bug.
10613
30dd48c2
VS
106142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10617
0c6087a8
VS
106182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10621 Reserve alignment invariants.
10622 (grub_multiboot_load): Likewise.
10623 (retrieve_video_parameters): Likewise.
10624 (grub_multiboot_make_mbi): Likewise.
10625
c2e77777
VS
106262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10629 incorrect pointer.
10630
b70b6d11
VS
106312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10634 (grub_pata_pio_write): Likewise.
10635
02a2bf83
VS
106362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 Add noreturn attributes and remove unreachable code.
10639
10640 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10641 code.
10642 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10643 code. Mark as noreturn.
10644 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10645 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10646 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10647 unreachable code.
10648 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10649 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10650 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10651 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10652 * include/grub/kernel.h (grub_main): Mark as noreturn.
10653 * include/grub/reader.h (grub_rescue_run): Likewise.
10654
2019d09e
VS
106552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10658 redundant declaration.
10659
d1c501ee
VS
106602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10663 redundant declaration.
10664 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10665
61664420
VS
106662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10669 to ensure alignment.
10670 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10671 alignment. Ensure tmp alignment.
10672 (grub_cmd_hdparm): Ensure buf alignment.
10673 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10674 to ensure alignment.
10675 (grub_ata_dumpinfo): Ensure text alignment.
10676 (grub_atapi_identify): Preserve alignment invariant.
10677 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10678
0d51ee20
VS
106792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10682 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10683 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10684 * include/grub/misc.h (grub_reboot)
10685 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10686 (grub_halt) [__mips__]: Likewise.
10687
753ef8c1
VS
106882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10691 Remove redundant declaration.
10692 (grub_mmap_get_post64): Likewise.
10693 (grub_mmap_get_upper): Likewise.
10694 (grub_mmap_get_lower): Likewise.
10695
85c85365
VS
106962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10699 uint32_t * to ensure alignment.
10700 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10701
a23f2cc4
VS
107022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10703
93018f64
VS
10704 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10705 uint16_t * to ensure alignment.
10706 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10707 alignment.
10708
107092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
10712 to ensure alignment.
10713 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10714
58acccd6
VS
107152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10718 Handle unaligned pointers.
10719 (u32at): Likewise.
10720 (u64at): Likewise.
10721 (fixup): Use byte access instead of v16at.
10722 (find_attr): Fix imporper usage of v32at.
10723 (read_data): Likewise.
10724 (list_file): Handle byte-swapping and unaligned strings.
10725 (grub_ntfs_label): Likewise.
10726
9b05cad7
VS
107272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10730 as it's not necessarily aligned.
10731
b3950b84
VS
107322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10735 redundant declaration.
10736 (grub_serial_init): Likewise.
10737 (grub_terminfo_init): Likewise.
10738
fcd232b7
VS
107392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10742 function.
10743 (ZAP_HASH_IDX): Likewise.
10744 (ZAP_LEAF_HASH_SHIFT): Likewise.
10745 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10746 (LEAF_HASH): Likewise.
10747 (ZAP_LEAF_NUMCHUNKS): Likewise.
10748 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10749 alignment invariants. Return pointer. All users updated.
10750 (ZAP_LEAF_ENTRY): Make into inline function.
10751 (NBBY): Removed.
10752 (xor): LIkewise.
10753 (xor_out): Use grub_crypto_xor.
10754 (dnode_get_path): Use grub_get_unaligned.
10755 (nvlist_find_value): Likewise.
10756 (grub_zfs_nvlist_lookup_uint64): Likewise.
10757 (grub_zfs_nvlist_lookup_string): Likewise.
10758 (get_nvlist_size): Likewise.
10759 (grub_zfs_open): Likewise.
10760 (fill_fs_info): Likewise.
10761 (grub_zfs_dir): Likewise.
10762 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10763 alignment invariants.
10764 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10765 necessarily aligned.
10766
f138623a
VS
107672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10770
564840dc
VS
107712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10774 arithmetic to conserve alignment invariants.
10775
9b40df20
VS
107762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10779 redundant declaration.
10780 (grub_efiemu_mm_obtain_request): Likewise.
10781 (grub_efiemu_prepare): Likewise.
10782
d1c930f9
VS
107832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10786 to match types.
10787
4c5f3056
VS
107882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10791 case of aunaligned recptr.
10792 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10793 alignment.
10794 (grub_hfsplus_btree_search): Handle unaligned index.
10795
728cba91
VS
107962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10799 to get freetag and skip.
10800
eb561f31
VS
108012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10804 array.
10805 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10806 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10807
20993fbb
VS
108082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10811 name for checksum and fix allocation algorithm.
10812
1f313b94
VS
108132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * include/grub/types.h (grub_properly_aligned_t): New type.
10816 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10817 (grub_get_unaligned16): Add explicit casts.
10818 (grub_get_unaligned32): Likewise.
10819 (grub_get_unaligned64): Likewise.
10820 (grub_set_unaligned16): New function.
10821 (grub_set_unaligned32): Likewise.
10822
47ae27ec
VS
108232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10826
78c2cd1c
VS
108272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10830 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10831 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10832
53072f9b
VS
108332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10836 conditionals.
10837
055dc239
VS
108382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10841 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10842
496bd074
VS
108432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 Unify and improve RAID and crypto xor.
10846
10847 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10848 changed to grub_crypto_xor
10849 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10850 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10851 Use bigger types when possible.
10852
ef6e4335
VS
108532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * grub-core/disk/raid.c (scan_devices): Fix condition.
10856
5d048bf2
VS
108572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10860 Make name a const ptr.
10861
ee533335
VS
108622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10865 first argument a const pointer.
10866 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10868 proto.
10869 (grub_children_iterate): Likewise.
10870 (grub_machine_mmap_iterate): Remove redundant declaration.
10871
cc8f3668
VS
108722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10875 (grub_cmd_acpi) [!x86]: Disable EBDA.
10876
c5fc563a
VS
108772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 Enable UTF8 in gnulib regexp.
10880
10881 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10882 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10883 (isupper): Use grub_isupper.
10884 (isascii): New inline function.
10885 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10886 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10887 * grub-core/normal/charset.c (grub_utf8_process): New function.
10888 (grub_utf8_to_utf16): Use grub_utf8_process.
10889 (grub_encode_utf8_character): New function.
10890 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10891 * include/grub/charset.h (grub_utf8_process): New declaration.
10892 (grub_encode_utf8_character): Likewise.
10893 * include/grub/misc.h (grub_islower): New inline function.
10894 (grub_isupper): Likewise.
10895 (grub_strchrsub): Moved down to fix the definitions.
10896
0af2346f
VS
108972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10900 specification.
10901
74dbd244
VS
109022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 * include/grub/loader.h (grub_loader_register_preboot_hook):
10905 Use struct preboot * and not void * for handle. All users updated.
10906 (grub_loader_unregister_preboot_hook): Likewise.
10907
1bc8f60d
VS
109082011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10911 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10912 UTF-16-BE. All users updated.
10913 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10914 (grub_hfsplus_iterate_dir): Likewise.
10915 (grub_hfsplus_label): Likewise.
10916
48d6e456
VS
109172011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10920
bf3a3857
VS
109212011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 Add missing const qualifiers.
10924
10925 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10926 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10927 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10928 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10929 (grub_lvm_check_flag): Likewise.
10930 * grub-core/efiemu/i386/coredetect.c
10931 (grub_efiemu_get_default_core_name): Likewise
10932 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10933 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10934 * grub-core/fs/ntfs.c (fixup): Likewise.
10935 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10936 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10937 (fzap_lookup): Likewise.
10938 (zap_lookup): Likewise.
10939 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10940 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10941 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10942 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10943 (grub_freebsd_add_meta_module): Likewise.
10944 (grub_cmd_freebsd_module): Likewise.
10945 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10946 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10947 (grub_xnu_writetree_get_size): Likewise.
10948 (grub_xnu_writetree_toheap_real): Likewise.
10949 (grub_xnu_find_key): Likewise.
10950 (grub_xnu_create_key): Likewise.
10951 (grub_xnu_create_value): Likewise.
10952 (grub_xnu_register_memory): Likewise.
10953 (grub_xnu_check_os_bundle_required): Likewise.
10954 (grub_xnu_scan_dir_for_kexts): Likewise.
10955 (grub_xnu_load_kext_from_dir): Likewise.
10956 * grub-core/normal/color.c (color_list): Likewise.
10957 * grub-core/normal/completion.c (current_word): Likewise.
10958 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10959 * grub-core/term/serial.c (grub_serial_find): Likewise.
10960 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10961 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10962 Likewise.
10963 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10964 (grub_freebsd_add_meta_module): Likewise.
10965 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10966 * include/grub/net.h (grub_net_card_driver): Likewise.
10967 (grub_net_card): Likewise.
10968 (grub_net_app_protocol): Likewise.
10969 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10970 * include/grub/serial.h (grub_serial_find): Likewise.
10971 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10972 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10973 (grub_xnu_create_value): Likewise.
10974 (grub_xnu_find_key): Likewise.
10975 (grub_xnu_scan_dir_for_kexts): Likewise.
10976 (grub_xnu_load_kext_from_dir): Likewise.
10977
10978 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10979 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10980 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10981 Moved from here ...
10982 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10983
112b4837
CW
109842011-11-28 Colin Watson <cjwatson@ubuntu.com>
10985
10986 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10987
49e891ac
VS
109882011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10991 (read_device): Fix size calculation.
10992
fd258e5c
RM
109932011-11-25 Robert Millan <rmh@gnu.org>
10994
10995 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10996 (find_root_device_from_libzfs): Add zpool output parser to be used
10997 as fallback when libzfs isn't available.
10998
78845dc2
SG
109992011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11000
11001 * po/Makefile.in.in: Add missing escape-continuation.
11002
adac5211
VS
110032011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11006
10b64f1c
VS
110072011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11010
bb416954
VS
110112011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11014
bdfe9eeb
VS
110152011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11018
581ffa8a
VS
110192011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * grub-core/lib/adler32.c: Add missing license specification.
11022 * grub-core/lib/crc64.c: Likewise.
11023 * grub-core/loader/i386/pc/plan9.c: Likewise.
11024 * grub-core/partmap/plan.c: Likewise.
11025
2536cf64
LK
110262011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11027
11028 Add facility to debug GRUB with gdb under qemu.
11029
11030 * grub-core/gdb_grub.in: New file.
11031 * grub-core/gmodule.pl.in: Likewise.
11032 * grub-core/Makefile.core.def (gmodule.pl): New script.
11033 (gdb_grub): Likewise.
11034
bc108a4a
VS
110352011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * util/grub-mount.c (argp_parser): Accept relative pathes.
11038 * util/grub-fstest.c (argp_parser): Likewise.
11039
111c1778
VS
110402011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Plan9 support.
11043
11044 * Makefile.util.def (libgrubmods): Add
11045 grub-core/partmap/plan.c.
11046 * docs/grub.texi: Notice Plan9 support.
11047 * grub-core/Makefile.core.def (plan9): New module.
11048 (part_plan): Likewise.
11049 * grub-core/loader/i386/pc/plan9.c: New file.
11050 * grub-core/partmap/plan.c: Likewise.
11051 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11052 define.
11053 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11054 * include/grub/mm.h (grub_extend_alloc): New inline function.
11055
c30be3b6
VS
110562011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 Make Reed-Solomon faster by using power of generator representation of
11059 GF(256)*.
11060
11061 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11062 (gf_double_t): Likewise.
11063 (gf_invert): Removed.
11064 (gf_powx): New array.
11065 (gf_powx_inv): Likewise.
11066 (scratch): Move higher.
11067 (gf_reduce): Removed.
11068 (gf_mul): Use powx.
11069 (gf_invert): Likewise.
11070 (init_inverts): Replaced with ...
11071 (init_powx): ...this. All users updated.
11072 (pol_evaluate): Replace multiplications with additions.
11073 (rs_encode): Likewise.
11074 (gauss_eliminate): Call gf_invert.
11075 (grub_reed_solomon_add_redundancy): Call init_powx.
11076 (grub_reed_solomon_recover): Call init_powx unconditionally.
11077
fa5aeffc
VS
110782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11081
a346b81c
VS
110822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11085 disk->partiton for safety.
11086
d89ee414
VS
110872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11090 Fix a memory leak.
11091 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11092
91ee7b6d
VS
110932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11096
91e5a33d
VS
110972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11100
9edd7be2
VS
111012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 Fix spaces handling in proc/self/mountinfo.
11104
11105 * util/getroot.c (unescape): New function.
11106 (grub_find_root_device_from_mountinfo): Use unescape.
11107
ba102053
VS
111082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 Support ZFS embedding.
11111
11112 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11113 (grub_zfs_fs): Register grub_zfs_embed.
11114
aa94b870
VS
111152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 Fix MIPS compilation.
11118
11119 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11120 * include/grub/offsets.h: Rename decompressor fields from
11121 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11122 * util/grub-mkimage.c (image_targets): Use new names.
11123
5fbdac14
VS
111242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 Defer multiboot device parsing until we're in compressed part.
11127
11128 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11129 bsd_part. setdevice has fallen into disuse.
11130 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11131 (bsd_part): Likewise.
11132 (boot_dev): New variable.
11133 (multiboot_trampoline): Don't parse multiboot device.
11134 Pass multiboot device in %edx.
11135 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11136 grub_boot_device.
11137 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11138 Likewise.
11139 * grub-core/kern/i386/pc/startup.S: Save edx.
11140 (grub_boot_drive): Removed.
11141 (grub_install_dos_part): Likewise.
11142 (grub_install_bsd_part): Likewise.
11143 (grub_boot_device): New variable.
11144 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11145 (grub_install_bsd_part): Likewise.
11146 (grub_boot_drive): Likewise.
11147 (grub_boot_device): New variable.
11148 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11149 Removed.
11150 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11151 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11152 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11153 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11154 * util/grub-install.in: Remove redundant condition.
11155
691cbb58
VS
111562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 Fix bug introduced by previous commit.
11159
11160 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11161
60240b8b
VS
111622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 Use decompressors framework on i386-pc. It increases core size
11165 by 46 bytes but improves compatibility and maintainability.
11166
11167 * grub-core/Makefile.core.def (lzma_decompress): New image.
11168 (kernel): Add i386_pc_ldflags.
11169 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11170 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11171 to real_to_prot, prot_to_real and device info.
11172 * include/grub/offsets.h: Renamed decompressor offsets.
11173 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11174 (image_target_desc): Remove raw_size and rename decompressor fields.
11175 (compress_kernel): Handle lzma.
11176 (generate_image): Handle decompressors on i386-pc.
11177
e9d3421c
VS
111782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * configure.ac: Add -fno-asynchronous-unwind-tables.
11181
2b23074a
VS
111822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 Move assembly code to C by using intwrap. It increases core size
11185 by 88 bytes but improves compatibility and maintainability.
11186
11187 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11188 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11189 ... here. Translated to C.
11190 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11191 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11192 ... here. Translated to C.
11193 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11194 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11195 ... here. Translated to C.
11196 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11197 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11198 ... here. Translated to C.
11199 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11200 * grub-core/term/i386/pc/console.c (grub_console_cls):
11201 ... here. Translated to C.
11202 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11203 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11204 ... here. Translated to C.
11205 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11206 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11207 Translated to C.
11208 * grub-core/term/i386/pc/console.c (int10_9): New function.
11209 (grub_console_putchar): Likewise.
11210 * include/grub/i386/pc/console.h: Removed the not anymore shared
11211 functions.
11212
678f4b67
VS
112132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 Move grub_chainloader_real_boot out of the kernel.
11216
11217 * grub-core/Makefile.am: Remove machine/loader.h.
11218 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11219 Removed.
11220 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11221 variable.
11222 (grub_relocator16_keep_a20_enabled): Likewise.
11223 (grub_relocator16_boot): Fill new variables.
11224 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11225 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11226 relocator.
11227 (grub_chainloader_unload): Likewise.
11228 (grub_chainloader_cmd): Likewise.
11229 * include/grub/i386/pc/loader.h: Removed.
11230 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11231 and esi. All initialisers updated.
11232
4626edf6
VS
112332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
112342011-11-12 Colin Watson <cjwatson@ubuntu.com>
11235
11236 * Makefile.util.def (grub-mount): New util.
11237 * .bzrignore: Add grub-mount.
11238 * configure.ac: Check for fuse and enable grub-mount if available.
11239 * docs/man/grub-mount.h2m: New file.
11240 * util/grub-mount.c: Likewise.
11241
10f0117b
VS
112422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 * grub-core/commands/efi/fixvideo.c: Gettextize.
11245 * grub-core/commands/hashsum.c: Likewise.
11246 * grub-core/commands/i386/cmostest.c: Likewise.
11247 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11248 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11249 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11250 * grub-core/commands/lsmmap.c: Likewise.
11251 * grub-core/commands/menuentry.c: Likewise.
11252 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11253 * grub-core/commands/setpci.c: Likewise.
11254 * grub-core/loader/i386/bsd.c: Likewise.
11255 * grub-core/loader/i386/linux.c: Likewise.
11256 * util/getroot.c: Likewise.
11257 * util/grub-editenv.c: Likewise.
11258 * util/grub-fstest.c: Likewise.
11259 * util/grub-mkfont.c: Likewise.
11260 * util/grub-mkimage.c: Likewise.
11261 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11262 * util/grub-pe2elf.c: Likewise.
11263 * util/grub-probe.c: Likewise.
11264 * util/grub-setup.c: Likewise.
11265 * util/ieee1275/ofpath.c: Likewise.
11266 * util/misc.c: Likewise.
11267 * util/raid.c: Likewise.
11268
566f779b
RM
112692011-11-11 Robert Millan <rmh@gnu.org>
11270
11271 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11272 __attribute__((unused)) from `os_dev', which *is* being used.
11273
b50787de
VS
112742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11277 forgotten define.
11278 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11279 GRUB_IA64_DL_GOT_ALIGN.
11280 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11281 GRUB_IA64_DL_TRAMP_ALIGN.
11282
119d11c8
VS
112832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 Replace grub_fatal with normal errors in i386 linux loader.
11286
11287 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11288 (allocate_pages): Check find_efi_mmap_size return value.
11289 (grub_e820_add_region): Return error.
11290 (grub_linux_boot): Check mmap return value.
11291
6e0632e2
VS
112922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * grub-core/commands/acpihalt.c: Gettextized.
11295 * grub-core/commands/cacheinfo.c: Likewise.
11296 * grub-core/commands/cmp.c: Likewise.
11297 * grub-core/commands/efi/loadbios.c: Likewise.
11298 * grub-core/commands/gptsync.c: Likewise.
11299 * grub-core/commands/ieee1275/suspend.c: Likewise.
11300 * grub-core/commands/legacycfg.c: Likewise.
11301 * grub-core/commands/memrw.c: Likewise.
11302 * grub-core/commands/minicmd.c: Likewise.
11303 * grub-core/commands/parttool.c: Likewise.
11304 * grub-core/commands/time.c: Likewise.
11305 * grub-core/commands/videoinfo.c: Likewise.
11306 * grub-core/disk/geli.c: Likewise.
11307 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11308 * grub-core/disk/luks.c: Likewise.
11309 * grub-core/disk/lvm.c: Likewise.
11310 * grub-core/font/font_cmd.c: Likewise.
11311 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11312 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11313 * grub-core/gfxmenu/view.c: Likewise.
11314 * grub-core/kern/emu/hostdisk.c: Likewise.
11315 * grub-core/kern/emu/main.c: Likewise.
11316 * grub-core/kern/emu/misc.c: Likewise.
11317 * grub-core/kern/emu/mm.c: Likewise.
11318 * grub-core/kern/mips/arc/init.c: Likewise.
11319 * grub-core/kern/mips/loongson/init.c: Likewise.
11320 * grub-core/kern/partition.c: Likewise.
11321 * grub-core/lib/i386/halt.c: Likewise.
11322 * grub-core/lib/mips/arc/reboot.c: Likewise.
11323 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11324 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11325 * grub-core/loader/i386/xnu.c: Likewise.
11326 * grub-core/loader/multiboot.c: Likewise.
11327 * grub-core/net/bootp.c: Likewise.
11328 * grub-core/net/net.c: Likewise.
11329 * grub-core/normal/term.c: Likewise.
11330 * grub-core/partmap/bsdlabel.c: Likewise.
11331 * grub-core/parttool/msdospart.c: Likewise.
11332 * grub-core/term/gfxterm.c: Likewise.
11333 * grub-core/term/terminfo.c: Likewise.
11334 * grub-core/video/i386/pc/vbe.c: Likewise.
11335 * util/grub-menulst2cfg.c: Likewise.
11336 * util/grub-mkdevicemap.c: Likewise.
11337 * util/grub-mklayout.c: Likewise.
11338 * util/grub-mkrelpath.c: Likewise.
11339 * util/grub-script-check.c: Likewise.
11340 * util/ieee1275/grub-ofpathname.c: Likewise.
11341 * util/resolve.c: Likewise.
11342
073aa7a9
VS
113432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 Support %1$d syntax.
11346
11347 * tests/printf_unit_test.c: New file.
11348 * Makefile.util.def (printf_test): New test.
11349 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11350
c76b5417
VS
113512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11354 fix.
11355
df067ad1
VS
113562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11359 dprintf.
11360 * grub-core/font/font.c (grub_font_load): Likewise.
11361
5b289bc5
VS
113622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * util/grub-macho2img.c: Add comment concerning gettext.
11365 * grub-core/lib/legacy_parse.c: Likewise.
11366
c1860f87
VS
113672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11370 (grub_xvasprintf): Likewise.
11371
d35d0d37
VS
113722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 Add const keyword to grub_env_get and gettextize week days.
11375
11376 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11377 (grub_read_hook_datetime): Return const char *.
11378 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11379 updated.
11380 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11381 Mark for gettext.
11382 (grub_get_weekday_name): Return const char *. Call gettext.
11383 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11384 char * and len as the argument. All users updated.
11385 (grub_script_argv_split_append): Receive const char *.
11386 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11387 * include/grub/env.h (grub_env_get): Likewise.
11388 (grub_env_read_hook_t): Return const char *.
11389 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11390 (grub_script_argv_split_append): Likewise.
11391
9aed8a71
VS
113922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11395
067fdf00
VS
113962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11399 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11400
a8bd9d39
VS
114012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11404 Fix prototype.
11405
f7ce5baf
VS
114062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 Fix mips compilation.
11409
11410 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11411 normal decoder.
11412 (hashes): Use in embed decoder as well (for sizes).
11413 (dec_stream_header): Fix embed decompressor logic.
11414 (dec_stream_footer): Likewise.
11415
9bb182f3
VS
114162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11419 an error and not a fatal on unrecognised relocation types.
11420
63a9e6f6
VS
114212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11424 Issue error rather than printf on unknown arguments.
11425
4c458569
VS
114262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11429 Make buf a const.
11430
e2d22baf
VS
114312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11434 Fix module name.
11435
53dc8590
VS
114362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11439 leftover debug printf.
11440
6c189294
VS
114412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11444
f7688369
VS
114452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11448 A stylistic fix.
11449
11a775a3
VS
114502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11453
33f784e8
SL
114542011-11-10 Shea Levy <slevy@tieronedesign.com>
11455
11456 Allow all modules to perform serial IO
11457
11458 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11459 * include/grub/serial.h (grub_serial_port_configure): New inline
11460 function.
11461 (grub_serial_port_fetch): Likewise.
11462 (grub_serial_port_put): Likewise.
11463 (grub_serial_port_fini): Likewise.
11464 (grub_serial_find): New proto.
11465
f6276525
VS
114662011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 Put symlink at the end of the node and fix a potential
11469 memory corruption.
11470
11471 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11472 Make symlink into an array.
11473 (set_rockridge): Set have_symlink and alloc_dirents.
11474 (grub_iso9660_read_symlink): Use new layout.
11475 (grub_iso9660_iterate_dir): Fix memory corruption.
11476 Use new layout.
11477 (grub_iso9660_dir): Set have_symlink.
11478 (grub_iso9660_open): Likewise.
11479
c3591189
VS
114802011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 Remove local keyword.
11483
11484 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11485 (version_test_gt): Likewise.
11486 (version_find_latest): Likewise.
11487 (gettext_printf): Likewise.
11488 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11489
cb544caa
VS
114902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11493
45bd824d
VS
114942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 Fix ZFS memory and resource leaks.
11497
11498 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11499 All users updated.
11500 Free type on exit.
11501 (fill_vdev_info): New parameter inserted. All users updated.
11502 (check_pool_label): Likewise.
11503 (scan_disk): Likewise.
11504 (scan_devices): Close non-inserted disks.
11505 (fzap_iterate): Free l.
11506 (unmount_device): Free children descripto memory.
11507
ad9a2f44
VS
115082011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11511 argument (access out of bounds).
11512
6b68db81
VS
115132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11516 >= 6 drives.
11517
28840fda
VS
115182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11521 Fix declaration.
11522
8a5a3a5b
VS
115232011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 Fix several memory leaks.
11526
11527 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11528 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11529 (grub_cpio_dir): Likewise.
11530 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11531 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11532 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11533 (grub_romfs_label): Likewise.
11534 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11535 (squash_unmount): New function.
11536 (grub_squash_dir): Fix memory leak.
11537 (grub_squash_open): Likewise.
11538 (grub_squash_read): Likewise.
11539 (grub_squash_mtime): Likewise.
11540 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11541 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11542 * util/grub-fstest.c (fstest): Likewise.
11543
57b01250
VS
115442011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11547 avoid accessing beyond the array.
11548
19e81ba7
VS
115492011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11552
52b656c0
VS
115532011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 Several AFFS fixes.
11556
11557 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11558 (GRUB_AFFS_FLAG_FFS): Removed.
11559 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11560 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11561 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11562 (grub_fshelp_node): Make block 32-bit.
11563 Add block_cache and last_block_cache.
11564 (grub_affs_read_block): Fill and use block cache.
11565 (grub_affs_read_file): Removed.
11566 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11567 boot block.
11568 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11569 safety.
11570 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11571 space.
11572 (grub_affs_close): Free block cache.
11573 (grub_affs_read): Use grub_fshelp_read_file directly.
11574
438a746a
VS
115752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11578 with no error set.
11579
49a45021
VS
115802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11583 used variable.
11584 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11585 Likewise.
11586
3ae17eb8
VS
115872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11590
11591 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11592 byteswap when needed.
11593
27610c38
VS
115942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 Fix FreeBSD compilation.
11597
11598 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11599 to avoid circular dependency.
11600 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11601 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11602 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11603
4a19b601
VS
116042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 Fix ZFS crypto error types.
11607
11608 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11609 (grub_gcm_decrypt): Likewise.
11610 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11611 from PBKDF2.
11612
958ee221
VS
116132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 Illumos support.
11616
11617 * Makefile.util.def (10_illumos): New script.
11618 * configure.ac: Set COND_HOST_ILLUMOS.
11619 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11620 Support Illumos calls.
11621 (find_partition_start) [__sun__]: Likewise.
11622 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11623 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11624 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11625 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11626 device.
11627 * util/grub-probe.c (probe) [__sun__]: Do character check.
11628 * util/grub.d/10_illumos.in: New file.
11629
cac14fb6
VS
116302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 Support escaped commas in hostdisk.
11633
11634 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11635 (find_grub_drive): Use unescape_cmp.
11636 (make_device_name): Escape commas.
11637
78e08dc3
VS
116382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11641
9f421dd1
VS
116422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11645 variable.
11646
ed64e9e2
VS
116472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 Support trampoline jumps on powerpc.
11650
11651 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11652 __ia64__ path.
11653 (grub_dl_load_segments): Set mod->sz.
11654 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11655 segments.
11656 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11657 (jump): Likewise.
11658 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11659 function.
11660 (trampoline): New struct.
11661 (trampoline_template): New const.
11662 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11663 * include/grub/dl.h (grub_dl): Add sz element.
11664 [__powerpc__]: Follow __ia64__.
11665 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11666 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11667 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11668 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11669
3084ede4
VS
116702011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 ZFS crypto support.
11673
11674 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11675 * grub-core/Makefile.core.def (zfscrypt): New module.
11676 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11677 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11678 it. All users updated.
11679 (grub_zfs_decrypt): New var.
11680 (grub_zfs_load_key): Likewise.
11681 (zio_checksum_functions): Add SHA256+MAC.
11682 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11683 (zio_read): Handle encrypted blocks.
11684 (zap_verify): Remove incorrect check.
11685 (fzap_iterate): Handle non-standard fzap.
11686 (zap_iterate): Likewise.
11687 (zap_iterate_u64): New function.
11688 (dnode_get_fullpath): Load keys.
11689 * grub-core/fs/zfs/zfscrypt.c: New file.
11690 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11691 (grub_crypto_ecb_encrypt): Make input const.
11692 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11693 (grub_crypto_ecb_encrypt): Make input const.
11694 (GRUB_CIPHER_AES): New macro.
11695 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11696 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11697 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11698 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11699 prefix. All users updated.
11700 (grub_zfs_add_key): New proto.
11701 (grub_zfs_decrypt): Likewise.
11702 (grub_zfs_load_key): Likewise.
11703 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11704 * util/grub-fstest.c (options): Add -K option.
11705 (argp_parser): Likewise.
11706
b632b404
VS
117072011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 Support zle compression on ZFS.
11710
11711 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11712 (decomp_table): Add zle.
11713 * include/grub/zfs/zio.h (zio_compress): Add zle.
11714
c7ba4f69
VS
117152011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 Support BtrFS embedding.
11718
11719 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11720 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11721 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11722 * util/grub-setup.c (setup): Use fs embedding if available.
11723 Add additional sanity check.
11724
455377d9
VS
117252011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * util/grub-install.in: Fix condition for config_opt.
11728
c2fd16ca
VS
117292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 Support third redundancy strip on raidz3.
11732
11733 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11734 Return error on singularity. All users updated.
11735 (read_device): Don't stop on 3rd failure on raidz3.
11736
8622923b
VS
117372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 Support case-insensitive ZFS subvolumes.
11740
11741 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11742 All users updated.
11743 (zap_hash): Likewise.
11744 (name_cmp): New function.
11745 (zap_leaf_array_equal): New parameter case_insensitive.
11746 All users updated.
11747 (zap_leaf_lookup): Likewise.
11748 (fzap_lookup): Likewise.
11749 (zap_lookup): Likewise.
11750 (dnode_get_path): New parameter case_insensitive. Retrieve case
11751 sensitiviness of a volume. All users updated.
11752 (dnode_get_fullpath): New parameter case_insensitive.
11753 All users updated.
11754 (grub_zfs_dir): Set info.case_insensitiveness.
11755
95f2e860
VS
117562011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 Support second redundancy strip on raidz(2,3).
11759
11760 * grub-core/fs/zfs/zfs.c (powx): New array.
11761 (powx_inv): Likewise.
11762 (poly): New const.
11763 (xor_out): New function.
11764 (gf_mul): Likewise.
11765 (recovery): Likewise.
11766 (read_device): Use second redundancy strip.
11767
11ee4389
VS
117682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 Use a power of generator representation of GF(256) multiplication group
11771 to save space time and complexity.
11772
11773 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11774 (raid6_table2): Likewise.
11775 (powx): New array.
11776 (powx_inv): Likewise.
11777 (poly): New const.
11778 (grub_raid_block_mul): Replace with ...
11779 (grub_raid_block_mulx): ...this.
11780 (grub_raid6_init_table): Rewritten.
11781 (grub_raid6_recover): Use power of generator representation.
11782
09e2763f
VS
117832011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11786 for the right device.
11787
8bec9a28
VS
117882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11791 expected by grub-mkimage and it's more clear since there is no implicit
11792 padding.
11793
dbd3a32e
VS
117942011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11797 disk.
11798 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11799
182c872a
PMH
118002011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11801
11802 * util/grub-mkrescue.in: Fix handling xorriso option.
11803
1e51cabd
VS
118042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11807 NULL.
11808
9cc3581d 118092011-11-03 crocket <crockabiscuit@gmail.com>
11810
11811 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11812
158dc1ea
VS
118132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 XZ CRC64 and SHA256 support.
11816
11817 * Makefile.util.def (libgrubmods): Add crc64.c.
11818 * grub-core/Makefile.core.def (crc64): New module.
11819 * grub-core/lib/crc64.c: New file.
11820 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11821 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11822 Fix the type.
11823 (MAX_HASH_SIZE): New define.
11824 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11825 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11826 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11827 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11828 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11829 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11830 Handle non-crc32 hashes.
11831 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11832 (dec_stream_header): Handle non-crc32 hashes.
11833 (dec_stream_footer): Likewise.
11834 (dec_block_header): Likewise.
11835 (dec_main): Likewise.
11836 (xz_dec_init): Likewise.
11837 (xz_dec_reset): Likewise.
11838 (xz_dec_end): Likewise.
11839 * util/import_gcry.py: Add CRC64 line.
11840
9d9b3d2f
VS
118412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11844 as well.
11845
7d0ac931
VS
118462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 Make reiserfs label retrieval similar to other *_label functions.
11849
11850 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11851 (REISERFS_MAX_LABEL_LENGTH): Removed.
11852 (REISERFS_LABEL_OFFSET): Likewise.
11853 (grub_reiserfs_label): Rewritten.
11854
118552011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11858 field.
11859
cf5ba824
VS
118602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11863
17744004
VS
118642011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11867 drive failure on both raidz and raidz2.
11868
aca5aefc
VS
118692011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 Fix RAIDZ(2) for >= 5 devices.
11872
11873 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11874 asize argument. All users updated.
11875
ce8ca56e
VS
118762011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 Fix RAIDZ(2).
11879
11880 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11881 (fill_vdev_info_real): Set ashift.
11882 (read_device): Rewrite RAIDZ part based on reverse engineering.
11883
7c01e783
VS
118842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11887 don't report potentially unavialiable fields in debug output.
11888 (find_path): Fix double-free and memory leak.
11889
ce109e84
VS
118902011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 Read label on UFS1.
11893
11894 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11895 (grub_ufs_fs): Always set .label.
11896
87661123
VS
118972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 Use shifts in UFS.
11900
11901 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11902 (grub_ufs_data): New field log2_blksz.
11903 (grub_ufs_read_file): Use shifts.
11904 (grub_ufs_mount): Check block size and logarithm it.
11905
46bc1dc2
VS
119062011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11909 long symlinks.
11910
19ee2987
VS
119112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 Handle symlinks and long names on tar and cpio.
11914
11915 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11916 (ATTR_FILE): Likewise.
11917 (ATTR_DIR): Likewise.
11918 (ATTR_LNK): Likewise.
11919 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11920 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11921 L and K entries.
11922 (grub_cpio_mount): Zero-fill data.
11923 (handle_symlink): New function.
46bc1dc2
VS
11924 (grub_cpio_dir): Handle symlinks.
11925 (grub_cpio_open): Likewise.
11926 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11927
c83a08d8
VS
119282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 Fix iso9660 filename limitations and fix memory leaks.
11931
11932 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11933 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11934
45cdd3ea
VS
119352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 Fix JFS file name length limitations.
11938
11939 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11940 (grub_jfs_diropen): Fix maximum filename length.
11941 (grub_jfs_getent): Fix filename length.
11942 (grub_jfs_lookup_symlink): Fix size checks.
11943
94ef05c2
VS
119442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11947 string.
11948
785ab8c7
VS
119492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11950
eb0b6b45
VS
11951 Leverage BFS implementation to read AFS.
11952
11953 * Makefile.util.def (libgrubmods): Add afs.c.
11954 * grub-core/Makefile.core.def (afs): New module
11955 * grub-core/fs/afs.c: New file.
11956 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11957
119582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11961
c4a1628f
VS
119622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 * grub-core/fs/bfs.c: Run indent.
11965
5825b379
VS
119662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 BFS implementation based on the specification.
11969
11970 * grub-core/fs/bfs.c: New file.
11971 * Makefile.util.def (libgrubmods): Add bfs.c.
11972 * grub-core/Makefile.core.def (bfs): New module.
11973
42b2a706
VS
119742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * util/grub-fstest.c (cmd_cp): Clarify error message.
11977 (cmd_cmp): Likewise.
11978
61b99bfc
YB
119792011-10-30 Yves Blusseau <blusseau@zetam.org>
11980
11981 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11982 and befs_be.
11983
faba3d16
VS
119842011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 Remove afs and befs because of copyright problem.
11987
11988 * grub-core/fs/afs.c: Removed.
11989 * grub-core/fs/afs_be.c: Removed.
11990 * grub-core/fs/befs.c: Removed.
11991 * grub-core/fs/befs_be.c: Removed.
11992 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11993 * grub-core/Makefile.core.def (afs): Removed.
11994 (afs_be): Likewise.
11995 (befs): Likewise.
11996 (befs_be): Likewise.
11997
c39224b0
VS
119982011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 Prefer rockridge over Joliet.
12001
12002 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12003 to ...
12004 (set_rockridge): ... here.
12005 (grub_iso9660_mount): Check rockridge on the primary label when
12006 discovering. Ignore Joliet if Rockridge is present.
12007
e551115a
VS
120082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 Use shifts in nilfs2.
12011
12012 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12013 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12014 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12015 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12016 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12017 (grub_nilfs2_entries_per_block): Replaced with ...
12018 (grub_nilfs2_log_entries_per_block_log): ... this.
12019 (grub_nilfs2_blocks_per_group): Replaced with ...
12020 (grub_nilfs2_blocks_per_group_log): ... this.
12021 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12022 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12023 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12024 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12025 (grub_nilfs2_palloc_entry_offset): Replaced ...
12026 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12027 (grub_nilfs2_dat_translate): Use shifts.
12028 (grub_nilfs2_read_inode): Likewise.
12029 (GRUB_MOD_INIT): Ensure that logs are correct.
12030
564dd58c
VS
120312011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 Use shifts in minix filesystem.
12034
12035 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12036 (GRUB_MINIX_ZONE2SECT): Likewise.
12037 (grub_minix_data): Replace block_size with log_block_size.
12038 (grub_minix_read_file): Use shifts.
12039 (grub_minix_mount): Check block size and take a logarithm.
12040
ed9ba06d
VS
120412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 Use shifts in squash4.
12044
12045 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12046 (squash_mount): Check block size and take logarithm.
12047 (direct_read): Use shifts.
12048
ad03fe76
VS
120492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 Correct befs block counting logic.
12052
12053 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12054 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12055 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12056 (grub_afs_read_inode): Use block_shift.
12057 (RANGE_SHIFT): New definition.
12058 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12059 unexpected conditions, use shifts and appropriate types.
12060 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12061
6563f63d
VS
120622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * grub-core/disk/raid.c (scan_devices): Check partition.
12065 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12066
5b1ae25f
VS
120672011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12068
12069 Support BFS (befs) UUID.
12070
12071 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12072 (grub_afs_small_data_element_header): New struct.
12073 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12074 (grub_afs_read_attribute) [MODE_BFS]: New function.
12075 (grub_afs_iterate_dir): Allocate for complete inode.
12076 (grub_afs_mount): Likewise.
12077 (grub_afs_uuid) [MODE_BFS]: New function.
12078 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12079
f8d82408
VS
120802011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12083 (zfs_unmount): Fix memory leak.
12084
5773fb64
VS
120852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 Support NTFS reparse points.
12088
12089 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12090 (symlink_descriptor): New struct.
12091 (grub_ntfs_read_symlink): New function.
12092 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12093 (grub_ntfs_open): Likewise.
12094
91c3fdde
VS
120952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12098
3be82e10
VS
120992011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 fstest xnu_uuid subcommand.
12102
12103 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12104 grub-core/commands/xnu_uuid.c.
12105 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12106 (fstest): Handle xnu_uuid.
12107 (options): Document xnu_uuid.
12108 (argp_parser): Parse xnu_uuid.
12109
8e32442e
VS
121102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12113 -l argument. Add newline at the end if printing.
12114 (GRUB_MOD_INIT): Document -l.
12115
52a05075
VS
121162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12119
1869edb5
VS
121202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 ZFS multi-device and version 33 support.
12123
12124 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12125 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12126 (grub_zfs_data): Add multidev-ice-related fields.
12127 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12128 (dva_get_offset): Make dva const.
12129 (zfs_fetch_nvlist): New function.
12130 (fill_vdev_info_real): Likewise.
12131 (fill_vdev_info): Likewise.
12132 (check_pool_label): Likewise.
12133 (scan_disk): Likewise.
12134 (scan_devices): Likewise.
12135 (read_device): Likewise.
12136 (read_dva): Likewise.
12137 (zio_read_gang): Use read_dva.
12138 (zio_read_data): Likewise.
12139 (zap_leaf_lookup): Add missing endian conversion.
12140 (zap_verify): Add missing endian conversion. All users updated.
12141 (fzap_lookup): Likewise.
12142 (fzap_iterate): Likewise.
12143 (dnode_get_path): Handle SA bonus.
12144 (nvlist_find_value): Make input const. All users updated.
12145 (unmount_device): New function.
12146 (zfs_unmount): Use unmount_device.
12147 (zfs_mount): Use scan_disk.
12148 (zfs_mtime): New function.
12149 (grub_zfs_open): Handle system attributes.
12150 (fill_fs_info): Likewise.
12151 (grub_zfs_dir): Likewise.
12152 (grub_zfs_fs): Add mtime.
12153 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12154 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12155 (SA_MTIME_OFFSET): Likewise.
12156 (SA_SYMLINK_OFFSET): Likewise.
12157 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12158 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12159 (fstest): Support zfsinfo.
12160 (argp_parser): Likewise.
12161
186b4028
VS
121622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12165 error.
12166
121672011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12168
12169 ZFS fixes.
12170
12171 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12172 sharing the same block. Iterate over correct number of indices.
12173 (dnode_get_path): Handle symlinks correctly.
12174
c0584900
VS
121752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12178
67e2bd71
VS
121792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 Read label on HFS+.
12182
12183 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12184 (grub_hfsplus_btree_search): Fix types.
12185 (grub_hfsplus_label): Implement.
12186
e9cc6b7b
VS
121872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12190
19832ddb
VS
121912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12194
66b40850
VS
121952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 Fix symlink handling on iso9660.
12198
12199 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12200 All users updated.
12201 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12202 (grub_iso9660_read_symlink): Moved most of code ...
12203 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12204
db821363
VS
122052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12208 Use union to avoid breaking strict-aliasing rules.
12209
e1211949
VS
122102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 Support multi-extent iso files.
12213
12214 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12215 Add node.
12216 (grub_fshelp_node): Revamp. All users updated.
12217 (FLAG_*): New enum.
12218 (read_node): New function.
12219 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12220 All users updated.
12221 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12222 (get_node_size): New function.
12223 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12224 entries.
12225 Fix memory leak on . and ..
12226 (grub_iso9660_read): Use read_node.
12227 (grub_iso9660_close): Free node.
12228
d4888031
VS
122292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 Fix tar 4G limit and handle paths containing dot.
12232
12233 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12234 (canonicalize): New function.
12235 (grub_cpio_find_file): Use canonicalize. Store offs in
12236 grub_disk_addr_t.
12237 (grub_cpio_dir): Use grub_disk_addr_t.
12238 (grub_cpio_open): Likewise.
12239
9f12e664
VS
122402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12243
12244 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12245 unused flags.
12246 (grub_squash_inode): Add long_file and block_size.
12247 (grub_squash_cache_inode): New struct.
12248 (grub_squash_dirent): Make types into enum.
12249 (SQUASH_TYPE_LONG_REGULAR): New type.
12250 (grub_squash_frag_desc): Add field size.
12251 (SQUASH_BLOCK_FLAGS): New enum.
12252 (grub_squash_data): Use grub_squash_cache_inode.
12253 (grub_fshelp_node): Make ino_chunk 64-bit.
12254 (read_chunk): Minor argument change. All users updated.
12255 (squash_mount): Use correct le_to_cpu.
12256 (grub_squash_open): Handle LONG_REGULAR.
12257 (direct_read): New function.
12258 (grub_squash_read_data): Handle blocks correctly.
12259
9f326fba
VS
122602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12263
f4d9b64b
VS
122642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12267
5bbd28b8
VS
122682011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 Fix 2G limit on ZFS.
12271
12272 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12273 types.
12274 (uberblock_verify): Likewise.
12275 (dmu_read): Likewise.
12276 (grub_zfs_read): Likewise. Remove invalid cast.
12277
68c72069
VS
122782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12281 (grub_jfs_blkno): Fix incorrect shift.
12282 (grub_jfs_read_file): Use more appropriate types.
12283
6e536dc8
VS
122842011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 Support triple indirect on minix2 and minix3.
12287
12288 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12289 Declare triple_indir_zone.
12290 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12291 indirect.
12292
e0864e7a
VS
122932011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 Minix FS fixes.
12296
12297 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12298 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12299 Rename ctime to mtime. All users updated.
12300 (grub_minix_get_file_block): Fix types and double indirect computations.
12301
89481cab
VS
123022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12305 if no label is found.
12306 (grub_fat_iterate_dir): Fix file size type.
12307 (grub_fat_iterate_dir): Likewise.
12308
f646e143
VS
123092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12312 save some space.
12313 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12314 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12315
534d769e
VS
123162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12319
e084ba18
VS
123202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * util/import_gcry.py: Accept space between # and include.
12323
3471ecdf
VS
123242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12327
124df5f6
VS
123282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12331
12332 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12333 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12334 yylex_strncpy.
12335 * grub-core/script/yylex.l: Add fine-grained #pragma.
12336
4defb8d5
VS
123372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12340 New inline function.
12341 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12342 Likewise.
12343 (memset) [GRUB_UTIL]: Likewise.
12344 (memcmp) [GRUB_UTIL]: Likewise.
12345
4e94ae65
VS
123462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12349 inline function rather than a define.
12350
18c575e5
VS
123512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * util/grub-setup.c: Add missing include.
12354
f8bc22a8
VS
123552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * util/ieee1275/grub-ofpathname.c: Add missing include.
12358
3ce69fc9
VS
123592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12362 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12363 Likewise.
12364
d1e293bb
VS
123652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12368 grub_memcmp usage.
12369
7a5c54a4
VS
123702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * util/grub-install.in: Add datarootdir as per automake manual
12373 suggestion.
12374 * util/grub-mknetdir.in: Likewise.
12375
123762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12377
12378 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12379 suggestion.
12380 * util/grub.d/10_kfreebsd.in: Likewise.
12381 * util/grub.d/10_linux.in: Likewise.
12382 * util/grub.d/10_netbsd.in: Likewise.
12383 * util/grub.d/10_windows.in: Likewise.
12384 * util/grub.d/20_linux_xen.in: Likewise.
12385
766f7d08
VS
123862011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 Remove redundant grub_kernel_image_size.
12389
12390 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12391 _edata and _start.
12392 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12393 the small code. It moves it only by few bytes but simplifies the code.
12394 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12395 _start.
12396 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12397 (grub_kernel_image_size): Removed.
12398 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12399 (grub_kernel_image_size): Removed.
12400 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12401 compiled with Apple toolchain.
12402 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12403 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12404 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12405 (grub_total_module_size): Likewise.
12406 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12407 Removed.
12408 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12409 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12410 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12411 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12412 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12413 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12414 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12415 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12416 Removed.
12417 (grub_total_module_size): Removed.
12418 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12419 (image_targets): Likewise.
12420 Set .compressed_size to no field on sparc.
12421 (generate_image): Remove kernel_image_size handling.
12422
fcf1d672
SJ
124232011-10-19 Szymon Janc <szymon@janc.net.pl>
12424
12425 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12426 NULL pointer dereference.
12427
de9c615e
VS
124282011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12431 done with a dedicated section.
12432
12433 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12434 Ensure the correct position of boot_path.
12435 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12436 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12437 other fields.
12438 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12439 * include/grub/boot.h: Removed. All references removed.
12440 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12441 Removed.
12442 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12443
e55599dc
VS
124442011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12447 name.
12448
36dd20ad
VS
124492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12452
f8f72eb8
VS
124532011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12456 Don't add the bogus brackets.
12457
a374751b
VS
124582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 ExFAT support.
12461
12462 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12463 * grub-core/Makefile.core.def (exfat): New module.
12464 * grub-core/fs/exfat.c: New file.
12465 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12466 (GRUB_FAT_ATTR_*): Make into an enum.
12467 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12468 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12469 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12470 (GRUB_FAT_MAXFILE): Removed.
12471 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12472 (grub_current_fat_bpb_t): New type.
12473 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12474 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12475 (grub_fat_dir_node_t): New type.
12476 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12477 (fat_log2) [MODE_EXFAT]: Removed.
12478 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12479 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12480 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12481 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12482 (grub_fat_label) [MODE_EXFAT]: New function.
12483 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12484 reserved_first_sector to 0.
12485
544c2487
VS
124862011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12487
12488 Move grub_reboot out of the kernel.
12489
12490 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12491 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12492 * grub-core/lib/efi/reboot.c: ... here.
12493 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12494 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12495 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12496 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12497 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12498 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12499 * grub-core/lib/ieee1275/reboot.c: ... here.
12500 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12501 * grub-core/lib/mips/arc/reboot.c: ... here.
12502 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12503 * grub-core/lib/mips/loongson/reboot.c: ...here.
12504 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12505 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12506 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12507 * include/grub/i386/reboot.h: New file.
12508 * include/grub/mips/loongson/ec.h: Fix includes.
12509 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12510 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12511 * grub-core/lib/i386/reboot.c: New file.
12512
a97501d2
VS
125132011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 Make grub_prefix into module to fix the arbitrary limit and save
12516 some space.
12517
12518 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12519 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12520 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12521 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12522 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12523 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12524 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12525 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12526 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12527 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12528 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12529 * include/grub/ia64/efi/kernel.h: Removed.
12530 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12531 (grub_prefix): Removed.
12532 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12533 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12534 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12535 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12536 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12537 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12538 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12539 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12540 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12541 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12542 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12543 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12544 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12545 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12546 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12547 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12548 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12549 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12550 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12551 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12552 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12553 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12554 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12555 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12556 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12557 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12558 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12559 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12560 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12561 from module.
12562 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12563 prefix_end.
12564 (image_targets): Likewise.
12565 (generate_image): Put prefix as a module.
12566
39705fad
VS
125672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 Replace grub_module_iterate with FOR_MODULES.
12570
12571 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12572 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12573 (grub_efi_modules_addr): ...this.
12574 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12575 (grub_efi_init): Set grub_modbase.
12576 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12577 (grub_modbase): New variable.
12578 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12579 (grub_modbase): New variable.
12580 (grub_machine_init): Set grub_modbase.
12581 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12582 (grub_modbase): New variable.
12583 (grub_machine_init): Set grub_modbase.
12584 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12585 (grub_modbase): New variable.
12586 (grub_machine_init): Set grub_modbase.
12587 * grub-core/kern/main.c (grub_module_iterate): Remove.
12588 (grub_modules_get_end): Use grub_modbase.
12589 (grub_load_modules): Use FOR_MODULES.
12590 (grub_load_config): Likewise.
12591 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12592 (grub_modbase): New variable.
12593 (grub_machine_init): Set grub_modbase.
12594 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12595 (grub_modbase): New variable.
12596 (grub_machine_init): Set grub_modbase.
12597 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12598 Removed.
12599 (grub_modbase): New variable.
12600 (grub_machine_init): Set grub_modbase.
12601 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12602 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12603 (grub_module_iterate): Likewise.
12604 (grub_modbase): New variable declaration.
12605 (FOR_MODULES): New macro.
12606
2afb7f6c
VS
126072011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12610 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12611
366e34fa
VS
126122011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 Fix few obvious type discrepancies.
12615
12616 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12617 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12618 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12619 variable.
12620 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12621 and connected types.
12622 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12623 offset.
12624 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12625 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12626 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12627 and connected types.
12628
177b960e
VS
126292011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 Fix python 3.x incompatibilities.
12632
12633 * gentpl.py: Put brackets around print strings.
12634 * util/import_gcry.py: Open explicitly as utf-8.
12635 Use in instead of has_key.
12636
3b619ae1
VS
126372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12640 (GRUB_XFS_INO_AGBITS): Make into inline function.
12641 (GRUB_XFS_INO_INOINAG): Likewise.
12642 (GRUB_XFS_INO_AG): Likewise.
12643 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12644 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12645 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12646 (GRUB_XFS_EXTENT_SIZE): Likewise.
12647 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12648 (GRUB_XFS_NEXT_DIRENT): Likewise.
12649 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12650 (grub_xfs_read_file): Fix offset type.
12651
8bcebcb8
RM
126522011-10-15 Robert Millan <rmh@gnu.org>
12653
12654 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12655
0017e5ef
RM
126562011-10-15 Robert Millan <rmh@gnu.org>
12657
12658 Fix build problem on FreeBSD and GNU/kFreeBSD.
12659
12660 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12661
d8919552
VS
126622011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12665
12666 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12667 types.
12668 (grub_hfsplus_btree_recoffset): Likewise.
12669 (grub_hfsplus_btree_recptr): Likewise.
12670 (grub_hfsplus_find_block): Likewise.
12671 (grub_hfsplus_btree_search): Likewise.
12672 (grub_hfsplus_read_block): Likewise.
12673 (grub_hfsplus_read_file): Likewise.
12674 (grub_hfsplus_mount): Likewise.
12675 (grub_hfsplus_btree_iterate_node): Likewise.
12676 (grub_hfsplus_btree_search): Likewise.
12677 (grub_hfsplus_iterate_dir): Likewise.
12678 (grub_hfsplus_read): A small code simplification.
12679
c81296b6
VS
126802011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * grub-core/kern/emu/hostdisk.c
12683 (convert_system_partition_to_system_disk): Don't assume that children
12684 of mapper nodes are mapper nodes.
12685
0eb8ffb1
VS
126862011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12689 * include/grub/misc.h (grub_isxdigit): New function.
12690 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12691 switched to grub_isxdigit.
12692 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12693 number starting with a letter.
12694
a98f4a08
RM
126952011-10-09 Robert Millan <rmh@gnu.org>
12696
12697 LVM support for FreeBSD and GNU/kFreeBSD.
12698
12699 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12700 GNU/kFreeBSD.
12701 (LVM_DEV_MAPPER_STRING): Move from here ...
12702 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12703 * util/getroot.c: Include `<grub/util/lvm.h>'.
12704 (grub_util_get_dev_abstraction): Enable
12705 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12706 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12707 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12708 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12709 support it.
12710 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12711 GNU/kFreeBSD.
12712 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12713 when LVM abstraction is required for ${GRUB_DEVICE}.
12714
050e8e90
SJ
127152011-10-06 Szymon Janc <szymon@janc.net.pl>
12716
12717 Add support for LZO compression in GRUB:
12718 - import of minilzo library,
12719 - LZO decompression for btrfs,
12720 - lzop files decompression.
12721
12722 * grub-core/io/lzopio.c: New file.
12723 * grub-core/lib/adler32.c: Likewise.
12724 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12725 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12726 * grub-core/lib/minilzo/minilzo.c: Likewise.
12727 * grub-core/lib/minilzo/minilzo.h: Likewise.
12728 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12729 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12730 grub-core/lib/minilzo/minilzo.c to common.
12731 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12732 cflags in cppflags.
12733 * grub-core/Makefile.core.def (btrfs): Likewise.
12734 * grub-core/Makefile.core.def (lzopio): New module.
12735 (adler32): Likewise.
12736 * grub-core/fs/btrfs.c: Include minilzo.h.
12737 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12738 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12739 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12740 (grub_btrfs_lzo_decompress): New function.
12741 (grub_btrfs_extent_read): Add support for LZO compression type.
12742 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12743 (GRUB_USHRT_MAX): Likewise.
12744 (GRUB_UINT_MAX): Likewise.
12745 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12746 (UINT_MAX): Likewise.
12747 (CHAR_BIT): Likewise.
12748 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12749 grub-core/lib/posix_wrap/limits.h
12750 (UCHAR_MAX): Likewise.
12751 * include/grub/file.h (grub_file_filter_id): New compression filter
12752 GRUB_FILE_FILTER_LZOPIO.
12753 * include/grub/file.h (grub_file_filter_id): Set
12754 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12755 * include/grub/types.h (grub_get_unaligned16): New function.
12756 (grub_get_unaligned32): Likewise.
12757 (grub_get_unaligned64): Likewise.
12758 * util/import_gcry.py (cryptolist): Add adler32.
12759
0eb8ffb1
VS
127602011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12763 in perspective decreases the complexity of build system and fixes
12764 compilation right now.
12765
ce79cc99 127662011-10-01 Ales Nesrsta <starous@volny.cz>
12767
12768 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12769 (fixed problem related to using UHCI with coreboot).
12770
8667a314
BC
127712011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12772
12773 * gentpl.py: Use Autogen macros so that the output template file
12774 (Makefile.tpl) size is reduced.
12775
fc5efcc0
MK
127762011-09-29 Mads Kiilerich <mads@kiilerich.com>
12777
12778 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12779 extra_dist.
12780
d1ab689d
ML
127812011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12782
12783 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12784 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12785
c05de032
ML
127862011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12787
12788 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12789 _fullpath.
12790
cca7ccd8
ML
127912011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12792
12793 Remove extra declaration of sleep for mingw32.
12794
12795 * util/misc.c (sleep) [__MINGW32__]: Removed.
12796 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12797
e0b0dc83
GS
127982011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12799
12800 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12801 type and packname.
12802 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12803 Resurrected.
12804 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12805 (grub_netbsd_btinfo_bootwedge): New struct.
12806 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12807 New function.
12808 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12809
91a1a164
TH
128102011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12811
12812 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12813 loader.
12814
2ded951e
AB
128152011-09-28 Andreas Born <futur.andy@googlemail.com>
12816
12817 Fix incorrect identifiers in bash-completion.
12818
12819 * util/bash-completion.d/grub-completion.bash.in
12820 (_grub_mkpasswd-pbkdf2): Rename to ...
12821 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12822 (_grub_script-check): Rename to ...
12823 (_grub_script_check): ... this. All users updated.
12824
69915030
VS
128252011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12828 Return 0 if disk isn't biosdisk.
12829
20fd15f9
GS
128302011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12831
12832 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12833 on NetBSD.
12834 * Makefile.util.def (grub-fstest): Likewise.
12835
1a7d7db9
GS
128362011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12837
12838 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12839 Get sector size from disk label.
12840
2221ab6c
CW
128412011-09-05 Colin Watson <cjwatson@ubuntu.com>
12842
12843 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12844 */README* as well as README*.
12845 Reported by: Axel Beckert.
12846
ca51c4a0
VS
128472011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12850 case of less than 256 MiB of RAM.
12851
ab80f326
VS
128522011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/commands/wildcard.c (make_regex): Handle @.
12855
4155e697
VS
128562011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12859
ab178c08
SJ
128602011-08-21 Szymon Janc <szymon@janc.net.pl>
12861
12862 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12863 AC_LANG_CONFTEST macros.
12864
7dc3c686
SJ
128652011-08-20 Szymon Janc <szymon@janc.net.pl>
12866
12867 Add grub-fstest option to uncompress data for commands.
12868
12869 * util/grub-fstest.c (uncompress): New var.
12870 (options): New option -u.
12871
fe8d4a7b
SJ
128722011-08-20 Szymon Janc <szymon@janc.net.pl>
12873
12874 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12875 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12876
a5219af1
SJ
128772011-08-20 Szymon Janc <szymon@janc.net.pl>
12878
12879 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12880 file type was not recognized correctly (not gzip or corrupted).
12881
f87abff5
VS
128822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12885 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12886
d94497ea
VS
128872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12890 loongson.
12891 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12892 video_radeon_fuloong2e.
12893 * grub-core/video/radeon_fuloong2e.c: New file.
12894 * include/grub/video.h (grub_video_id_t): Add new ID
12895 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12896
0d1fd011
VS
128972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12900 define.
12901 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12902 that PRID matches the detected subplatform and reset the subplatform
12903 if it doesn't.
12904
84beb0ee
VS
129052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12908
1227c133
VS
129092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 Fix PCI iterating on functions >= 4.
12912
12913 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12914 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12915 Removed.
12916 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12917 (grub_pci_read): Fix bitmask.
12918 (grub_pci_read_word): Likewise.
12919 (grub_pci_read_byte): Likewise.
12920 (grub_pci_write): Likewise.
12921 (grub_pci_write_word): Likewise.
12922 (grub_pci_write_byte): Likewise.
12923
9594c689
VS
129242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12927 can still be specified in TARGET_CFLAGS)
12928
14a2562c
VS
129292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12932
12933 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12934 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12935 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12936 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12937 (FULOONG): Rename to ...
12938 (FULOONG2F): ... this. All users updated.
12939 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12940 (machtype_fuloong2f_str): ... this.
12941 (machtype_fuloong2e_str): New string.
12942 Check for machtype_fuloong2e_str.
12943 * grub-core/loader/mips/linux.c (loongson_machtypes)
12944 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12945 * grub-core/term/serial.c (loongson_defserial)
12946 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12947 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12948 loongson_defserial.
12949 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12950 Rename to ...
12951 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12952 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12953 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12954 to IMAGE_FULOONG2F_FLASH. All users updated.
12955 (image_targets): Rename images.
12956 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12957
b526cbb6
SJ
129582011-08-19 Szymon Janc <szymon@janc.net.pl>
12959
12960 Make enable of disk cache statistics code configurable.
12961
12962 * configure.ac: --enable-cache-stats added.
12963 * config.h.in (DISK_CACHE_STATS): New define.
12964 * grub-core/Makefile.core.def (cacheinfo): New command.
12965 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12966 * grub-core/commands/cacheinfo.c: New file.
12967 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12968 moved to cacheinfo.c.
12969 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12970 debug code.
12971 * include/grub/disk.h: Likewise.
12972
fb739ccd
SJ
129732011-08-19 Szymon Janc <szymon@janc.net.pl>
12974
12975 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12976 * grub-core/Makefile.am: Likewise.
12977
2bba8cfd
VS
129782011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12981 non-zero pull.
12982
43526629
VS
129832011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12986 All users updated.
12987 (grub_jfs_lookup_symlink): Use correct starting inode.
12988
5c144cc8
VS
129892011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 * util/grub-setup.c (main): Add missing gcry initialisation.
12992
b1257f65
VS
129932011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 Don't accept text modes on EFI when booting Linux.
12996
12997 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12998 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12999
828bc390
ML
130002011-08-15 Mario Limonciello <mario_limonciello@dell.com>
130012011-08-15 Colin Watson <cjwatson@ubuntu.com>
13002
13003 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13004 use of "/path/.." as in grub-install for EFI as well as handling
13005 symlinks correctly.
13006 Fixes Debian bug #637768.
13007
5f60ccac
CW
130082011-08-15 Colin Watson <cjwatson@ubuntu.com>
13009
13010 * util/grub-probe.c: Remove duplicate #include.
13011
6dc212f9
RM
130122011-08-10 Robert Millan <rmh@gnu.org>
13013
13014 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13015
13016 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13017 function.
13018 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13019 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13020
66816d85
RM
130212011-08-03 Robert Millan <rmh@gnu.org>
13022
13023 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13024 la_array as packed.
13025 Reported by: Zachary Bedell
13026
20168fca
CW
130272011-07-26 Colin Watson <cjwatson@ubuntu.com>
13028
13029 * configure.ac: The Loongson port requires grub-mkfont due to its
13030 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13031 be built.
13032
303b6246
CW
130332011-07-26 Colin Watson <cjwatson@ubuntu.com>
13034
13035 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13036 processing arguments (otherwise help2man fails when GRUB has not yet
13037 been installed).
13038
6795300e
VS
130392011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13040
41aa28ea
VS
13041 New script grub-mkstandalone.
13042
13043 * Makefile.util.def (grub-mkstandalone): New script.
13044 * docs/man/grub-mkstandalone.h2m: New file.
13045 * util/grub-mkstandalone.in: Likewise.
13046
130472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 Support ATA disks with 4K sectors.
6795300e
VS
13050
13051 * include/grub/ata.h (grub_ata): New member log_sector_size.
13052 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13053 (grub_ata_identify): Read sector size.
13054 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13055
92227597
VS
130562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * util/grub-install.in: Don't use uhci outside of x86.
13059
c77069f5
VS
130602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * util/grub-mkrescue.in: Add missing quotes.
13063
130642011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13065
13066 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13067 dereference.
13068
583168a2
VS
130692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13072
6be1c01f
VS
130732011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * include/grub/video.h: add missing EXPORT_FUND on
13076 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13077
a1167439
VS
130782011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * include/grub/mips/kernel.h: Fix define conflict.
13081
bf66054f
VS
130822011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13085 all four ways.
13086
8fc4fa45
CW
130872011-07-21 Colin Watson <cjwatson@ubuntu.com>
13088
13089 Preferred resolution detection for VBE.
13090
13091 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13092 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13093 the Flat Panel extension, in line with the X.org VESA driver.
13094 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13095 New function.
13096 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13097 (grub_vbe_bios_read_edid): Likewise.
13098 (grub_vbe_get_preferred_mode): Likewise.
13099 (grub_video_vbe_setup): When the mode is "auto", try to get the
13100 preferred mode from VBE, and use the largest mode that is no larger
13101 than the preferred mode (some BIOSes expose a preferred mode that is
13102 not in their mode list!). If this fails, fall back to 640x480 as a
13103 safe conservative choice.
13104 (grub_video_vbe_get_edid): New function.
13105 (grub_video_vbe_adapter): Add get_edid.
13106 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13107 (struct grub_video_adapter): Add get_edid.
13108 (grub_video_edid_checksum): Add prototype.
13109 (grub_video_edid_preferred_mode): Likewise.
13110 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13111 structure.
13112
13113 * grub-core/commands/videoinfo.c (print_edid): New function.
13114 (grub_cmd_videoinfo): Print EDID if available.
13115
13116 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13117 is more appropriate on a wider range of platforms than 640x480.
13118 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13119 documentation.
13120
ca5572a9
VS
131212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13124
e4bcf625
VS
131252011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 * po/POTFILES.in: Regenerate.
13128
c4edd548
VS
131292011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13132 incorrect memory usage.
13133
16a2bab0
VS
131342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13135
13136 * util/grub-install.in: Source grub-mkconfig_lib.
13137
2e418de6
VS
131382011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 Remove getroot.c from core on emu platform.
13141
13142 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13143 kern/emu/raid.c.
13144 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13145 useless.
13146 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13147 * util/getroot.c (get_win32_path): ... here.
13148 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13149 * util/getroot.c (fini_libzfs): ... here.
13150 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13151 * util/getroot.c (grub_get_libzfs_handle): ... here.
13152 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13153 Moved from here...
13154 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13155 * grub-core/kern/emu/misc.c
13156 (grub_make_system_path_relative_to_its_root): Moved from here...
13157 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13158 * grub-core/kern/emu/getroot.c: Moved from here ...
13159 * util/getroot.c: ... here. All users updated.
13160 * grub-core/kern/emu/raid.c: Moved from here ...
13161 * util/raid.c: ... here. All users updated.
13162
def9832a
VS
131632011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * po/POTFILES.in: Regenerate.
13166
cd8fe79a
VS
131672011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 Fix compilation on GNU/Linux.
13170
13171 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13172 Disable geli.
13173 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13174 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13175 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13176
a251b719
VS
131772011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
131782011-07-07 Michael Gorven <michael@gorven.za.net>
131792011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13180
13181 LUKS and GELI support.
13182
13183 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13184 grub-core/disk/luks.c, grub-core/disk/geli.c,
13185 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13186 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13187 grub-core/lib/arg.c.
13188 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13189 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13190 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13191 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13192 (grub-bin2h): Add libgcry.a.
13193 (grub-mkimage): Likewise.
13194 (grub-mkrelpath): Likewise.
13195 (grub-script-check): Likewise.
13196 (grub-editenv): Likewise.
13197 (grub-mkpasswd-pbkdf2): Likewise.
13198 (grub-pe2elf): Likewise.
13199 (grub-fstest): Likewise.
13200 (grub-mkfont): Likewise.
13201 (grub-mkdevicemap): Likewise.
13202 (grub-probe): Likewise.
13203 (grub-ofpath): Likewise.
13204 (grub-mklayout): Likewise.
13205 (example_unit_test): Likewise.
13206 (grub-menulst2cfg): Likewise.
13207 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13208 * grub-core/Makefile.core.def (cryptodisk): New module.
13209 (luks): Likewise.
13210 (geli): Likewise.
13211 * grub-core/disk/AFSplitter.c: New file.
13212 * grub-core/disk/cryptodisk.c: Likewise.
13213 * grub-core/disk/geli.c: Likewise.
13214 * grub-core/disk/luks.c: Likewise.
13215 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13216 grub_util_is_lvm.
13217 (grub_util_get_dm_abstraction): New function.
13218 (grub_util_follow_gpart_up): Likewise.
13219 (grub_util_get_geom_abstraction): Likewise.
13220 (grub_util_get_dev_abstraction): Use new functions.
13221 (grub_util_pull_device): Pull GELI and LUKS.
13222 (grub_util_get_grub_dev): Handle LUKS and GELI.
13223 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13224 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13225 (follow_geom_up): Removed.
13226 (grub_util_fd_seek): New function.
13227 (open_device): Use grub_util_fd_seek.
13228 (nread): Rename to ..
13229 (grub_util_fd_read): ... this. All users updated.
13230 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13231 (grub_crypto_cbc_decrypt): Likewise.
13232 (grub_crypto_hmac_write): Likewise.
13233 (grub_crypto_hmac_buffer): Likewise.
13234 (grub_password_get): Extend to util.
13235 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13236 New member modname.
13237 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13238 * include/grub/cryptodisk.h: New file.
13239 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13240 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13241 LUKS and GELI.
13242 (grub_util_follow_gpart_up): New proto.
13243 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13244 (grub_util_fd_read): Likewise.
13245 (grub_cryptodisk_cheat_mount): Likewise.
13246 (grub_util_cryptodisk_print_uuid): Likewise.
13247 (grub_util_get_fd_sectors): Likewise.
13248 * util/grub-fstest.c (mount_crypt): New var.
13249 (fstest): Mount crypto if requested.
13250 (options): New option -C.
13251 (argp_parser): Parse -C.
13252 (main): Init and fini gcry.
13253 * util/grub-install.in: Support cryptodisk install.
13254 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13255 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13256 cryptodisk.
13257 (prepare_grub_to_access_device): Likewise.
13258 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13259 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13260 (probe_cryptodisk_uuid): New function.
13261 (probe_abstraction): Likewise.
13262 (probe): Use new functions.
13263 * util/import_gcry.py: Create Makefile.utilgcry.def.
13264 Add modname member.
13265
9bfdcbbc
VS
132662011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 Lazy device scanning.
13269
13270 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13271 (grub-setup): Remove util/raid.c.
13272 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13273 * grub-core/disk/lvm.c (scan_depth): New variable.
13274 (grub_lvm_iterate): Rescan if necessary.
13275 (find_lv): New function based on grub_lvm_open.
13276 (grub_lvm_open): Use find_lv. Rescan on error.
13277 (is_node_readable): New function.
13278 (is_lv_readable): Likewise.
13279 (grub_lvm_scan_device): Skip already found disks.
13280 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13281 Stop if searched device is found and readable.
13282 * grub-core/disk/raid.c (inscnt): New variable.
13283 (scan_depth): Likewise.
13284 (scan_devices): New function based on grub_raid_register. Abort if
13285 looked for device is found.
13286 (grub_raid_iterate): Rescan if needed.
13287 (find_array): NEw function based on -grub_raid_open.
13288 (grub_raid_open): Use find_array and rescan.
13289 (insert_array): Set became_readable_at.
13290 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13291 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13292 New function.
13293 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13294 (grub_util_pull_device): New function.
13295 (grub_util_get_grub_dev): Call grub_util_pull_device.
13296 * util/raid.c: Moved to ..
13297 * grub-core/kern/emu/raid.c: ... here.
13298 (grub_util_raid_getmembers): New parameter "bootable".
13299 All users updated. Support 1.x.
13300 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13301 All users updated.
13302 * include/grub/disk.h (grub_disk_pull_t): New enum.
13303 (grub_disk_dev): Change iterate prototype.
13304 All users updated.
13305 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13306 New proto.
13307 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13308 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13309 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13310 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13311 All users updated.
13312 * include/grub/util/raid.h: Removed.
13313
1c358e59
VS
133142011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * po/POTFILES.in: Regenerate.
13317
abee94ed
VS
133182011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 Unify sparc init with other ieee1275.
13321
13322 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13323 instead of kern/sparc64/ieee1275/init.c.
13324 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13325 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13326 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13327 grub/machine/kernel.h.
13328 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13329 (grub_claim_heap) [__sparc__]: Use sparc version.
13330 (grub_machine_init): Moved args parsing to
13331 (grub_parse_cmdline): ...this.
13332 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13333 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13334 New definition.
13335 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13336
13337 Move BOOTP to separate file.
13338
13339 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13340 * grub-core/net/net.c: Move all BOOTP functions to
13341 * grub-core/net/bootp.c: ... here.
13342
13343 Use frame interface on PXE.
13344
13345 * grub-core/Makefile.core.def (pxecmd): Removed.
13346 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13347 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13348 * grub-core/i386/pc/pxe.c: Moved from here ...
13349 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13350 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13351 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13352
13353 EFI network support.
13354
13355 * grub-core/Makefile.core.def (efinet): New module.
13356 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13357 here...
13358 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13359 All users updated.
13360 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13361 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13362 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13363 * grub-core/net/drivers/efi/efinet.c: New file.
13364 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13365 (grub_efi_net_config): New extern var.
13366
13367 Various cleanups and bugfixes.
13368
13369 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13370 error.
13371 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13372 disk declared as partition.
13373 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13374 leak on failure.
13375 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13376 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13377 (grub_debug_zalloc): Likewise.
13378 (grub_debug_realloc): Likewise.
13379 (grub_debug_memalign): Likewise.
13380 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13381 Check that target is IPv4.
13382 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13383 local-mac-address as fallback.
13384 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13385 memory leak.
13386 * grub-core/net/ip.c (ipchksum): Rename to ...
13387 (grub_net_ip_chksum): ... this. All users updated.
13388 (grub_net_recv_ip_packets): Special handling for DHCP.
13389 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13390
13391 Unify prefix handling
13392
13393 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13394 (grub_machine_get_bootlocation): ... this.
13395 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13396 (grub_machine_get_bootlocation): ... this.
13397 (grub_prefix): New variable.
13398 (prefix): Removed.
13399 (root_dev): New variable.
13400 (dir): Likewise.
13401 (main): Use new variables.
13402 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13403 Revamped into ...
13404 (grub_machine_get_bootlocation): ... this.
13405 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13406 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13407 (grub_machine_get_bootlocation): ... this.
13408 (grub_machine_set_prefix): Removed.
13409 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13410 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13411 Revamped into ...
13412 (grub_machine_get_bootlocation): ... this.
13413 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13414 (grub_set_prefix_and_root): ... this. All users updated.
13415 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13416 Revamped into ...
13417 (grub_machine_get_bootlocation): ... this.
13418 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13419 (grub_machine_get_bootlocation): New proto.
13420 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13421
13422 Less intrusive and more reliable seek on network implementation.
13423
13424 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13425 (grub_file_seek): Don't call grub_file_net_seek.
13426 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13427 (grub_net_fs_read_real): .. this.
13428 (grub_net_seek_real): Use net->offset.
13429 (grub_net_fs_read): Seek if necessary.
13430
13431 Unify IEEE1275 netwotk config with the other platforms.
13432
13433 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13434 New variable.
13435 (grub_machine_get_bootlocation): Support network.
13436 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13437 Support type and device parsing.
13438 (grub_ieee1275_get_device_type): New function.
13439 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13440 into ...
13441 (grub_ieee1275_net_config_real): ... this.
13442 (grub_ofnet_probecards): Removed.
13443 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13444 * include/grub/ieee1275/ofnet.h: Removed.
13445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13446 extern var.
13447 (grub_ieee1275_get_device_type): New function.
13448
13449 Unify network device closing across platforms and make more robust.
13450
13451 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13452 grub_grubnet_fini.
13453 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13454 already.
13455 * grub-core/net/net.c (grub_net_network_level_interface_register):
13456 Update num_ifaces.
13457 (grub_net_card_unregister): Close all interfaces.
13458 (receive_packets): Don't poll if no iterfaces are registered.
13459 Open if necessary.
13460 (grub_net_fini_hw): New function.
13461 (grub_net_restore_hw): Likewise.
13462 (fini_hnd): New variable.
13463 (GRUB_MOD_INIT): Register preboot hook.
13464 (GRUB_MOD_FINI): Run and unregister preboot hook.
13465
13466 Poll network cards when idle.
13467
13468 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13469 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13470 * grub-core/net/net.c (receive_packets): Save last poll time.
13471 (grub_net_poll_cards_idle_real): New function.
13472 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13473 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13474 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13475
13476 Rename ofnet interfaces.
13477
13478 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13479 (grub_ofnet_findcards): Use ofnet_%s names.
13480
13481 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13482
13483 Cleanup socket opening.
13484
13485 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13486 (grub_net_fs_close): Likewise.
13487 (grub_net_fs_read_real): Use eof member.
13488 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13489 (+grub_net_udp_close): New inline function.
13490
13491 * include/grub/net/tftp.h: Moved to the top of ...
13492 * grub-core/net/tftp.c: ... here.
13493 * include/grub/net/ip.h: Moved mostly to the top of ...
13494 * grub-core/net/ip.c: ... here.
13495 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13496 * grub-core/net/ethernet.c: ... here.
13497
13498 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13499
13500 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13501 FS name.
13502
13503 * include/grub/net/ip.h (ipv4_ini): Removed.
13504 (ipv4_fini): Likewise.
13505
13506 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13507 (grub_net_send_ip_packets): Likewise.
13508
cf1337aa
VS
135092011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13512 grub_read_cmos prototype.
13513
93c06ff9
VS
135142011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 VGA text support in qemu-mips
13517
13518 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13519 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13520 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13521 text.
13522 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13523 * grub-core/kern/vga_init.c: ... this.
13524 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13525 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13526 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13527 Adjust.
13528 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13529 GRUB_MACHINE_PCI_IO_BASE.
13530
748ccabe
VS
135312011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 MIPS qemu flash support.
13534
13535 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13536 magic.
13537 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13538 (grub_machine_init): Probe memory if its size isn't known.
13539 * util/grub-mkimage.c (image_targets): Add flash targets.
13540 (generate_image): Handle flash targets.
13541
d7345994
VS
135422011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 MIPS qemu at_keyboard support.
13545
13546 * gentpl.py (videoinkernel): Add qemu-mips.
13547 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13548 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13549 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13550 modules.
13551 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13552 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13553 * grub-core/term/serial.c (grub_serial_register)
13554 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13555
a07a81b3
VS
135562011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 CMOS support on sparc.
13559
13560 * gentpl.py (cmos): Add powerpc and sparc.
13561 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13562 powerpc and sparc.
13563 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13564 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13565 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13566 grub_set_datetime_cmos.
13567 * grub-core/lib/ieee1275/cmos.c: New file.
13568 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13569 (find_rtc): Set no_ieee1275_rtc on error.
13570 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13571 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13572 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13573 fail. Move value to argument. All users updated
13574 (grub_cmos_write): Likewise.
13575 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13576 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13577 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13578 grub_get_datetime_cmos and grub_set_datetime_cmos.
13579
77546584
GS
135802011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13581
13582 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13583 sourcing grub-mkconfig_lib.
13584 * util/update-grub_lib.in: Likewise.
13585 * util/grub.d/00_header.in: Likewise.
13586 * util/grub.d/10_hurd.in: Likewise.
13587 * util/grub.d/10_kfreebsd.in: Likewise.
13588 * util/grub.d/10_linux.in: Likewise.
13589 * util/grub.d/10_netbsd.in: Likewise.
13590 * util/grub.d/10_windows.in: Likewise.
13591 * util/grub.d/20_linux_xen.in: Likewise.
13592 * util/grub.d/30_os-prober.in: Likewise.
13593
54894791
CW
135942011-06-28 Colin Watson <cjwatson@ubuntu.com>
13595
13596 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13597 default_bg_color rather than black.
13598 (grub_gfxterm_fullscreen): Likewise.
13599 (grub_gfxterm_background_color_cmd): Save new background color in
13600 default_bg_color.
13601
8d5d8444
VS
136022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13605
5afeb5bd
VS
136062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13609 mismerge.
13610
ba7df45e
VS
136112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 Chainloading on coreboot support.
13614
13615 * grub-core/Makefile.core.def (chain): Add coreboot.
13616 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13617
d0b526b2
VS
136182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13621 if it happens.
13622
5ff1d945
VS
136232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13624
13625 Implement time command.
13626
13627 * grub-core/Makefile.core.def (time): New module.
13628 * grub-core/commands/time.c: New file.
13629 * grub-core/script/parser.y: Remove "time" keyword.
13630 * grub-core/script/yylex.l: Likewise.
13631
5ebaad7e
VS
136322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13633
13634 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13635
bdea3798
VS
136362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13639 when handling leftovers.
13640
b28c5655
VS
136412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13644 so that help2man doesn't fail.
13645
b6f945dc
VS
136462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13649 type in pointers on sparc64.
13650 (get_card_packet): Likewise.
13651
f9b75e8a
CW
136522011-06-27 Colin Watson <cjwatson@ubuntu.com>
13653
13654 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13655 with `*'.
13656 (grub_cmd_videoinfo): Fetch current video mode.
13657
1e3d9b86
VS
136582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13661 because of underlying system restrictions.
13662
efff4b1c
VS
136632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13666 necessary.
13667
9fc9ce37
VS
136682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 Coreboot video support.
13671
13672 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13673 (vbe): Likewise.
13674 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13675 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13676 here ...
13677 * grub-core/kern/i386/int.S: ... here.
13678 * grub-core/video/i386/pc/vbe.c: Updated includes.
13679 * grub-core/video/i386/pc/vga.c: Likewise.
13680 * include/grub/i386/coreboot/memory.h
13681 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13682 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13683 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13684 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13685 Disable interrupts.
13686 * include/grub/i386/pc/vga.h: Removed. All users updated.
13687
41bec7fe
VS
136882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13689
13690 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13691 definitions for dprintf.
13692 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13693
ca80309d
VS
136942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13697 prototype.
13698 (get_card_packet): Likewise.
13699
9e322ce8
YB
137002011-06-26 Yves Blusseau <blusseau@zetam.org>
13701
13702 Display the path of the file when file is not found
13703
13704 * grub-core/fs/fat.c: Display the filename when file is not found.
13705 * grub-core/fs/fshelp.c: Likewise.
13706 * grub-core/fs/hfs.c: Likewise.
13707 * grub-core/fs/jfs.c: Likewise.
13708 * grub-core/fs/minix.c: Likewise.
13709 * grub-core/fs/ufs.c: Likewise.
13710 * grub-core/fs/btrfs.c: Likewise.
13711 * grub-core/commands/i386/pc/play.c: Likewise.
13712
cbf597af
SJ
137132011-06-26 Szymon Janc <szymon@janc.net.pl>
13714
13715 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13716 pointer checks before calling grub_free().
13717 * grub-core/commands/wildcard.c (match_devices): Likewise.
13718 * grub-core/commands/wildcard.c (match_files): Likewise.
13719 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13720 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13721 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13722 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13723 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13724 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13725 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13726 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13727 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13728
6295b32f
P
137292011-06-25 Patrick <p55@mailinator.com>
13730
13731 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13732
77c0840b
VS
137332011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13736 (grub_pxe_send): Likewise.
13737 (GRUB_MOD_INIT): Fix types.
13738
40ea05de
SJ
137392011-06-24 Szymon Janc <szymon@janc.net.pl>
13740
13741 * grub-core/io/xzio.c: Fix code style issues
13742
90162423
MRA
137432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
137442011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13745
13746 Network infrastructure.
13747 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13748
13749 * include/grub/net/arp.h: New file.
90162423
MRA
13750 * include/grub/net/device.h: Likewise.
13751 * include/grub/net/ethernet.h: Likewise.
13752 * include/grub/net/ip.h: Likewise.
13753 * include/grub/net/netbuff.h: Likewise.
13754 * include/grub/net/tftp.h: Likewise.
13755 * include/grub/net/udp.h: Likewise.
13756 * include/grub/ieee1275/ofnet.h: Likewise.
13757 * include/grub/emu/export.h: Likewise.
13758 * include/grub/net.h: Likewise.
13759 * grub-core/net/arp.c: Likewise.
13760 * grub-core/net/ethernet.c: Likewise.
13761 * grub-core/net/ip.c: Likewise.
13762 * grub-core/net/udp.c: Likewise.
13763 * grub-core/net/tftp.c: Likewise.
13764 * grub-core/net/netbuff.c: Likewise.
13765 * grub-core/net/net.c: Likewise.
13766 * grub-core/net/drivers/emu/emunet.c: Likewise.
13767 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13768 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13769 export.h.
13770 * grub-core/Makefile.core.def (net): New module.
13771 (tftp): Likewise.
13772 (ofnet): Likewise.
13773 (emunet): Likewise.
13774 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13775 network protocols.
13776 * grub-core/kern/device.c (grub_net_open) : New variable.
13777 (grub_device_open): Handle network device.
13778 (grub_device_close): Likewise.
13779 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13780 (grub_grubnet_fini): Likewise.
13781 (grub_file_seek): Seek in network device.
13782 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13783 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13784 network root.
13785 (grub_machine_fini): Call grub_grubnet_fini.
13786 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13787 network.
13788 (grub_ieee1275_get_aliasdevname): New function.
13789 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13790 Add unofficial Solaris network info.
13791 (grub_multiboot_make_mbi): Likewise.
13792 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13793 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13794 * include/grub/device.h (grub_fs): Removed.
13795 * include/grub/err.h (grub_err_t): Add network-related values.
13796 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13797 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13798 (grub_ieee1275_get_aliasdevname): New proto.
13799 * include/grub/net.h: Rewritten.
423a1849 13800
031f22a0
VS
138012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13804 names.
13805
4388ca72
VS
138062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13809 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13810 it truncates the output.
13811 Reported by: Ximin Luo.
13812
98e2f506
VS
138132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13816
2a5e94d8
VS
138172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13820 partmap before abstraction.
13821
535c1910
AK
138222011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13823
13824 * util/grub-mkconfig_lib.in: Add missing quotes.
13825
bc09e1a2
VS
138262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13829 old method if mountinfo would return /dev/root and /dev/root doesn't
13830 exist.
13831
290766fb
VS
138322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 ZFS zlib support
13835
13836 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13837 (decomp_table): Add zlib entries.
13838 (zio_read): USe 8 bits for compression function rather than 3.
13839 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13840
138412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13842
13843 * grub-core/disk/ahci.c: Add missing license statements.
13844 * grub-core/fs/romfs.c: Likewise.
13845 * grub-core/lib/ia64/setjmp.S: Likewise.
13846 * grub-core/loader/i386/pc/freedos.c: Likewise.
13847 * grub-core/loader/ia64/efi/linux.c: Likewise.
13848 * grub-core/video/colors.c: Likewise.
13849 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13850
5ab3f48a
VS
138512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 AHCI support.
13854
13855 * grub-core/Makefile.core.def (ata_pthru): Removed.
13856 (ahci): New module.
13857 (pata): Likewise.
13858 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13859 on unload.
13860 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13861 readwrite.
13862 (grub_hdparm_do_check_powermode_cmd): Likewise.
13863 (grub_hdparm_do_smart_cmd): Likewise.
13864 (grub_hdparm_set_val_cmd): Likewise.
13865 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13866 * grub-core/disk/ahci.c: New file.
13867 * grub-core/disk/ata.c: Factor out the low-level part into ...
13868 * grub-core/disk/pata.c: ... here.
13869 * grub-core/disk/ata_pthru.c: Contents moved to ...
13870 * grub-core/disk/pata.c: ... here.
13871 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13872 (grub_scsi_iterate): Use grub_scsi_names.
13873 (grub_scsi_open): Likewise.
13874 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13875 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13876 (grub_ata_regs_t): New struct.
13877 (grub_disk_ata_pass_through_parms): Likewise.
13878 (grub_ata_device): Renamed to ...
13879 (grub_ata): ... this.
13880 (grub_ata_dev): New struct.
13881 Removed all low-level inline functions.
13882 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13883 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13884 iterate hooks and open. All users updated.
13885 * util/grub-install.in: Handle AHCI disk module.
13886
c31dc5f5
SJ
138872011-06-23 Szymon Janc <szymon@janc.net.pl>
13888
13889 Add support for DRI and RSTn markers in JPEG files.
13890
13891 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13892 (JPEG_MARKER_RST0): Likewise.
13893 (JPEG_MARKER_RST1): Likewise.
13894 (JPEG_MARKER_RST2): Likewise.
13895 (JPEG_MARKER_RST3): Likewise.
13896 (JPEG_MARKER_RST4): Likewise.
13897 (JPEG_MARKER_RST5): Likewise.
13898 (JPEG_MARKER_RST6): Likewise.
13899 (JPEG_MARKER_RST7): Likewise.
13900 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13901 (grub_jpeg_decode_dri): New function.
13902 (grub_jpeg_decode_sos): Move image data related part into
13903 grub_jpeg_decode_data function.
13904 (grub_jpeg_decode_data): New function.
13905 (grub_jpeg_reset): New function.
13906 (grub_jpeg_decode_jpeg): Handle new markers.
13907
fe12fd5b
VS
139082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 * util/ieee1275/ofpath.c (check_sas): Close fd.
13911 (main): Free of_path.
13912 Reported by: David Volgyes <dvolgyes>.
13913
03147f46
VS
139142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13917 Reported by: David Volgyes <dvolgyes>.
13918
cad3237f
VS
139192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13922 file after stat.
13923 Reported by: David Volgyes <dvolgyes>.
13924
13548d26
VS
139252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13928
13929 Reported by: David Volgyes <dvolgyes>.
13930
e061a1b5
VS
139312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13934 Prevent memory leak.
13935
1abe47dc
VS
139362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13939 (main): Close file.
e061a1b5 13940 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13941
fbc62666
VS
139422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13945 to continue if allocation is failed.
13946
13947 Reported by: David Volgyes <dvolgyes>.
13948
e98c83e9
DV
139492011-06-23 David Volgyes <dvolgyes>
13950
13951 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13952 dereference.
13953
a199a8cd
VS
139542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 Fix spurious warning.
13957
13958 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13959 (acorn_partition_map_find): Use .bin member.
13960
e2d1dba0
VS
139612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13964 /dev/root as a valid device.
13965
8a5d6919
JM
139662011-06-23 Jim Meyering <meyering@redhat.com>
13967
e2d1dba0
VS
13968 Avoid NULL deref in grub_device_open.
13969
8a5d6919
JM
13970 * grub-core/kern/device.c (grub_device_open): Don't dereference
13971 a NULL pointer upon failed grub_env_get.
13972
f7db6f4a
VS
139732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 Support non-512B sectors and agglomerate reads.
13976
13977 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13978 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13979 (disk_io_guid): Removed.
13980 (make_devices): Locate solely by BlockIO.
13981 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13982 (grub_efidisk_read): Use read_blocks.
13983 (grub_efidisk_write): Use write_blocks.
13984 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13985 log_sector_size.
13986 (get_safe_sectors): Handle non-512B sectors.
13987 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13988 sectors.
13989 (grub_biosdisk_write): Handle non-512B sectors.
13990 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13991 (grub_scsi_read): Remove special non-512B block handling (now handled
13992 one level up).
13993 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13994 and do sanity checks.
13995 (grub_disk_adjust_range): Handle non-512B sectors.
13996 (transform_sector): New function.
13997 (grub_disk_read_small): Likewise.
13998 (grub_disk_read): Rewritten.
13999 (grub_disk_write): Handle non-512B sectors.
14000 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14001 log_sector_size.
14002 (open_device): Use log_sector_size.
14003 (grub_util_biosdisk_read): Likewise.
14004 (grub_util_biosdisk_write): Likewise.
14005 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14006 non-512B sectors.
14007 (pc_partition_map_embed): Likewise.
14008 * include/grub/disk.h (grub_disk): New field log_sector_size.
14009 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14010 (GRUB_DISK_CACHE_BITS): Increased to 6.
14011 * util/grub-fstest.c (fstest): New command testload.
14012 (argp_parser): Likewise.
14013
881ac815
RM
140142011-06-16 Robert Millan <rmh@gnu.org>
14015
14016 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14017 `ata' driver on kernel of FreeBSD 9.
14018
14019 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14020 (get_ataraid_disk_name): New functions.
14021 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14022 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14023 get_ataraid_disk_name() and get_ada_disk_name().
14024
1e9aef7d
CW
140252011-06-13 Colin Watson <cjwatson@ubuntu.com>
14026
14027 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14028 input format.
14029
351c7c8a
CW
140302011-05-29 Colin Watson <cjwatson@ubuntu.com>
14031
14032 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14033 `ftp.gnu.org' for `alpha.gnu.org'.
14034
6b4e6430
CW
140352011-05-27 Colin Watson <cjwatson@ubuntu.com>
14036
14037 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14038 partitions under /dev/disk/by-id/.
14039
c64db050
CW
140402011-05-27 Colin Watson <cjwatson@ubuntu.com>
14041
14042 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14043 after ten consecutive open failures. Scanning all the way up to
14044 10000 is excessive and can cause serious performance problems in
14045 some configurations.
14046 Fixes Ubuntu bug #787461.
14047
245f4aba
VS
140482011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14051 opening new one.
14052
f767c929
VS
140532011-05-21 Colin Watson <cjwatson@ubuntu.com>
140542011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14055
14056 Don't stat devices unless we have to.
14057
14058 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14059 dir == /dev/mapper.
14060 (grub_guess_root_device): Use already known os_dev if possible.
14061 * grub-core/kern/emu/hostdisk.c
14062 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14063 if device is known to be a dm one.
14064
f35fa3a6
CW
140652011-05-20 Colin Watson <cjwatson@ubuntu.com>
14066
14067 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14068 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14069 Reported by: Pawel Tecza.
14070
9a79fcf2
VS
140712011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14074 (lsefisystab): Likewise.
14075 (lssal): Likewise.
14076 (lsefimmap): Likewise.
14077 (hdparm): Enable on qemu-mips.
14078 (setjmp): Add ia64 nodist.
14079 (serial): Simplify tags.
14080
63e3eea9
CW
140812011-05-18 Colin Watson <cjwatson@ubuntu.com>
14082
14083 * Makefile.util.def (grub-ofpathname): Install manual page.
14084
09728256
CW
140852011-05-18 Colin Watson <cjwatson@ubuntu.com>
14086
14087 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14088
8b63a142
CW
140892011-05-18 Colin Watson <cjwatson@ubuntu.com>
14090
14091 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14092
e775d8ed
VS
140932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14096 into dprintf.
14097
bf947d36
VS
140982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 Use full 64-bit division.
14101
14102 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14103 (grub_divmod64): ... this.
14104 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14105 version.
14106
b84f26c5
CW
141072011-05-18 Colin Watson <cjwatson@ubuntu.com>
14108
14109 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14110 `source'.
14111
5626056f
CW
141122011-05-18 Colin Watson <cjwatson@ubuntu.com>
14113
14114 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14115 to avoid accidents when debugging with 'sh -x'.
14116 * grub-core/gensyminfo.sh.in: Likewise.
14117 * tests/example_scripted_test.in: Likewise.
14118 * tests/grub_cmd_regexp.in: Likewise.
14119 * tests/grub_script_blanklines.in: Likewise.
14120 * tests/grub_script_dollar.in: Likewise.
14121 * tests/grub_script_expansion.in: Likewise.
14122 * tests/grub_script_final_semicolon.in: Likewise.
14123 * tests/partmap_test.in: Likewise.
14124 * tests/util/grub-shell-tester.in: Likewise.
14125 * tests/util/grub-shell.in: Likewise.
14126
e2965f4a
CW
141272011-05-18 Colin Watson <cjwatson@ubuntu.com>
14128
14129 Move gfxmenu color handling to video, so that gfxterm can use it
14130 too.
14131
14132 * grub-core/gfxmenu/named_colors.c: Move to ...
14133 * grub-core/video/colors.c: ... here. Rename
14134 grub_gui_get_named_color to grub_video_get_named_color.
14135 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14136 * grub-core/video/colors.c (my_isxdigit): ... here.
14137 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14138 Move to ...
14139 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14140 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14141 to ...
14142 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14143
14144 * include/grub/gui.h (grub_gui_color_t): Move to ...
14145 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14146 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14147 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14148 * include/grub/gui.h (grub_gui_map_color): Move to ...
14149 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14150 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14151 to ...
14152 * include/grub/video.h (grub_video_get_named_color): ... here.
14153 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14154 * include/grub/video.h (grub_video_parse_color): ... here.
14155
14156 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14157 video/colors.c.
14158 (gfxmenu): Remove gfxmenu/named_colors.c.
14159 (video) [videomodules]: Add video/colors.c.
14160
14161 Add a background_color command.
14162
14163 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14164 function.
14165 (GRUB_MOD_INIT): Register background_color command.
14166 (GRUB_MOD_FINI): Unregister background_color command.
14167 (redraw_screen_rect): Allow blend/replace of text layer to be
14168 controlled independently from whether there is a background bitmap.
14169 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14170 changing bitmap.
14171
1e4b4390
VS
141722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14173
26618ff0
VS
14174 Patch BPB in ntldr and chainloader --bpb.
14175
1e4b4390
VS
14176 * grub-core/fs/fat.c: Include grub/fat.h.
14177 (grub_fat_bpb): Moved to ...
14178 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14179 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14180 grub/ntfs.h.
14181 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14182 Moved from here...
14183 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14184 here.
14185 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14186 New function.
14187 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14188 (GRUB_MOD_INIT): Show --bpb.
14189 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14190 * grub-core/normal/main.c (features): New variable.
14191 (GRUB_MOD_INIT): Set feature_* variables.
14192 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14193 proto.
14194 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14195
cf02731e
VS
141962011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14199 for cleanness.
14200
e3a1073f
VS
142012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 FreeDOS direct loading support.
14204
14205 * docs/grub.texi (Supported OS): Add FreeDOS.
14206 * grub-core/Makefile.core.def (freedos): New module.
14207 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14208 variable.
14209 (grub_relocator16_boot): Handle %ebx.
14210 * grub-core/lib/i386/relocator16.S: Likewise.
14211 * grub-core/loader/i386/pc/freedos.c: New file.
14212
05caa461
VS
142132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 Long Linux command line support.
14216
14217 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14218 (maximal_cmdline_size): New variable.
14219 (allocate_pages): Use maximal_cmdline_size.
14220 (grub_cmd_linux): Set and use maximal_cmdline_size.
14221 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14222 (allocate_pages): Use maximal_cmdline_size.
14223 (grub_cmd_linux): Set and use maximal_cmdline_size.
14224 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14225 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14226 and cmdline_size.
14227
a2491e23
VS
142282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
142292011-05-18 Colin Watson <cjwatson@ubuntu.com>
14230
14231 Improve devmapper support
14232
14233 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14234 (grub_util_is_lvm): New function.
14235 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14236 than lvm if not dmraid.
14237 Handle mapped md nodes.
14238 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14239 (grub_util_device_is_mapped): ... this. Make always available. All users
14240 updated.
14241 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14242 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14243 dmraid nodes.
14244 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14245
6ad6223e
VS
142462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14249
14250 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14251 * grub-core/modinfo.sh.in: New file.
14252 * grub-core/Makefile.core.def (modinfo.sh): New script.
14253 * util/grub-mknetdir.in: Use modinfo.sh.
14254 * util/grub-mkrescue.in: Likewise.
14255
543a8f6e
VS
142562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14259 Fix potential usage of Elf32 instead of Elf64 when compiling on
14260 32-bit architecture. Add endianness macros while on it.
14261
4959e111
VS
142622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 Use mipsel- rather than mips- in directories involving mipsel ports to
14265 allow both endiannesses coexist.
14266
14267 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14268 mips. All conditions adjusted.
14269 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14270 variable.
14271 * util/grub-install.in: Adjust conditions to take renaming into account.
14272 * util/grub-mkimage.c (image_targets): Likewise. New target
14273 mips-qemu_mips-elf for bigendian mips.
14274
35341bbc
VS
142752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14276
14277 Avoid unnecessary copying on MIPS.
14278
14279 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14280 early if src == dest.
14281 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14282 compression is none.
14283
b772baed
VS
142842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14285
14286 Reduce memory footprint on SGI by putting modules before the kernel
14287 as opposed to after.
14288
14289 * grub-core/Makefile.core.def (kernel): Increase linking address.
14290 (none_decompress): Likewise.
14291 (xz_decompress): Likewise.
14292 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14293 address.
14294 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14295 layout change.
14296 (grub_arch_modules_addr): New function.
14297 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14298 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14299 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14300 here.
14301 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14302 (grub_total_modules_size): ... this. Make global.
14303 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14304 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14305 New definition.
14306 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14307 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14308 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14309 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14310 * util/grub-mkimage.c (image_target_desc): New flag
14311 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14312 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14313 (generate_image): Handle images with modules before kernel.
14314
566a1917
VS
143152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 Prevent potential loss of memory map by overwrite on qemu-mips.
14318
14319 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14320 Save ram size in $s4.
14321 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14322 All users changed to grub_arch_memsize.
14323 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14324 Loongson.
14325 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14326 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14327 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14328 external variable.
14329
5d420cd9
CW
143302011-05-17 Colin Watson <cjwatson@ubuntu.com>
14331
14332 * .bzrignore: Remove grub-dumpbios.
14333
d064b830
CW
143342011-05-17 Colin Watson <cjwatson@ubuntu.com>
14335
14336 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14337 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14338 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14339 existing options which append).
14340 * docs/grub.texi (Simple configuration): Document new options.
14341 Reported by: Ian Jackson. Fixes Debian bug #617538.
14342
3ca2b466
CW
143432011-05-17 Colin Watson <cjwatson@ubuntu.com>
14344
14345 * util/grub-fstest.c (cmd_cat): New function.
14346 (fstest): Handle CMD_CAT.
14347 (options): Add cat.
14348 (argp_parser): Handle cat.
14349
24c9143a
CW
143502011-05-17 Colin Watson <cjwatson@ubuntu.com>
14351
14352 * Makefile.util.def (grub-bin2h): Don't install.
14353 * docs/man/grub-bin2h.h2m: Remove.
14354
90f7ac19
VS
143552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14358 place.
14359
8d4a5178
VS
143602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 Reenable qemu-mips port.
14363
14364 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14365 Fix small arc bug while on it.
14366 * gentpl.py: Handle qemu_mips.
14367 * grub-core/Makefile.am: Likewise.
14368 * grub-core/Makefile.core.def: Likewise.
14369 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14370 inappropriate includes.
14371 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14372 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14373 * grub-core/kern/main.c (grub_modules_get_end)
14374 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14375 * grub-core/kern/mips/qemu-mips: Moved to ..
14376 * grub-core/kern/mips/qemu_mips: ... this.
14377 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14378 (grub_machine_init): Call terminfo_init and serial_init.
14379 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14380 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14381 New variable.
14382 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14383 parameter passing.
14384 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14385 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14386 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14387 * include/grub/mips/qemu_mips/cmos.h: New file.
14388 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14389 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14390 Removed.
14391 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14392 Use correct mips-style address.
14393 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14394 (GRUB_TICKS_PER_SECOND): Removed.
14395 (grub_get_rtc): Likewise.
14396 (grub_cpu_idle): Likewise.
14397 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14398 New definition.
14399 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14400 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14401 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14402 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14403 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14404 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14405 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14406 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14407
400b9371
VS
144082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 SGI ARCS port.
14411
14412 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14413 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14414 platforms.
14415 * configure.ac: New target mips-arc.
14416 * gentpl.py: Likewise.
14417 * grub-core/Makefile.am: Likewise.
14418 * grub-core/Makefile.core.def: Likewise.
14419 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14420 (none_decompress): Likewise.
14421 (lsdev): New module.
14422 (datetime): Use lib/arc/datetime.c on ARC.
14423 (part_dvh): New module.
14424 * grub-core/commands/arc/lsdev.c: New file.
14425 * grub-core/disk/arc/arcdisk.c: Likewise.
14426 * grub-core/kern/mips/arc/init.c: Likewise.
14427 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14428 aligned addresses.
14429 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14430 support.
14431 (grub_arch_dl_relocate_symbols): Likewise.
14432 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14433 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14434 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14435 platforms.
14436 * grub-core/lib/arc/datetime.c: New file.
14437 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14438 pci.h on non-loongson.
14439 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14440 (grub_linux_boot): Set unused registers to 0.
14441 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14442 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14443 * grub-core/mmap/mips/uppermem.c: ...here.
14444 * grub-core/partmap/dvh.c: New file.
14445 * grub-core/term/arc/console.c: Likewise.
14446 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14447 (grub_terminfo_set_current): Add terminal "arc".
14448 (grub_terminfo_readkey): Support ARC sequences.
14449 * include/grub/arc/arc.h: New file.
14450 * include/grub/arc/console.h: Likewise.
14451 * include/grub/disk.h (grub_disk_dev_id): Add
14452 GRUB_DISK_DEVICE_ARCDISK_ID.
14453 * include/grub/mips/arc/kernel.h: New file.
14454 * include/grub/mips/arc/memory.h: Likewise.
14455 * include/grub/mips/arc/time.h: Likewise.
14456 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14457 * include/grub/mips/kernel.h (grub_halt): ... here.
14458 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14459 here...
14460 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14461 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14462 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14463 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14464 proto.
14465 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14466 from here ...
14467 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14468 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14469 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14470 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14471 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14472 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14473 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14474 (grub_phys_addr_t): Moved from here ...
14475 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14476 (grub_vtop): Moved from here ...
14477 * include/grub/mips/memory.h (grub_vtop): ... here.
14478 (grub_map_memory): Moved from here ...
14479 * include/grub/mips/memory.h (grub_map_memory): ... here.
14480 (grub_unmap_memory): Moved from here ...
14481 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14482 (grub_machine_mmap_iterate): Moved from here ...
14483 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14484 (grub_mmap_get_lower): Moved from here ...
14485 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14486 (grub_mmap_get_upper): Moved from here ...
14487 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14488 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14489 here ...
14490 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14491 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14492 here ...
14493 * include/grub/mips/time.h (grub_get_rtc): ... here.
14494 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14495 here ...
14496 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14497 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14498 here ...
14499 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14500 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14501 definition.
14502 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14503 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14504 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14505 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14506 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14507 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14508 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14509 (GRUB_MACHINE_LINK_ADDR): Likewise.
14510 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14511 to 6.
14512 * util/grub-install.in: Run dvhtool on ARC.
14513 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14514 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14515
c8ecc840
VS
145162011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14519 blocks.
14520
153a4b55
VS
145212011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14524 after enabling port.
14525
ff44d107
VS
145262011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 Skip incorrect USB devices.
14529
14530 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14531 configcnt == 0.
14532 * include/grub/usb.h (grub_usb_err_t): New enum value
14533 GRUB_USB_ERR_BADDEVICE.
14534
638dbe4f
VS
145352011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 Fuloong video init support.
14538
14539 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14540 well.
14541 (grub_vga_read_arx): New function.
14542 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14543 definition.
14544 (framebuffer): New members io, mmioptr and mmiobase.
14545 (read_sis_cmd): New function.
14546 (write_sis_cmd): Likewise.
14547 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14548 rather than 640x400.
14549 * grub-core/video/sis315_init.c: New file.
14550
c3fc520c
VS
145512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14552
14553 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14554 non-loongson.
14555 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14556 to grub_dl_register_symbol.
14557
67b1e5c9
VS
145582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 Fix compilation errors.
14561
14562 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14563 potentially unused.
14564 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14565 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14566 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14567 to loongson machines.
14568
b756f75f
VS
145692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 Several FS mtime support.
14572
14573 * grub-core/fs/affs.c (grub_affs_time): New struct.
14574 (grub_affs_file): New field mtime.
14575 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14576 type. Removed 'size'. New field 'di'. All users updated.
14577 (grub_affs_mount): Simplify checsum checking.
14578 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14579 (grub_affs_dir): Handle mtime.
14580 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14581 (grub_cpio_dir): Likewise.
14582 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14583 (grub_hfs_filerec): New field mtime.
14584 (grub_hfs_dir): Handle mtime.
14585 (grub_hfs_mtime): New function.
14586 (grub_hfs_fs): Register grub_hfs_mtime.
14587 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14588 (grub_iso9660_dir): New field mtime.
14589 (grub_fshelp_node): New field dirent.
14590 (iso9660_to_unixtime): New function.
14591 (iso9660_to_unixtime2): Likewise.
14592 (grub_iso9660_read_symlink): Use node->dirent.
14593 (grub_iso9660_iterate_dir): Likewise.
14594 (grub_iso9660_dir): Set mtime.
14595 (grub_iso9660_mtime): New function.
14596 (grub_iso9660_fs): Register grub_iso9660_mtime.
14597 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14598 (grub_jfs_inode): New fields atime, ctime and mtime.
14599 (grub_jfs_dir): Set mtime.
14600 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14601 * grub-core/fs/ntfs.c (list_file): Set mtime.
14602 (grub_ntfs_dir): Likewise.
14603 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14604 (grub_reiserfs_iterate_dir): Set mtime.
14605 (grub_reiserfs_dir): Likewise.
14606 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14607 (grub_fshelp_node): Likewise.
14608 (grub_sfs_iterate_dir): Set mtime.
14609 (grub_sfs_dir): Likewise.
14610 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14611 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14612 (grub_xfs_inode): New fields atime, mtime, ctime.
14613 (grub_xfs_dir): Set mtime.
14614 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14615 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14616 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14617
14618 Support UDF symlinks.
14619
14620 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14621 (grub_ufs_read_symlink): New function. All users updated.
14622
14623 Check amiga partmap checksum.
14624
14625 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14626 (grub_amiga_partition): Likewise.
14627 (amiga_partition_map_checksum): New function.
14628 (amiga_partition_map_iterate): Check checksum.
14629
5470225d
VS
146302011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14631
14632 ROMFS support.
14633
14634 * Makefile.util.def (libgrubmods.a): Add romfs.
14635 * grub-core/Makefile.core.def (romfs): New module.
14636 * grub-core/fs/romfs.c: New file.
14637
d4680a35
VS
146382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 Squashfs v4 support.
14641
14642 * Makefile.util.def (libgrubmods.a): Add squash4.
14643 * grub-core/Makefile.core.def (squash4): New module.
14644 * grub-core/fs/squash4.c: New file.
14645 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14646 disk_input_start, disk_input.
14647 (get_byte): Handle disk_input.
14648 (grub_zlib_disk_read): New function.
14649 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14650
bcb18e74
FZ
146512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
146522011-05-15 Feiran Zheng <famcool@gmail.com>
14653
14654 * Makefile.util.def (libgrubmods.a): Add minix3.
14655 * grub-core/Makefile.core.def (minix3): New module.
14656 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14657 (GRUB_MINIX_BSIZE): Removed.
14658 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14659 (grub_minix_ino_t): New type.
14660 (grub_minix_le_to_cpu_ino): New macro.
14661 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14662 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14663 (grub_minix_data): New field block_size.
14664 (grub_minix_read_file): Handle 64-bit correctly.
14665 * grub-core/fs/minix3.c: New file.
14666
32297d5f
TG
146672011-05-15 Tristan Gingold <gingold@free.fr>
146682011-05-15 Robert Millan <rmh.grub@aybabtu.com>
146692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 IA64 support.
14672
14673 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14674 * configure.ac: Add ia64-efi target.
14675 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14676 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14677 * gentpl.py: Add ia64_efi platform.
14678 Rename x86_efi to efi and Add ia64-efi. All users updated.
14679 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14680 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14681 Remove kern/generic/rtc_get_time_ms.c on EFI.
14682 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14683 kern/ia64/dl_helper.c on ia64-efi.
14684 Add kern/emu/cache.c on emu.
14685 (linux): Use on loader/ia64/efi/linux.c on ia64.
14686 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14687 whether symbol is a function.
14688 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14689 (grub_symbol): New field 'isfunc'.
14690 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14691 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14692 (grub_dl_load_segments): Place all sections into the same region.
14693 [__ia64__]: Create trampolines and got.
14694 [GRUB_MACHINE_EMU]: Call mprotect.
14695 (grub_dl_resolve_symbols): Resolve symbol type as well.
14696 [__ia64__]: Create function descriptors.
14697 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14698 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14699 (grub_get_rtc): New function.
14700 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14701 * grub-core/kern/emu/cache.S: Renamed to ...
14702 * grub-core/kern/emu/cache_s.S: ... this.
14703 [__ia64__]: Add a nop.
14704 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14705 [__ia64__]: New function.
14706 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14707 * grub-core/kern/ia64/dl.c: New file.
14708 * grub-core/kern/ia64/dl_helper.c: Likewise.
14709 * grub-core/kern/ia64/efi/init.c: New file.
14710 * grub-core/kern/ia64/efi/startup.S: Likewise.
14711 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14712 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14713 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14714 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14715 * grub-core/loader/ia64/efi/linux.c: New file.
14716 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14717 (GRUB_MOD_DEP): Likewise.
14718 (grub_dl) [__ia64__]: New fields got and tramp.
14719 (grub_dl): New field 'base'.
14720 (grub_dl_register_symbol): New argument isfunc. All users updated.
14721 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14722 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14723 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14724 (grub_ia64_dl_get_tramp_got_size): New proto.
14725 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14726 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14727 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14728 * include/grub/efi/api.h: Skip call wrappers on ia64.
14729 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14730 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14731 * include/grub/elf.h (ELF_ST_INFO): New definition.
14732 * include/grub/ia64/efi/kernel.h: New file.
14733 * include/grub/ia64/efi/memory.h: Likewise.
14734 * include/grub/ia64/efi/time.h: Likewise.
14735 * include/grub/ia64/kernel.h: Likewise.
14736 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14737 * include/grub/ia64/time.h: New file.
14738 * include/grub/ia64/types.h: Likewise.
14739 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14740 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14741 New protos.
14742 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14743 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14744 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14745 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14746 All users updated.
14747 (EFI64_HEADER_SIZE): New definition. All users updated.
14748 (image_targets): Add ia64-efi.
14749 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14750 jumpers_addr. All users updated.
14751 Create function descriptors.
14752 (count_funcs): New function.
14753 (unaligned_uint32): New struct.
14754 (MASK20): New definition.
14755 (MASK19): Likewise.
14756 (MASKF21): Likewise.
14757 (add_value_to_slot_20b): New function.
14758 (add_value_to_slot_21_real): Likewise.
14759 (add_value_to_slot_21): Likewise.
14760 (ia64_kernel_trampoline): New struct.
14761 (nopm): New variable.
14762 (jump): Likewise.
14763 (make_trampoline): New function.
14764 (relocate_addresses): Handle ia64.
14765 (make_reloc_section): Likewise.
14766 (load_image): Likewise.
14767
983b414d
VS
147682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14771 warning. Move variables before code while on it.
14772
5d063cdc
VS
147732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 Fuloong support.
14776
14777 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14778 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14779 * grub-core/boot/mips/loongson/fuloong.S: New file.
14780 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14781 Explicitly init CS5536.
14782 [FULOONG]: Don't use serial until CS5536 is available.
14783 Set GPIO based on dumps.
14784 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14785 [FULOONG]: Handle GPIO and memory controller differences.
14786 Parse machine type in $a2.
14787 * grub-core/boot/mips/startup_raw.S: Determine and save the
14788 architecture.
14789 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14790 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14791 init on architecture type.
14792 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14793 SIS315E. Don't init at_keyboard on fuloong.
14794 (grub_halt): Support Fuloong.
14795 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14796 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14797 (loongson_machtypes): New array.
14798 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14799 type.
14800 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14801 config. All users updated. Handle CS5536 serial.
14802 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14803 default port on machine type. Register serial as inactive.
14804 * grub-core/video/sis315pro.c: New file.
14805 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14806 definition.
14807 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14808 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14809 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14810 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14811 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14812 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14813 to ...
14814 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14815 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14816 definition.
14817 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14818 (grub_arch_machine): New extern var.
14819 * include/grub/mips/loongson/serial.h
14820 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14821 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14822 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14823 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14824 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14825 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14826 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14827 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14828 * include/grub/term.h (grub_term_register_input_inactive): New inline
14829 function.
14830 (grub_term_register_output_inactive): Likewise.
14831 * include/grub/video.h (grub_video_driver_id): New value
14832 GRUB_VIDEO_DRIVER_SIS315PRO.
14833 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14834 New field "names". All users updated.
14835 New field value IMAGE_FULOONG_FLASH.
14836 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14837
6ada82d1
JU
148382011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14839
14840 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14841 and add some clarification.
14842
90c571a4
VS
148432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14846 platforms if kernel is compressed.
14847
de04eecf
VS
148482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14851 unused modules since currently referrence counter isn't reliable and
14852 there isn't much memory to recover there anyway.
14853
57688121
VS
148542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14855
14856 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14857 rather than resetting it to allow modules to reference themselves
14858 in init.
14859
3d2c7e35
VS
148602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14863 counter on dependencies since grub_dl_unref already handles this.
14864
b25db218
VS
148652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14868 on error if not already done.
14869
25a45338
VS
148702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 Fix few potential memory misusage.
14873
14874 * grub-core/font/font.c (load_font_index): Don't free char_index to
14875 avoid double free.
b25db218
VS
14876 (grub_font_load): Zero-fill font at alloc for safety.
14877 Close file on error.
14878 (free_font): Free bmp_idx.
25a45338 14879
0cac83df
VS
148802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 * docs/grub.texi (Installation): Fix several outdated claims.
14883
2217a143
VS
148842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 Handle module_license on windows.
14887
14888 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14889 sections shifted.
14890 (insert_string): Make argument const char * instead of char *.
14891 (write_section_data): Handle long section names.
14892 Handle module_license.
14893
d4de6b01
VS
148942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14897 handle class-free menuentries.
14898 (grub_normal_add_menu_entry): Add a check to be sure.
14899
4c2a3b43
VS
149002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14903 PgUp and PgDown.
14904
85c6210f
VS
149052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * configure.ac: Bump version to 1.99.
14908
36084912
VS
149092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 Give ATA device a bit more time on first try in order to allow disks
14912 to spin up.
14913
14914 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14915 if dev->present is 1. Reset dev->present on failure.
14916 (grub_ata_device_initialize): Set dev->present to 1.
14917 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14918 (grub_ata_device): New member 'present'.
14919
bda0e219
VS
149202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * util/grub-mkimage.c (generate_image): Update hash.
14923
19e1c41b
VS
149242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 Flush caches on DMA memory.
14927
14928 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14929 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14930 (grub_dma_free): Likewise.
14931 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14932
91bbcc0c
VS
149332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14936 to avoid asm treating ld and sd as macros.
14937
60ddfad3
VS
149382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14941 decompressor.
14942
a298aa04
VS
149432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14946 grub_decompress_core since later would fail if grub_decompress_core
14947 is too far.
14948
9b44feca
VS
149492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14952 R_MIPS_JALR since it's used by newer compiler.
14953
56dbe7b4
VS
149542011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14957
52856af2
VS
149582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14961 file_path to 0 for surety.
14962 (grub_chainloader_boot): Set exit_data to NULL.
14963 Unset the loader once done.
14964 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14965
9c9bfc6d
VS
149662011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14969 unknown key into a dprintf.
14970
dd94a3df
VS
149712011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14974 on first non-existant partition.
14975
fa68d99c
VS
149762011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14977
14978 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14979 openning fails.
14980 Reported by: Mark Korenberg.
14981
157effb7
VS
149822011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14985 overflow.
14986
ea75312f
VS
149872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14990 before closing to ensure that it will be readable by grub-setup.
14991
072b5d31
VS
149922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14995 (devpath_1): Use MAKE_PIWG_PATH.
14996 (devpath_2): Likewise.
14997 (devpath_3): Likewise.
14998 (devpath_4): Likewise.
14999 (devpath_5): Likewise.
15000 (devpath_6): Likewise.
15001
15002 The appleldr.mod was checked that to be binary identical to previous
15003 version.
15004
7fae0051
Z
150052011-05-05 Zach <mikezackles>
15006
15007 Support 2010 Macbooks.
15008
15009 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15010 (devs): Add devpath_6.
15011
7c515bee
VS
150122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15015 /dev/random. /dev/urandom is good enough for our purposes (salting).
15016
ed660bd8
VS
150172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15020
ee5614b7
VS
150212011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15024 hexadecimal.
15025
664889a6
VS
150262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15029 and not 0 on failure.
15030
bd405bbc
CW
150312011-05-03 Colin Watson <cjwatson@ubuntu.com>
15032
15033 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15034 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15035 disk; otherwise grub_fs_probe will not fall back to the next
15036 filesystem.
15037 (grub_pxefs_open): Likewise, for consistency.
15038 Reported and tested by: Ezekiel Grave.
15039
4ebff753
CW
150402011-05-03 Colin Watson <cjwatson@ubuntu.com>
15041
15042 * tests/partmap_test.in: Don't hardcode path to parted.
15043 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15044
8f942553
CW
150452011-05-01 Colin Watson <cjwatson@ubuntu.com>
15046
15047 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15048 of `ls' to find out which devices are available.
15049
3c62402d
VS
150502011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15053 than source address for efi mmap buffer.
15054
723f63f2
VS
150552011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15058 wrong action on non-detecting the magic.
15059
68797f92
VS
150602011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15063 already supplied by another part of the module (fixes compilation on
15064 FreeBSD).
15065
6be8715d
VS
150662011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15069 match the one used by mdadm.
15070
e91dba5b
CW
150712011-04-21 Colin Watson <cjwatson@ubuntu.com>
15072
15073 * po/README: Add instructions for creating po/LINGUAS.
15074
c85140b3
CW
150752011-04-21 Colin Watson <cjwatson@ubuntu.com>
15076
15077 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15078 #551428.
15079
15080 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15081 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15082 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15083 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15084 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15085 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15086 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15087 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15088 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15089 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15090 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15091 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15092 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15093 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15094 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15095 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15096 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15097 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15098 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15099 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15100 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15101 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15102
92051871
CW
151032011-04-21 Colin Watson <cjwatson@ubuntu.com>
15104
15105 * grub-core/kern/emu/getroot.c
15106 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15107 test that was incorrectly reintroduced in r3214.
15108 Reported by: Ian Dall. Fixes Savannah bug #33133.
15109
b13f79a4
CW
151102011-04-21 Colin Watson <cjwatson@ubuntu.com>
15111
15112 Fix stack pointer handling in 16-bit relocator.
15113
15114 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15115 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15116 Fixes Ubuntu bug #683904.
15117
9b710a88
VS
151182011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 * configure.ac: Bump version to 1.99~rc2.
15121
d97e7b59
VS
151222011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15125 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15126 * grub-core/lib/x86_64/setjmp.S: Likewise.
15127 * grub-core/lib/mips/setjmp.S: Likewise.
15128 * grub-core/lib/powerpc/setjmp.S: Likewise.
15129 * grub-core/lib/sparc64/setjmp.S: Likewise.
15130
0624551c
VS
151312011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15134 * grub-core/lib/efi/datetime.c: Likewise.
15135
e8f28d4c
VS
151362011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15139 New function.
15140 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15141 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15142 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15143
bba79a15
VS
151442011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15145
15146 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15147 bitmap.
15148 (grub_gfxterm_term_init): Likewise.
15149
abc474ef
VS
151502011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 Take into account the decorations the computing menu entry width.
15153
15154 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15155 (grub_gfxmenu_create_box): Register get_border_width.
15156 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15157 if available.
15158 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15159 get_border_width.
15160
e74b3947
EP
151612011-04-18 Endres Puschner <code@e7p.de>
15162
15163 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15164 Don't skip first class.
15165
34faa595
VS
151662011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15167
15168 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15169 chunks.
15170 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15171
93a777e3
VS
151722011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 Complete 64-bit division support.
15175
15176 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15177 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15178 * include/grub/misc.h (grub_divmod64): Rename to ...
15179 (grub_divmod64_full): ... this.
15180 (grub_divmod64): New inline function.
15181
a5102d94
VS
151822011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15185
f3fb7b36
VS
151862011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15189 performing the necessary test.
15190
9ac718b0
VS
151912011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15194 (kfreebsd.elf): Likewise.
15195 (pc-chainloader.elf): Likewise.
15196 (ntldr.elf): Likewise.
15197
50d2cc5a
VS
151982011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 Identify RAID by its UUID rather than (guessed) name.
15201
15202 * grub-core/disk/raid.c (ascii2hex): New function.
15203 (grub_raid_open): Accept mduuid/%s specification.
15204 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15205 (get_mdadm_uuid): ... this.
15206 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15207
e03f7bea
VS
152082011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15211 to negative size.
15212
e74c3112
CW
152132011-04-13 Colin Watson <cjwatson@ubuntu.com>
15214
15215 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15216 btrfs subvolume.
15217 * util/grub.d/20_linux_xen.in: Likewise.
15218
78fa584f
CW
152192011-04-13 Colin Watson <cjwatson@ubuntu.com>
15220
15221 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15222 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15223
15224 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15225 Build a list of relevant visible mounts using the mnt_id and
15226 parent_mnt_id fields, and then scan that list at the end.
15227
9d5f8162
CW
152282011-04-12 Colin Watson <cjwatson@ubuntu.com>
15229
15230 * docs/grub.texi (normal): New section.
15231 (normal_exit): New section.
15232 (Embedded configuration): Add reference to normal.
15233 (GRUB only offers a rescue shell): Likewise.
15234 * docs/grub-dev.texi (Error Handling): Fix typo.
15235
09a9d66f
CW
152362011-04-12 Colin Watson <cjwatson@ubuntu.com>
15237
15238 * NEWS: Drop obsolete entry about probe-only btrfs support.
15239
0c676933
CW
152402011-04-12 Colin Watson <cjwatson@ubuntu.com>
15241
15242 * util/import_gcry.py: Fix typo.
15243
ec9f5e0d
VS
152442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 * NEWS: Add btrfs support.
15247
fe6b2cba
VS
152482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
152492011-04-11 Colin Watson <cjwatson@ubuntu.com>
15250
15251 BtrFS support. Written by me (Vladimir) with important bugfixes and
15252 even more important testing by Colin.
15253
15254 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15255 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15256 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15257 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15258 mem_input_off and mem_input. All users updated to accept in-RAM input.
15259 (gzio_seek): New function.
15260 (test_zlib_header): Likewise.
15261 (grub_gzio_read): Likewise.
15262 (grub_zlib_decompress): Likewise.
15263 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15264 Accept partial and non-virtual mounts.
15265 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15266 avoid receiving /dev/dm-X as device.
15267 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15268 Handle bind and partial mounts.
15269 * grub-core/lib/crc.c: New file.
15270 * include/grub/deflate.h: Likewise.
15271 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15272 proto.
15273 * include/grub/lib/crc.h: New file.
15274
e745cf0c
VS
152752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 Implement automatic module license checking according to new GNU
15278 guidelines.
15279
15280 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15281 (grub_dl_load_core): Use grub_dl_check_license.
15282 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15283 (GRUB_MOD_LICENSE): Likewise.
15284 (GRUB_MOD_DUAL_LICENSE): Likewise.
15285 All modules updated.
15286
2a9bc016
CW
152872011-04-11 Colin Watson <cjwatson@ubuntu.com>
15288
15289 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15290 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15291 loaders.
15292 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15293
8a3bc88e
VS
152942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15297
af869a4a
VS
152982011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15301 failed.
15302
9ee8d94f
VS
153032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15304
15305 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15306 parenthesis in the middle of the filename.
15307
b01abe3e
VS
153082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15311 rather than trying to put initrd way too high.
15312 Reported by: Ryan Lortie <desrt@desrt.ca>
15313
335bda1e
VS
153142011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15317 improperly removed string.
15318
5ca1a64d
VS
153192011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15320
15321 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15322 is_disk.
15323 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15324 (open_device) Likewise.
15325 (grub_util_biosdisk_close): Likewise.
d8ce9995 15326 Reported by: Mark Korenberg.
5ca1a64d 15327
cbac5b1e
AK
153282011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15329
15330 * util/grub-mkconfig_lib.in: Add missing quotes.
15331
088cdb65
CW
153322011-04-10 Colin Watson <cjwatson@ubuntu.com>
15333
15334 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15335 is NULL.
15336
8b8a81fa
VS
153372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15338
15339 Dynamically count the number of lines for the lower banner.
15340
15341 * grub-core/normal/menu_entry.c (per_term_screen): New member
15342 num_entries.
15343 (print_down): Use num_entries.
15344 (update_screen): Likewise.
15345 (grub_menu_entry_run): Set num_entries.
15346 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15347 num_entries.
15348 (grub_print_message_indented): Move real part to ...
15349 (grub_print_message_indented_real): ... here. Additional argument
15350 dry_run.
15351 (draw_border): Additional argument num_entries.
15352 (print_message): Additional argument dry_run.
15353 (print_entries): Receive menu viewer data.
15354 (grub_menu_init_page): New argment num_entries.
15355 (menu_text_set_chosen_entry): Use num_entries.
15356 (grub_menu_try_text): Likewise.
15357 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15358 All users updated.
15359 (grub_ucs4_count_lines): New function.
15360 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15361 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15362 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15363 (grub_term_border_height): Likewise.
15364 (grub_term_num_entries): Likewise.
15365
277f955b
VS
153662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15369 Remove now unused string.
15370
536ce85a
CW
153712011-04-09 Colin Watson <cjwatson@ubuntu.com>
15372
15373 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15374 build system.
15375 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15376
15377 (Comment): Fix typo.
15378 (Getting started): General copy-editing.
15379 (Typical Development Experience): Likewise.
15380 (Error Handling): Likewise.
15381 (Video API): Likewise.
15382
2cf09e32
CW
153832011-04-09 Colin Watson <cjwatson@ubuntu.com>
15384
15385 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15386 throughout.
15387
1ec652f4
VS
153882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15391 directory.
15392
2c583728
CW
153932011-04-08 Colin Watson <cjwatson@ubuntu.com>
15394
15395 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15396 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15397 "development".
15398
d7a565e9
VS
153992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15402 grub_strcpy since the lines aren't necessarily 0-terminated.
15403
7c2e4909
VS
154042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15407 root on legacy.
15408
34c09785
VS
154092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15412 (GRUB_MOD_INIT): DEVICE isn't optional.
15413
6a6f8058
VS
154142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15417 word on new line if it's too long anyway. Fixes a hang.
15418
2e335e90
VS
154192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15422 const.
15423 * util/grub-setup.c (main): Reuse md device name if available.
15424 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15425 not GRUB name as argument.
15426 Based on patch by: Florian Wagner <fwagner>.
15427
10a7a867
VS
154282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15431 Place mbi on low memory for better compatibility.
15432
7a3d6cd9
VS
154332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15436
18dd6b47
VS
154372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
154382011-04-08 Colin Watson <cjwatson@ubuntu.com>
15439
15440 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15441 * conf/Makefile.common: Likewise.
18dd6b47 15442
3c0e3f14
VS
154432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15444
f7148863
VS
15445 * grub-core/normal/menu.c: Add missing include.
15446
154472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15450
6d1fa41f
MZ
154512011-04-08 Martin Zuther <mzuther@mzuther.de>
15452
15453 * util/grub-mkconfig.in: Ignore emacsen backup.
15454
478182a8
VS
154552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15456
15457 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15458 on open.
15459 (grub_util_biosdisk_close): Likewise.
15460
72a89a54
VS
154612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15464 const attribute and use grub_isdigit.
15465
b5ebecfa
A
154662011-04-06 Andrey <dev_null@ukr.net>
15467
15468 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15469 gcc warning.
15470
7755f66e
VS
154712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15474 useful grub_dprintf's.
15475
461121ff
VS
154762011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15479
2a961775
VS
154802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15483
adf594cc
VS
154842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 Output errors if theme loading failed.
15487
15488 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15489 grub_gfxterm_fullscreen on error paths to ...
15490 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15491 theme loading error.
15492
665900a3
VS
154932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15496 space for older compilers.
15497 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15498
a562b479
VS
154992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15502 and report them as not RAID members since they are useless for GRUB.
15503 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15504
850e9373
VS
155052011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 Increase LVM implementation robustness in order not to crash on
15508 configurations like pvmove. Previously code assumed that in some places
15509 only lvs or only pvs are used whereas it seems that they are used
15510 interchangeably.
15511
15512 * grub-core/disk/lvm.c (read_node): New function.
15513 (read_lv): Use read_node.
15514 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15515 Match volumes only at the end when all lvs are found. Take both
15516 pvs (first) and lvs (second) into account.
15517 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15518 mirror_* into node_*. All users updated.
15519 (grub_lvm_stripe): Merge this ...
15520 (grub_lvm_mirror): ... and this ...
15521 (grub_lvm_node): ... into this. All users updated.
15522
6f332153
VS
155232011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15524
15525 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15526 of function to allow further scanning for LVMs.
15527
829ea451
VS
155282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15531 on failed seek as it breaks open fd reusage.
15532
09ceb9a5
VS
155332011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * util/grub-install.in: Add a recommendation to use --recheck before
15536 reporting bugs.
15537
67e11623
VS
155382011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15541 are obtained.
15542
caee5efd
VS
155432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 GRUB developper manual based on existing Internals section and
15546 contributions by the various authors with active copyright assignment.
15547
15548 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15549 * docs/font_char_metrics.png: New file.
15550 * docs/font_char_metrics.txt: Likewise.
15551 * docs/grub-dev.texi: Likewise.
15552 * docs/grub.texi (Internals): Move from here ...
15553 * docs/grub-dev.texi: ... here.
15554
2cccc747
CW
155552011-04-01 Colin Watson <cjwatson@ubuntu.com>
15556
15557 Store the loopback device as data on loopback grub_disk structures,
15558 rather than the file it points to. This fixes use of freed memory
15559 if an existing loopback device is replaced.
15560
15561 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15562 disk->data, not dev->file.
15563 (grub_loopback_read): Adjust file assignment to match.
15564 Fixes Ubuntu bug #742967.
15565
186ae367
CW
155662011-04-01 Colin Watson <cjwatson@ubuntu.com>
15567
15568 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15569 when replacing an existing device.
15570
cfed2ad0
VS
155712011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15574 memory corruptions.
15575
15576 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15577 unsigned.
15578 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15579 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15580 (grub_jfs_read_inode): Likewise.
15581 (grub_jfs_opendir): Likewise. Remove now useless casts.
15582 (grub_jfs_getent): Likewise.
15583 Make ino a grub_uint32_t rather than int.
15584 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15585 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15586 division and module with bit operations.
15587 (grub_jfs_find_file): Make ino a grub_uint32_t.
15588 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15589
05d2ed32
CW
155902011-04-01 Colin Watson <cjwatson@ubuntu.com>
15591
15592 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15593 warning. (This was in fact always initialised before use, but GCC
15594 wasn't smart enough to prove that.)
15595 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15596
91dc6073
VS
155972011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15600 stack alignment.
15601 (efi_wrap_1): Likewise.
15602 (efi_wrap_2): Likewise.
15603 (efi_wrap_3): Likewise.
15604 (efi_wrap_4): Likewise.
15605 (efi_wrap_5): Likewise.
15606 (efi_wrap_6): Likewise.
15607 (efi_wrap_10): Likewise.
15608 Based on information by: Red Hat/Peter Jones.
15609
a8afc1d1
CW
156102011-03-31 Colin Watson <cjwatson@ubuntu.com>
15611
15612 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15613 set-but-not-used variable.
15614
a826cc7d
CW
156152011-03-31 Colin Watson <cjwatson@ubuntu.com>
15616
15617 * docs/grub.texi (Simple configuration): Be more explicit about
15618 GRUB_DEFAULT, and add an example.
15619 Reported by: Leslie Rhorer.
15620
875b67ba
CW
156212011-03-30 Colin Watson <cjwatson@ubuntu.com>
15622
15623 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15624 shell".
15625
fd7cd914
AS
156262011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15627
15628 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15629 * util/grub.d/20_linux_xen.in: Likewise.
15630
090b1b6a
VS
156312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * util/grub.d/10_linux.in: Try alternative config filenames where
15634 we parse config file.
15635 * util/grub.d/20_linux_xen.in: Likewise.
15636
baad885c
AS
156372011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15638
15639 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15640 * util/grub.d/20_linux_xen.in: Likewise.
15641
241e41f5
VS
156422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 * grub-core/disk/raid.c (insert_array): Add few potentially
15645 useful grub_util_info.
15646 (grub_raid_register): Likewise.
15647
56445fb2
VS
156482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15651 Preserve partition number in mdadm code path.
15652
c871b1c6
VS
156532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15656 few potentially useful grub_util_info.
15657
5e631b4f
CW
156582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15661
2d5d0333
CW
156622011-03-30 Colin Watson <cjwatson@ubuntu.com>
15663
15664 * docs/grub.texi (default): Use @example rather than nested
15665 itemized lists to avoid breaking gendocs.
15666
3d7ed04e
CW
156672011-03-30 Colin Watson <cjwatson@ubuntu.com>
15668
15669 * docs/grub.texi (Future): Update.
15670
abf04200 156712011-03-30 Colin Watson <cjwatson@ubuntu.com>
15672
15673 * docs/grub.texi (Environment): New chapter.
15674 (Changes from GRUB Legacy): Link to "Environment block" section for
15675 details of limitations.
15676 (Simple configuration): Likewise. Link to documentation of gfxmode
15677 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15678 respectively.
15679 (Shell-like scripting): Note that normal variables are stored in the
15680 environment.
15681 (gettext): Link to documentation of lang and locale_dir.
15682 (list_env): New section.
15683 (load_env): New section.
15684 (save_env): New section.
15685
15686 (Reporting bugs): Fix typo.
15687
e1ad0edd
VS
156882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15689
15690 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15691 the example.
15692
5d803174
VS
156932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 * grub-core/term/at_keyboard.c (set_scancodes)
15696 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15697
2a2da1d0
CW
156982011-03-30 Colin Watson <cjwatson@ubuntu.com>
15699
15700 * docs/grub.texi (Menu-specific commands): Remove some semantics
15701 that were true in GRUB Legacy but not in GRUB 2.
15702 (submenu): New section.
15703 (false): New section.
15704 (read): New section.
15705 (true): New section.
15706
a7527639
CW
157072011-03-30 Colin Watson <cjwatson@ubuntu.com>
15708
15709 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15710
157112011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
15712
15713 * docs/grub.texi (Simple configuration): Explain some of the
15714 current limitations of grub-mkconfig.
8a748df2 15715 Reported by: Leslie Rhorer.
e30af029 15716
fc858482
VS
157172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 Old macs search for boot.efi rather than for bootia32.efi.
15720
15721 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15722 * util/grub-mkrescue.in: Likewise.
15723 Suggested by: Peter Jones.
15724
e1eb511d
VS
157252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15728
70e75364
VS
157292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15730
15731 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15732 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15733 (grub_lvm_mirror): New struct.
15734 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15735 (grub_lvm_iterate): Iterate only visible volumes.
15736 (grub_lvm_read): Factor out to ..
15737 (read_lv): ... this. Support mirrors.
15738 (grub_lvm_read): New wrapper function.
15739 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15740 stripped or mirrored.
15741
fc18f6a3
VS
157422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15745
5c650f4c
CW
157462011-03-29 Colin Watson <cjwatson@ubuntu.com>
15747
15748 * docs/grub.texi (loopback): New section.
15749
61d7156b
CW
157502011-03-29 Colin Watson <cjwatson@ubuntu.com>
15751
15752 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15753 removed -p option.
15754
994b8264
CW
157552011-03-29 Colin Watson <cjwatson@ubuntu.com>
15756
15757 * docs/grub.texi (BIOS installation): New section, partly based on
15758 previous text in other sections.
15759 (Installing GRUB using grub-install): Replace BIOS discussion with a
15760 cross-reference.
15761 (Images): Likewise.
15762
9e4d19e0
VS
157632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15766 [HAVE_DIOCGDINFO]: Add safety checks.
15767
a307c0b2
VS
157682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15771 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15772
b4db4f39
CW
157732011-03-29 Colin Watson <cjwatson@ubuntu.com>
15774
15775 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15776 real_sb->size is zero (e.g. RAID-0), get the disk size from
15777 real_sb->data_size instead.
15778 Fixes Ubuntu bug #743136.
15779
35e5f84c
VS
157802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15783 printf clauses for printing size and start.
15784
d2e29d81
VS
157852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15788 Reported and tested by: Timothy Nikkel.
15789
ed5587af
VS
157902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15793 (dirty_region_add_real): ... this.
15794 (dirty_region_add): Don't discard margin refresh when performing
15795 scheduled repaint.
15796
a1dc717c
VS
157972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 * grub-core/lib/relocator.c (allocate_regstart)
15800 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15801 terminals are capabple of malloc-free operation.
15802 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15803 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15804
9f3677d3
VS
158052011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15806
15807 * util/grub-setup.c: Copy the partition table zone if floppy support
15808 is disabled, even if no partition table is found.
15809
15810 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15811 during POST if an invalid partition table is contained in the PBR
15812 of the active partition when GRUB is installed to a partition.
15813
24148725
CW
158142011-03-28 Colin Watson <cjwatson@debian.org>
15815
15816 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15817 comment.
15818
f329eda7
CW
158192011-03-28 Colin Watson <cjwatson@debian.org>
15820
15821 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15822 to be specific about what kind of RAID device we're scanning for.
15823
c482ad98
SG
158242011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15825
15826 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15827 return freed string.
15828
5ee04984
VS
158292011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15832
f4727da9
VS
158332011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 Use libgeom on FreeBSD to detect partitions.
15836
15837 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15838 (grub-mkrelpath): Likewise.
15839 (grub-script-check): Likewise.
15840 (grub-editenv): Likewise.
15841 (grub-mkpasswd-pbkdf2): Likewise.
15842 (grub-fstest): Likewise.
15843 (grub-mkfont): Likewise.
15844 (grub-mkdevicemap): Likewise.
15845 (grub-probe): Likewise.
15846 (grub-setup): Likewise.
15847 (grub-ofpathname): Likewise.
15848 (grub-mklayout): Likewise.
15849 (example_unit_test): Likewise.
15850 (grub-menulst2cfg): Likewise.
15851 * grub-core/Makefile.core.def (grub-emu): Likewise.
15852 (grub-emu-lite): Likewise.
15853 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15854 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15855 define HAVE_DIOCGDINFO.
15856 (follow_geom_up) [FreeBSD]: New function.
15857 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15858 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15859 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15860 unconditionally of HAVE_DIOCGDINFO.
15861
82fe6c75
VS
158622011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 Fix FreeBSD compilation problem.
15865
15866 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15867 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15868
4c6c9431
CW
158692011-03-24 Colin Watson <cjwatson@ubuntu.com>
15870
15871 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15872 Switch back to page zero before loading a kernel, since some kernel
15873 drivers expect that.
15874 Thanks to: Felix Kuehling.
15875
c7064d94
VS
158762011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15879 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15880 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15881
3f71cded
VS
158822011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15885 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15886
ef6de21a
VS
158872011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15890 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15891 malloc is disabled.
15892
8bc66a2c
VS
158932011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15896 for modules headers when counting the needed allocation size.
15897
5657722c
VS
158982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15901 if no ASCII character is found to prevent crash.
15902
41a85f55
AK
159032011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15904
15905 * grub-core/video/bitmap.c (match_extension): Ignore case.
15906
59e1e5f1
VS
159072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15910
bd4d051a
VS
159112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * grub-core/script/parser.y: Declare "time" as valid argument.
15914
bae7fcc1
PJ
159152011-03-23 Peter Jones <pjones@redhat.com>
15916
15917 Fix incorrect assert failure reporting.
15918
15919 * grub-core/tests/example_functional_test.c (example_test): Add
15920 a failure comment.
15921 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15922 (failure_start): ...this. Check that malloc succeeded.
15923 Don't call xvasprintf. Return failure struct.
15924 (failure_append_vtext): New function.
15925 (failure_append_text): Likewise.
15926 (add_failure): Likewise.
15927 (grub_test_assert_helper): Likewise.
15928 * include/grub/test.h (grub_test_assert_helper): New declaration.
15929 (grub_test_assert): Macro rewritten.
15930
537dc9be
VS
159312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15934
fa3e01bf
VS
159352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15938
b1d28404
VS
159392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15942 into GRUB-style one.
15943
2e3e2e09
VS
159442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15947 error and not grub_errno.
15948 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15949
ed57e557
VS
159502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15953 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15954
d1611f01
VS
159552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * grub-core/efiemu/i386/pc/cfgtables.c
15958 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15959 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15960 (grub_xnu_unlock): Likewise.
15961 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15962
7d4e39d6
VS
159632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15966 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15967 * grub-core/commands/hashsum.c (aliases): Likewise.
15968 * grub-core/commands/setpci.c (pci_registers): Likewise.
15969 * grub-core/disk/usbms.c (attach_hook): Likewise.
15970 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15971 (zio_checksum_table): Likewise.
15972 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15973 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15974 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15975 * grub-core/lib/relocator.c (leftovers): Likewise.
15976 (extra_blocks): Likewise.
15977 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15978 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15979 (modules_last): Likewise.
15980 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15981 (devices): Likewise.
15982 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15983 (modules_last): Likewise.
15984 * grub-core/normal/auth.c (users): Likewise.
15985 * grub-core/normal/context.c (initial_menu): Likewise.
15986 (current_menu): Likewise.
15987 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15988 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15989 (grub_serial_terminfo_input_template): Likewise.
15990 (grub_serial_terminfo_output_template): Likewise.
15991 (grub_serial_terminfo_input): Likewise.
15992 (grub_serial_terminfo_output): Likewise.
15993 (registered): Likewise.
15994 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15995
40fc4659
VS
159962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15999 grub_video_mode_type_t.
16000 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16001 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16002 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16003
2da48d28
VS
160042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 * util/grub-install.in: Correct the x86-64 name as x86_64.
16007
9b43bf39
CW
160082011-03-11 Colin Watson <cjwatson@ubuntu.com>
16009
16010 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16011 initial chunk read from the kernel always includes GRUB's multiboot
16012 header, which is now outside the first sector.
16013
be1a7ce0
CW
160142011-03-09 Colin Watson <cjwatson@ubuntu.com>
16015
16016 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16017 cached mmap_size, so that this works correctly when called multiple
16018 times.
16019 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16020
83a3c48d
CW
160212011-03-09 Colin Watson <cjwatson@ubuntu.com>
16022
16023 * docs/grub.texi (Simple configuration): Tidy up formatting.
16024
57d75699
SJ
160252011-03-07 Szymon Janc <szymon@janc.net.pl>
16026
16027 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16028 Set-but-not-used variable removed.
16029
028501a0
VS
160302011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 Workaround yet another IEEE1275 bug.
16033
16034 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16035 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16036 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16037 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16038 is set.
16039 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16040 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16041
d998657d
VS
160422011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16045 error.
16046
fee7cdd4
CW
160472011-02-11 Colin Watson <cjwatson@ubuntu.com>
16048
16049 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16050 empty, since in that case we can only generate either nothing or a
16051 syntactically invalid configuration file.
16052 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16053
97286eb5
CW
160542011-02-09 Colin Watson <cjwatson@ubuntu.com>
16055
16056 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16057 (Making a GRUB bootable CD-ROM): Likewise.
16058 (Invoking grub-mkrescue): New section.
16059 Reported by: Yann Dirson. Fixes Debian bug #612585.
16060
22b28eb3
CW
160612011-02-09 Colin Watson <cjwatson@ubuntu.com>
16062
16063 * util/grub-install.in: Remove unnecessary brackets from tr
16064 arguments.
16065 * util/grub.d/10_hurd.in: Likewise.
16066 * util/grub.d/10_kfreebsd.in: Likewise.
16067 * util/grub.d/10_linux.in: Likewise.
16068 * util/grub.d/20_linux_xen.in: Likewise.
16069 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16070
7e735e43
CW
160712011-02-08 Colin Watson <cjwatson@ubuntu.com>
16072
16073 * include/grub/file.h (not_easly_seekable): Rename to ...
16074 (not_easily_seekable): ... this. Update all users.
16075
800f1881
CW
160762011-01-28 Colin Watson <cjwatson@ubuntu.com>
16077
16078 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16079 grub-mkrescue.
16080
3281d3d6
VS
160812011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 * util/grub-mkimage.c (generate_image): Refuse to create the images
16084 bigger than the actual flash (512K) in Loongson machines. 512K is also
16085 the biggest chip supported by them.
16086
3533413c
VS
160872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16088
16089 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16090
73ae4f4f
VS
160912011-01-22 Anthony DeRobertis <anthony@derobert.net>
16092
16093 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16094 super_offset field.
16095
37f4f608
VS
160962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 * util/grub-install.in: Ignore install device on platforms
16099 where it doesn't make sense. Always use UUIDs except on pc, efi and
16100 sparc64.
16101 Reported by: Daniel Kahn Gillmor.
16102
03a4ccb5
VS
161032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16106
ffc8f4d8
VS
161072011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16110 (iterate_real): Don't rely on partition being non-NULL.
16111
80f23be7
VS
161122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16115 supported platforms. Put a compile time assert for this rather than
16116 generate a warning with 32-bit shift.
16117
5d4f4dd5
VS
161182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16121 logical expression more readable.
16122
e489601a
VS
161232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16124
16125 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16126 even if some elements have a name.
16127 Reported by: Alexander GQ Gerasiov.
16128
96e0a6ea
CW
161292011-01-22 Colin Watson <cjwatson@ubuntu.com>
16130
16131 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16132 path unreadable if `grub-probe -t abstraction' fails, for example if
16133 memberlist fails on an LVM volume group.
16134 Reported by: Darius Jahandarie.
16135
81431e2b
CW
161362011-01-22 Colin Watson <cjwatson@ubuntu.com>
16137
16138 * docs/grub.texi (Simple configuration): Document
16139 GRUB_PRELOAD_MODULES.
16140
5e79d66a
CW
161412011-01-17 Colin Watson <cjwatson@ubuntu.com>
16142
16143 * .bzrignore: Remove nonexistent grub-pbkdf2.
16144
646ada34
VS
161452011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * configure.ac: Bump version to 1.99~rc1.
16148
04360337
VS
161492011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16152 for safety.
16153
46c9db88
VS
161542011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16157 module.
16158
161592011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16160
16161 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16162
4fbf1852
VS
161632011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16166 diskdevid.
16167
f1632d4d
VS
161682011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Fix compilation on cygwin.
16171
16172 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16173 -R .drectve on cygwin.
16174 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16175 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16176 (COND_CYGWIN): New condition.
16177 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16178 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16179 not @TARGET_OBJ2ELF@.
16180 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16181 type to determine whether aux is to be used.
16182
0b5e127b
VS
161832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16186 realpath'ed device string.
16187 Handle floppy (somewhat).
16188 Issue error in unknown case rather than garbage.
16189 Reported by: Axel Beckert.
16190
173b71e9
VS
161912011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 * util/grub.d/00_header.in (load_video): Handle the case when no video
16194 drivers available.
16195 Thanks to: Axel Beckert.
16196
f8f479db
VS
161972011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16200 variable. Fixes problem on big endian platforms.
16201
8fc0a245
VS
162022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16205 It doesn't work well there.
16206
b8494fbe
VS
162072011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16210 warning.
16211 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16212 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16213 counter.
16214
b44a558c
VS
162152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16216
16217 Use alias->path rather than buggy "canon".
16218
16219 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16220 (ofdisk_hash_add): New argument curcan. All users updated.
16221
51fa856c
CW
162222011-01-11 Colin Watson <cjwatson@ubuntu.com>
16223
16224 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16225
9da068a5
VS
162262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16229 loadmask before doing any calculations. Use correct type for offset.
16230 (grub_linux_load64): Likewise.
16231
86205c94
CW
162322011-01-11 Colin Watson <cjwatson@ubuntu.com>
16233
16234 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16235 with NULL.
16236 (console_grub_equivalences_unshift): Likewise.
16237 Reported by: Daniel Dehennin.
16238
4531a206
VS
162392011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16240
16241 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16242 (set_env_limn_ro): Likewise.
16243 (GRUB_MOD_INIT): Likewise.
16244 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16245 ARRAY_SIZE while on it.
16246 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16247 * grub-core/normal/context.c (grub_env_export): Move from here ...
16248 * grub-core/kern/env.c (grub_env_export): ... here.
16249 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16250 prefix.
16251 * grub-core/kern/main.c (grub_main): Export root and prefix.
16252 * include/grub/env.h (grub_env_export): Export.
16253 Reported by: Seth Goldberg.
16254
45146057
VS
162552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16258 Take into account space used by ELF sections and multiboot palette.
16259 Reported by: Grégoire Sutre.
16260
f093110b
VS
162612011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * BUGS: New file.
16264
3395fe52
VS
162652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 Pass more appropriate video id to Linux.
16268
16269 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16270 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16271 fill have_vga.
16272 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16273 shift params->lfb_size.
16274 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16275
c2fa6cbb
VS
162762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16279
b3ff6ff0
VS
162802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16281
16282 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16283 separator and pass bootpath/devid even if only one of them is available.
16284 Reported by: Seth Goldberg.
16285
ae67942e
VS
162862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16289 implementations bug on them.
16290
16291 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16292 memory.
16293 (filter_memory_map): Likewise.
16294
d570097a
VS
162952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16298 Reported by: nebuchadnezzar.
16299
a508e776
VS
163002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16303 Reported by: nebuchadnezzar.
16304
dcb883b1
VS
163052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16306
16307 Submenu default support.
16308
16309 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16310 auto_boot. All users updated.
16311 Declared static.
16312 Handle chosen and default with submenus.
16313 (grub_menu_execute_with_fallback): Declared static.
16314 Don't notify failure if autobooted. Upper level does it.
16315 (menuentry_eq): New function.
16316 (get_entry_number): Use menuentry_eq.
16317 (show_menu): New parameter "autobooted". All users updated.
16318 (grub_show_menu): Likewise.
16319 * include/grub/normal.h (grub_show_menu): Likewise.
16320 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16321 (grub_menu_execute_with_fallback): Likewise.
16322
6fef99b4
VS
163232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * util/grub-mklayout.c (usage): Update help text.
16326
47a77af5
VS
163272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16330
ce6bb3ee
VS
163312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 * util/grub-menulst2cfg.c (main): Trim the line.
16334
db87be2a
VS
163352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16338 (grub_machine_init): Don't check amount of low memory as reportedly
16339 INT 12h can be broken and if low memory is too low we wouldn't have
16340 gotten into grub_machine_init anyway.
16341
c49849cc
VS
163422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16345 (grub_machine_mmap_iterate): Take low memory into account
16346
b1969b30
VS
163472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16348
16349 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16350 badfs.
16351 Reported by: TiCPU.
16352
cf0eaf13
VS
163532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16356 members errors.
16357
1f060f39
GS
163582011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16359
16360 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16361 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16362
a21e5672
GS
163632011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16364
16365 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16366 openbsd and netbsd types being in part_bsd module.
16367
c88172fa
VS
163682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16369
16370 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16371 (_FILE_OFFSET_BITS): Likewise.
16372 Reported by: Seth Goldberg.
16373
53798c4b
GS
163742011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16375
16376 * configure.ac: Check for libdevmapper header.
16377
e7121b69
VS
163782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16381 avoid aliasing.
16382 (fzap_lookup): Likewise.
16383 (dnode_get): Likewise.
16384 (make_mdn): Likewise.
16385 (zfs_mount): Likewise.
16386 (fzap_iterate): Use temporary pointer to avoid aliasing.
16387 (grub_zfs_read): Likewise.
16388 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16389 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16390 pointers to avoid aliasing.
16391 (grub_cmd_xnu_kernel64): Likewise.
16392 (grub_xnu_load_driver): Likewise.
16393
fc836af9
VS
163942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16397 aliasing warning.
16398 (grub_cmd_terminal_output): Likewise.
16399 Reported and tested by: Grégoire Sutre.
16400
f9f37648
VS
164012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16404 warning.
16405 Reported and tested by: Grégoire Sutre.
16406
ec1dfd63
VS
164072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * configure.ac: Do CPU substitution even if it's specified explicitly.
16410 Reported and tested by: Alain Greppin.
16411
9462775a
VS
164122011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16415 Reported and tested by: Alain Greppin.
16416
0fd48e35
VS
164172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 Satisfy some bison versions need for inttypes.h.
16420
16421 * grub-core/lib/posix_wrap/inttypes.h: New file.
16422 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16423 (int16_t): Likewise.
16424 (int32_t): Likewise.
16425 (int64_t): Likewise.
16426 Reported and tested by: Alain Greppin.
16427
43f1bc83
VS
164282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16431 Silence spurious warning.
16432 Reported and tested by: Alain Greppin.
16433
64d1f041
SJ
164342011-01-07 Szymon Janc <szymon@janc.net.pl>
16435
16436 * docs/grub.texi (Support automatic decompression): Update with xz
16437 decompression support.
16438
25953e10
SJ
164392011-01-07 Szymon Janc <szymon@janc.net.pl>
16440
16441 Improve loaders' kernel command line handling.
16442
16443 * grub-core/lib/cmdline.c: New file.
16444 * include/grub/lib/cmdline.h: Likewise.
16445 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16446 grub_create_loader_cmdline to create kernel command line.
16447 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16448 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16449 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16450 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16451 (linux): Add lib/cmdline.c on common.
16452
e72d259f
VS
164532011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16456 inopos might be unaligned.
16457
c0cf26da
VS
164582011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16461 endian transformations.
16462 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16463 Based on report by: Doug Nazar.
16464
0ca09e6c
DN
164652011-01-07 Doug Nazar <nazard.michi@gmail.com>
16466
16467 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16468 array->members[i].start_sector.
16469 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16470
014b6806
VS
164712011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16474 Reported and tested by: Grégoire Sutre.
16475
415502c2
CW
164762011-01-06 Colin Watson <cjwatson@ubuntu.com>
16477
16478 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16479 avoid causing test failures by clearing the screen.
16480
71b6a2b7
CW
164812011-01-06 Colin Watson <cjwatson@ubuntu.com>
16482
16483 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16484 Fix prefix check to handle the case where dir ends with a slash
16485 (most significantly, "/" itself).
16486 Reported by: Michael Vogt.
16487
b3f8d28a
VS
164882011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 Run terminfo_cls on initing terminfo output to clear the screen and
16491 move the cursor to (0,0).
16492
16493 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16494 Call grub_terminfo_output_init.
16495 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16496 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16497 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16498
4c3e4f37
VS
164992011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16502 only when needed.
16503
488f71f1
VS
165042011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16507 CTRL.
16508
18a38098
VS
165092011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 The E820 type 5 is BADRAM, not EXEC_CODE.
16512
16513 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16514 (GRUB_E820_BADRAM): New define.
16515 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16516 into reserved. Propagate BADRAM.
16517 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16518 (GRUB_E820_BADRAM): New define.
16519
9eae2084
VS
165202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16523 Ignore the memory post-4G.
16524 (grub_relocator_firmware_alloc_region): Additional debug statement.
16525
ebc71d28
VS
165262011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16529 names.
16530 Reported by: David Pravec.
16531
446fa400
VS
165322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16535 BIOSes.
16536
a0159f37
VS
165372011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16540 Prevent overflow.
16541 (grub_reed_solomon_recover): Likewise.
16542
e5146ca1
VS
165432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16546
165472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16548
16549 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16550 variable.
16551
5b1bdf12
CW
165522011-01-04 Colin Watson <cjwatson@ubuntu.com>
16553
16554 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16555 descriptions of extract_legacy_entries_source and
16556 extract_legacy_entries_configfile.
16557 Reported by: Seung Soo, Ha.
16558
99d925aa
CW
165592011-01-03 Colin Watson <cjwatson@ubuntu.com>
16560
16561 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16562 on devices that do not implement function 0.
16563
4af0504b
DV
165642011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16565
16566 * grub-core/fs/hfsplus.c: Make parent unsigned.
16567 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16568 overflows.
16569 (grub_hfsplus_cmp_extkey): Likewise
16570
469ee10a
VS
165712011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 * util/grub-install.in: Correctly use bootloader_id and not
16574 GRUB_DISTRIBUTOR on efibootmgr line.
16575
323a8e9c
VS
165762011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16577
16578 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16579
1b394975
IC
165802010-12-31 Ian Campbell <ijc@hellion.org.uk>
16581
16582 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16583 Xen and reorder menu item wording to make it clearer that this entry
16584 will launch Xen. Print separate messages when loading Xen and
16585 Linux.
16586
275bff5f
VS
165872010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16590 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16591 loop in case of incorrect amiga partmap.
16592
307806cb
VS
165932010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16596 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16597 Reported by:EHeM.
16598
b12b923e
VS
165992010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16602 spurious warning.
16603 Reported by: crocket
16604
14b48a19
VS
166052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16608 Preload EFIemu.
16609 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16610
693db2df
VS
166112010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16614 is loaded
16615 (grub_cmd_xnu_kextdir): Likewise.
16616 (grub_cmd_xnu_splash): Likewise.
16617
c7638645
VS
166182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 Avoid using Reed-Solomon with 0 redundancy.
16621
16622 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16623 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16624 or 0 redundancy.
16625 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16626 (grub_reed_solomon_recover): Likewise.
16627
25dd4780
VS
166282010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 Don't use disk subsystem in freebsd_boot.
16631
16632 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16633 (freebsd_biosdev): Likewise.
16634 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16635 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16636
0b2db943
VS
166372010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 Handling of files of unknown size is currently limited. They can't be
16640 used e.g. for initrd or modules. Moreover gzip handling of not
16641 easily seekable files is buggy. Disable unknown file size for now. May
16642 be inefficient but works.
16643
16644 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16645 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16646
5c408d0f
MP
166472010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16648
16649 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16650 floppy probe.
16651
190a011a
JD
166522010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16653
16654 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16655
022d01b8
SL
166562010-12-25 Shea Levy <shlevy>
16657
16658 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16659
c4855fdc
VS
166602010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16663 Windows Server 2008.
16664 Reported by: Devin Giddings.
16665
0354b867
VS
166662010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16669 writing an error message because of async power management.
16670 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16671 (grub_reboot): Likewise.
16672
ab66c69f
JU
166732010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16674
16675 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16676 keep unit tests from failing when they shouldn't.
16677
1426ef35
CW
166782010-12-21 Colin Watson <cjwatson@ubuntu.com>
16679
16680 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16681 previous patch increased the size of the RS code by 20 bytes (at
16682 least with gcc-4.4), so increase this by 20 bytes to match.
16683 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16684
20641b6b
CW
166852010-12-21 Colin Watson <cjwatson@ubuntu.com>
16686
16687 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16688 scratch area. Make sure to initialise chosen in standalone mode as
16689 well as non-standalone.
16690 Reported by: Robert Hooker and Andy Whitcroft.
16691 Tested by: Andy Whitcroft.
16692
d060ad60
CW
166932010-12-21 Colin Watson <cjwatson@ubuntu.com>
16694
16695 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16696 constructing a new unescaped string and passing it to grub_xputs in
16697 one go, rather than passing characters to grub_printf one at a time.
16698
b889cfad
CW
166992010-12-21 Colin Watson <cjwatson@ubuntu.com>
16700
16701 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16702 initialising utf16.
16703
4e01b6c8
CW
167042010-12-21 Colin Watson <cjwatson@ubuntu.com>
16705
16706 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16707 comment. Add an extra layer of quotation, requiring the output of
16708 this function to be used in a printf format string.
16709 (gettext_printf): New function.
16710 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16711 Extract translatable strings from here-documents and use a temporary
16712 variable instead, so that xgettext can find them.
16713 * util/grub.d/10_kfreebsd.in: Likewise.
16714 * util/grub.d/10_linux.in: Likewise.
16715 * util/grub.d/20_linux_xen.in: Likewise.
16716
16717 * po/grub.d.sed: New file.
16718 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16719 arguments. Set c-format flags on all strings extracted from
16720 util/grub.d/ (xgettext refuses to include these itself for strings
16721 it extracted from a shell file, but these really are c-format).
16722
5318fe98
VS
167232010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16724
16725 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16726 Avoid next pointing to nowhere.
16727
6c85b743
VS
167282010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16731 rather than assuming than rootblock is exactly in the middle.
16732 (grub_affs_label): Likewise.
16733
a2a08a35
VS
167342010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16735
16736 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16737 reserved_first_sector to 0.
16738 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16739 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16740 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16741
7059d1ec
VS
167422010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 Fix handling of UTF-16 UDF labels.
16745
16746 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16747 (read_string): .. here.
16748 (grub_udf_label): Use read_string.
16749
30aff4cb
BC
167502010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16751
16752 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16753 editor under argument scope.
16754 Reported by: Jordan Uggla
16755
5cf86f4b
VS
167562010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16759
32570200
CW
167602010-12-18 Colin Watson <cjwatson@ubuntu.com>
16761
16762 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16763 line, and other keys scroll an entire page (previous handling was
16764 for \r and \n to scroll a page and other keys to scroll two lines).
16765
e1dffcf2
VS
167662010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16767
16768 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16769 Set ptrdest to correct get_physical_target_address rather than
16770 incorrect get_virtual_current_address.
16771
b04298cf 167722010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16773
16774 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16775 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16776
5367ecd3
CW
167772010-12-10 Colin Watson <cjwatson@ubuntu.com>
16778
16779 * .bzrignore: Ignore grub-core/rs_decoder.S.
16780
1fb430f8
CW
167812010-12-10 Colin Watson <cjwatson@ubuntu.com>
16782
16783 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16784 .mo/.mo.gz opening sequence to ...
16785 (grub_mofile_open_lang): ... here.
16786 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16787 * util/grub.d/00_header.in (grub_lang): Include country part of
16788 locale.
16789 Reported by: Mario Limonciello.
16790
a94a6671
RM
167912010-12-09 Robert Millan <rmh@gnu.org>
16792
16793 * NEWS: Document addition of ZFS support.
16794
24b7938b
CW
167952010-12-04 Colin Watson <cjwatson@ubuntu.com>
16796
16797 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16798 rather than `/ 2', as the latter requires -Wa,--divide which would
16799 require bumping our minimum binutils version.
16800
bddc3ef6
BC
168012010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16802
16803 * util/grub-script-check.c (main): Print script line number on
16804 error.
16805
bf78d5b2
RM
168062010-12-01 Robert Millan <rmh@gnu.org>
16807
16808 * grub-core/fs/zfs/zfs.c: New file.
16809 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16810 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16811 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16812 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16813
16814 * include/grub/zfs/dmu.h: Likewise.
16815 * include/grub/zfs/dmu_objset.h: Likewise.
16816 * include/grub/zfs/dnode.h: Likewise.
16817 * include/grub/zfs/dsl_dataset.h: Likewise.
16818 * include/grub/zfs/dsl_dir.h: Likewise.
16819 * include/grub/zfs/sa_impl.h: Likewise.
16820 * include/grub/zfs/spa.h: Likewise.
16821 * include/grub/zfs/uberblock_impl.h: Likewise.
16822 * include/grub/zfs/vdev_impl.h: Likewise.
16823 * include/grub/zfs/zap_impl.h: Likewise.
16824 * include/grub/zfs/zap_leaf.h: Likewise.
16825 * include/grub/zfs/zfs.h: Likewise.
16826 * include/grub/zfs/zfs_acl.h: Likewise.
16827 * include/grub/zfs/zfs_znode.h: Likewise.
16828 * include/grub/zfs/zil.h: Likewise.
16829 * include/grub/zfs/zio.h: Likewise.
16830 * include/grub/zfs/zio_checksum.h: Likewise.
16831
16832 * Makefile.util.def: Build ZFS into libgrubmods.
16833 * grub-core/Makefile.core.def: Build zfs.mod.
16834
3f0f3831
SJ
168352010-11-30 Szymon Janc <szymon@janc.net.pl>
16836
16837 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16838 variable.
16839 * grub-core/commands/wildcard.c (match_files): Likewise.
16840
3a4253b2
RM
168412010-11-30 Robert Millan <rmh@gnu.org>
16842
16843 * grub-core/loader/i386/bsd.c
16844 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16845 whether kernel is loaded using grub_loader_is_loaded(), rather
16846 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16847 certain error conditions.
16848
8c317b27
RM
168492010-11-30 Robert Millan <rmh@gnu.org>
16850
c5c9cd3e
RM
16851 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16852 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16853
49d3ab46
VS
168542010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 Avoid using tricks for initialising endian variables.
16857
16858 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16859 Make const.
16860 (GRUB_MOD_INIT): Don't byte-swap.
16861 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16862 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16863 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16864 (grub_swap_bytes32_compile_time): Likewise.
16865 (grub_cpu_to_le32_compile_time): Likewise.
16866 (grub_cpu_to_le16_compile_time): Likewise.
16867
f420a804
VS
168682010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * util/grub-setup.c (setup): Stop recommending --force. People who
16871 understand the dangers of blocklists are able to find this option
16872 anyway and the ones who don't shouldn't use it anyway.
16873
4e7db17b
RM
168742010-11-26 Robert Millan <rmh@gnu.org>
16875
16876 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16877 Update all users.
16878
9be57a0d
CW
168792010-11-26 Colin Watson <cjwatson@ubuntu.com>
16880
16881 Fix LVM-on-RAID probing.
16882
16883 * util/grub-probe.c (probe): Remember which disk was detected as
16884 RAID (perhaps an LVM physical volume). Use that disk's raidname
16885 rather than that of the top-level disk.
16886
2c7859b3 168872010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16888
d7647bb6
BC
16889 Fix cmdline argument quotes for setparams command of menuentry
16890 definitions.
7e623b0d
BC
16891
16892 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16893 quotes for arguments.
f866fe80 16894 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16895 grub_strchrsub function instead.
f866fe80 16896
7955bea0 16897 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16898
74f72a64
CW
168992010-11-24 Colin Watson <cjwatson@ubuntu.com>
16900
16901 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16902 effort by skipping "." and ".." entries up-front.
16903 Suggested by: Michael Lazarev.
16904
5a407278
CW
169052010-11-24 Colin Watson <cjwatson@ubuntu.com>
16906
16907 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16908 ldflags to ldadd, to fix link line ordering.
16909 (none_decompress): Likewise.
16910
3030d8ec
CW
169112010-11-24 Colin Watson <cjwatson@ubuntu.com>
16912
16913 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16914 platforms.
16915 (grub-emu-lite): Remove kern/emu/cache.S.
16916
b7fbac12
CW
169172010-11-23 Colin Watson <cjwatson@ubuntu.com>
16918
16919 * util/deviceiter.c (compare_devices): If the by-id link for a
16920 device couldn't be resolved, fall back to sorting by the by-id link
16921 rather than segfaulting.
16922 Reported and tested by: Daniel Mierswa.
16923
5225f328
CW
169242010-11-23 Colin Watson <cjwatson@ubuntu.com>
16925
16926 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16927 ldflags, to fix link line ordering.
16928
038b3ce8
CW
169292010-11-23 Colin Watson <cjwatson@ubuntu.com>
16930
16931 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16932 linkers are picky about this.
16933
bf16e98e
CW
169342010-11-23 Colin Watson <cjwatson@ubuntu.com>
16935
16936 * grub-core/Makefile.am (command.lst): Adjust sed expression
16937 ordering so that extended and priority commands aren't treated as
16938 ordinary commands.
16939
7242bab6
CW
169402010-11-23 Colin Watson <cjwatson@ubuntu.com>
16941
16942 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16943 Remove byte-swapping function calls, which are not valid in
16944 structure initialisers.
16945 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16946 non-const.
16947 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16948 grub_gpt_partition_type_bios_boot.
16949
14e8b279
CW
169502010-11-22 Colin Watson <cjwatson@ubuntu.com>
16951
16952 Fix test program build on GNU/kFreeBSD.
16953
16954 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16955 $(LIBNVPAIR)' library dependencies.
16956
e6f63338 169572010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16958
16959 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16960
cf8ffc38
CW
169612010-11-22 Colin Watson <cjwatson@ubuntu.com>
16962
16963 * util/grub-install.in: Remove excessive quoting that broke
16964 installations to RAID devices.
16965
7f8b0fd7
VS
169662010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16969 bootloader version instead of 0.
16970
dfd240b1
VS
169712010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16974 warning.
16975
7b61e609
VS
169762010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16979 retrieve the metadat sector if size isn't known.
16980 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16981
9dfe92d0
RM
169822010-11-18 Robert Millan <rmh@gnu.org>
16983
16984 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16985 with grub_memcmp().
16986
41cc919e
VS
169872010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16990 arrow.
16991 Reported by: Jordan Uggla.
16992
1afcc914
VS
169932010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 Make better UTF compliant.
16996
16997 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16998 sequences as incorrect.
16999 (grub_is_valid_utf8): Likewise.
17000 (grub_utf8_to_ucs4): Likewise.
17001 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17002 (grub_ucs4_to_utf8_alloc): Likewise.
17003 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17004
f1808884
VS
170052010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 Make legacy_source behave like source.
17008
17009 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17010 grub_show_menu.
17011 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17012
24ec575b
CW
170132010-11-16 Colin Watson <cjwatson@debian.org>
17014
17015 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17016 (-Wunused implies -Wunused-parameter, but not vice versa).
17017
72b7c7aa
CW
170182010-11-16 Colin Watson <cjwatson@ubuntu.com>
17019
17020 * configure.ac: Make error messages less confusing by testing for
17021 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17022 accepted, but produces a diagnostic if something else is wrong).
17023
e98937aa
VS
170242010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17025
17026 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17027 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17028 (now unused).
17029 (grub_keyboard_controller_init)
17030 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17031 read the initial state since controller isn't inited yet.
17032
f6bbabc3
VS
170332010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17036 allocate_regbeg may need to create new chunk header.
17037
22e7dbb2
VS
170382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 Fix quoting in legacy parser.
17041
17042 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17043 single quotes.
17044 (grub_legacy_parse): Likewise.
17045 Reported by: Jordan Uggla.
17046 Tested by: Jordan Uggla.
17047
03f80960
VS
170482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17049
17050 Don't add -lgcc on i386 and x86_64.
17051
17052 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17053 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17054 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17055
779dc15b
VS
170562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * configure.ac: Add -Wno-trampolines when supported.
17059
d20a3b37
MV
170602010-11-14 Modestas Vainius <modax@debian.org>
17061
17062 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17063 fakeraid.
17064
e5360933
GC
170652010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17066
17067 Add generic logical block size support for UDF.
17068
17069 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17070 (GRUB_UDF_BLKSZ): Removed.
17071 (struct grub_udf_data): New field "lbshift" to hold the logical block
17072 size of the file system in log2 format. All users updated.
17073 (sblocklist): Change type to unsigned.
17074 (grub_udf_mount): Change type of "sblklist" to unsigned.
17075 Move AVDP search before VRS recognition, because the latter requires
17076 knowledge of the logical block size, which is detected during the
17077 former.
17078 Detect and validate logical block size during AVDP search, adding
17079 support for block sizes 512, 1024 and 4096.
17080 Make VRS recognition independent of block size.
17081
cb0229c5
GC
170822010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17083
17084 Properly handle deleted files on UDF.
17085
17086 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17087 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17088 set.
17089
406858a8
GC
170902010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17091
17092 Support reading files larger than 2 GiB.
17093
17094 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17095 "offset" to grub_off_t.
17096 (grub_udf_read_file): Likewise for parameter "pos".
17097
130da6a7
VS
170982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17101 unavailable.
17102 (Simple configuration): Refer to Changes from GRUB Legacy about
17103 save_env availability.
17104
65e93f6b
VS
171052010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17106
17107 * util/grub-install.in: Ignore empty partition table detection
17108 instead of trying to include part_ module.
17109
1fd08bf1
VS
171102010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17113 LVM on RAID support.
17114
de1a024f
VS
171152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 Properly define WORDS_BIGENDIAN in wrapped environments.
17118
17119 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17120 definition.
17121 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17122
17123 Reported by: Manoel Rebelo Abranches.
17124 Tested by: Manoel Rebelo Abranches.
17125
bc5dd0b9
VS
171262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 * util/grub-mkconfig.in: Fix quoting.
17129
58c184be
VS
171302010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 Support big ext2 files.
17133
17134 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17135 (grub_ext2_read_block): Support triple indirect blocks.
17136 (grub_ext2_read_file): Use 64-bit types and read size_high.
17137 (grub_ext2_open): Read size_high.
17138 Reported by: Ximin Luo.
17139 Tested by: Manoel Rebelo Abranches.
17140
5f0c02b3
VS
171412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * util/grub-install.in: Handle filenames containing spaces.
17144 Reported by: Jordan Uggla.
17145 Tested by: Jordan Uggla.
17146
4417aae6
VS
171472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 * util/grub-mkconfig.in (grub_script_check): New variable.
17150 Use grub_script_check instead of grub-script-check.
17151 Reported by: Barry Jackson.
17152
7625a68e
VS
171532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 * docs/grub.texi (menu): Correct the order.
17156 Reported by: D. Hugh Redelmeier.
17157
10001ac5
VS
171582010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17161 jump.
17162
9c4cf53b
MRA
171632010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17164
10001ac5
VS
17165 * include/grub/elfload.h (grub_elf32_size): New parameter.
17166 All users updated.
9c4cf53b
MRA
17167 Return maximum segments alignment.
17168 (grub_elf64_size): Likewise.
17169 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17170 Return maximum segments alignment.
17171 (grub_elf64_size): Likewise.
17172 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17173 (grub_linux_claimmap_iterate): New function. Uses the
17174 "available" property in the "memory" node for memory allocation
17175 for kernel in the PowerPC loader.
9c4cf53b
MRA
17176 (grub_linux_load32): Correctly find linux entry point offset.
17177 (grub_linux_load64): Likewise.
17178
d2bf06bf
RM
171792010-11-07 Robert Millan <rmh@gnu.org>
17180
17181 On mips-yeeloong, build with -march=loongson2f when this flag is
17182 available (GCC >= 4.4).
17183 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17184 `-march=mips3'.
17185 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17186 or otherwise add -march=mips3.
17187
898c99a2
BC
171882010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17189
87220a68
BC
17190 Suppress shell expansion on echo '*' and echo "*" like cases.
17191 Reported by: Jordan Uggla.
898c99a2
BC
17192
17193 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17194 string arguments before shell expansion.
17195 * tests/grub_cmd_echo.in: New testcases.
17196
4f9b406a
RM
171972010-11-07 Robert Millan <rmh@gnu.org>
17198
17199 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17200 transition.
17201
80c6d25e
VS
172022010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * grub-core/kern/emu/hostdisk.c
17205 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17206
4a1a0153
VS
172072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17210 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17211 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17212
34706ddc
VS
172132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17216
6972dea9
VS
172172010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 * util/grub-install.in: Replace useless recomendation to pass
17220 --modules with a recomendation to report a bug.
17221
9c693bd6
VS
172222010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 Properly register serial terminfo.
17225 Reported by: Jordan Uggla
17226
17227 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17228 const.
17229 (grub_serial_terminfo_output_template): Likewise.
17230 (grub_cmd_serial): Register "serial" with terminfo.
17231 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17232 grub_serial_terminfo_output.
17233
6c9e4c0c
RM
172342010-11-05 Robert Millan <rmh@gnu.org>
17235
17236 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17237 needed).
17238
b9b3839f
RM
172392010-11-05 Robert Millan <rmh@gnu.org>
17240
17241 On Yeeloong, pass machine type information to Linux.
17242
17243 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17244 (LOONGSON_MACHTYPE): New macro, set to
17245 "machtype=lemote-yeeloong-2f-8.9inches".
17246 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17247 additional argument to Linux.
17248
1a3aaff4
RM
172492010-11-04 Robert Millan <rmh@gnu.org>
17250
17251 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17252 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17253 (its SATA disks are detected as slaveless IDE master drives on
17254 kFreeBSD).
17255 Reported by Carsten Aulbert.
17256
a75f4f62
CW
172572010-11-02 Colin Watson <cjwatson@ubuntu.com>
17258
17259 * util/bin2h.c (main): Fix spelling error in generated output.
17260
33b4b0c6
GS
172612010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17262
17263 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17264
2b36fbf4
VS
172652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17268 vga= option is supplied.
17269
74aaf558
VS
172702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17273 * util/grub.d/10_kfreebsd.in: Likewise.
17274 * util/grub.d/10_linux.in: Likewise.
17275 * util/grub.d/20_linux_xen.in: Likewise.
17276
6428dec3
VS
172772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17280 argument as an argument to no-argument option.
17281
f8729d98
VS
172822010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17283
17284 * util/grub.d/10_linux.in: Add missing load_video with explicit
17285 GRUB_GFXPAYLOAD_LINUX.
17286
89d68fa6
VS
172872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17290
3a1197cd
VS
172912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17292
17293 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17294 elements with invlid index.
17295 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17296 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17297 members.
17298 * include/grub/raid.h (grub_raid_member): New struct.
17299 (grub_raid_array): Transform devices and start_sector into usage of
17300 grub_raid_member. All users updated
17301 (allocated_devs): New member.
17302
71574288
VS
173032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17304
17305 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17306 is modified
17307
8d40ec65
BC
173082010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17309
17310 NetBSD build fix for getline function conflict from gnulib.
17311
17312 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17313 components that depend on gnulib headers.
17314 (libgrubmods.a): Renamed from earlier libgrub.a.
17315 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17316
95b9257e
VS
173172010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17320 install rather than creating a broken install.
17321
26c53dc6
VS
173222010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * util/grub-setup.c (argp): Remove misleading example of installing to
17325 a partition.
17326
4171b3c5
VS
173272010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 * util/grub-setup.c (setup): Clarify the error message.
17330
18568d18
VS
173312010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17334
4f6a2e21
VS
173352010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 * grub-core/kern/emu/misc.c
17338 (grub_make_system_path_relative_to_its_root)
17339 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17340
173412010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17342
17343 * grub-core/kern/emu/misc.c
17344 (grub_make_system_path_relative_to_its_root): Revert r2882.
17345
e138c458
VS
173462010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17349 useless field head. All users updated.
17350 (free_subchunk): Correct handling of IN_REGION subchunk.
17351
0cbcdf0e
CW
173522010-10-22 Colin Watson <cjwatson@ubuntu.com>
17353
17354 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17355 (Supported kernels): Likewise.
17356
b65ea155
GS
173572010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17358
17359 Make mktemp invocations portable.
17360
17361 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17362 exit if mktemp fails.
17363 * tests/grub_script_blockarg.in: Likewise.
17364 * tests/partmap_test.in: Likewise.
17365 * tests/util/grub-shell-tester.in: Likewise.
17366 * tests/util/grub-shell.in: Likewise.
17367 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17368 * Makefile.am: Likewise, and chain shell commands with `&&'
17369 instead of ';'.
17370 * util/grub-mkrescue.in: Use the same explicit template as above, and
17371 exit if mktemp fails.
17372
05f43cdd
BC
173732010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17374
17375 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17376 Linux kernel, reported by Dennis Schridde.
17377
800e6a9b
SJ
173782010-10-17 Szymon Janc <szymon@janc.net.pl>
17379
17380 * grub-core/normal/auth.c (grub_auth_check_authentication):
17381 Set-but-not-used variable removed.
17382
d82df574
VS
173832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17386 32-bit linux protocol.
17387
7bced458
VS
173882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17389
17390 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17391 cursor shape for sanity.
17392
5b027690
VS
173932010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * docs/grub.texi (Installation): Document buggy BIOS install.
17396
ba5f65cf
VS
173972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17398
17399 * docs/grub.texi (Installation): Indent.
17400
fdf2ec9c
VS
174012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * util/grub-setup.c (setup): New parameter allow_floppy.
17404 (arguments): New member allow_floppy.
17405 (argp_parser): Handle --allow-floppy.
17406 (main): Pass allow_floppy.
17407 * util/grub-install.in: New option --allow-floppy passed though to
17408 grub-setup.
17409
861dfd4c
VS
174102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 * util/grub-install.in: Handle partitionless disks.
17413
f77a8c24
VS
174142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 * util/grub-setup.c (setup): Don't clean blocklists before readability
17417 verfification.
17418
27d9ee32
VS
174192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 * docs/grub.texi (Installation): Document embedding zone. Remove
17422 obsolete grub-install example.
17423
6bdda8f8
SJ
174242010-10-16 Szymon Janc <szymon@janc.net.pl>
17425
17426 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17427 Set-but-not-used variable ifdef'ed.
17428 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17429 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17430 variable removed.
17431 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17432 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17433 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17434 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17435 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17436 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17437 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17438 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17439 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17440 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17441 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17442 Likewise.
17443
e19b016b
VS
174442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17445
17446 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17447 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17448 enum value.
17449
6c8d3002
VS
174502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17453 synonym to _S5_. Needed for some DSDTs.
17454
c32b51c9
VS
174552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17456
17457 Userspace ACPI parser debugging.
17458
17459 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17460 headers and add relevant defines. Don't include standard headers.
17461 (main) [GRUB_DSDT_TEST]: New function.
17462 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17463 Don't declare functions.
17464
fbfbeb39
VS
174652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17466
17467 Remove dead grub_efi_mm_fini.
17468
17469 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17470 (ALLOCATED_PAGES_SIZE): Likewise.
17471 (MAX_ALLOCATED_PAGES): Likewise.
17472 (allocated_pages): Likewise.
17473 (grub_efi_allocate_pages): Don't record allocated pages.
17474 (grub_efi_free_pages): Likewise.
17475 (grub_efi_mm_init): Likewise.
17476 (grub_efi_mm_fini): Removed.
17477
65f7ed7c
VS
174782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17479
17480 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17481 (grub_efi_mm_init): Take into account the memory map size increase.
17482
24977b44
VS
174832010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17486 (serial_hw_put): Wait based on real time rather than port reads. Don't
17487 roken ports.
17488 * include/grub/serial.h (grub_serial_port): New field broken.
17489
1eb01cd2
RM
174902010-10-16 Robert Millan <rmh@gnu.org>
17491
17492 * grub-core/kern/emu/misc.c
17493 (grub_make_system_path_relative_to_its_root): Fix premature return
17494 when processing non-root ZFS filesystems.
5f8b440b 17495 Reported by Sergio Talens-Oliag.
1eb01cd2 17496
2d5fed60
RM
174972010-10-15 Robert Millan <rmh@gnu.org>
17498
17499 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17500 guarantee compressed ones are processed first.
17501
d0f4c1ea
VS
175022010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17505 grub_efiemu_autocore.
17506
d87c681f
VS
175072010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17510 rather than 0x1b.
17511 (grub_console_getkey): Use correct jae opcode rather than ja.
17512
219b3564
RM
175132010-10-12 Robert Millan <rmh@gnu.org>
17514
17515 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17516 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17517 variable. All references updated.
17518
17519 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17520
20c6bb7e
VS
175212010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 Correctly distinguish mdraid flavours.
17524
17525 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17526 (insert_array): New argument raid.
17527 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17528 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17529 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17530
74baff84
VS
175312010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17532
17533 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17534 handling of special keys.
17535
3ef068df 175362010-10-02 Aleš Nesrsta <starous@volny.cz>
17537
c7980ad9
VS
17538 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17539 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17540
a9455194 175412010-10-02 Aleš Nesrsta <starous@volny.cz>
17542
c7980ad9
VS
17543 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17544 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17545 users updated.
a9455194 17546 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17547 Use right endpoint when querying descriptor.
a9455194 17548
441cfe65
VS
175492010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 Clear out 0x80 color bit on EFI.
17552 Tested by: decoder
17553 Reported by: decoder and meta tech.
17554
17555 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17556 (grub_console_setcolorstate): Clear out 0x80 bit.
17557 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17558 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17559 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17560
bf26bcc4
VS
175612010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17564 Set to "auto".
17565
6e3c515d
VS
175662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17569 mo_file after freeing.
17570
e6d983ba
VS
175712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17574
74ccb5b5
VS
175752010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17576
17577 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17578 flags.
17579
17821956
VS
175802010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17583 usage.
17584
ee74fa48
VS
175852010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17586
17587 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17588
17589 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17590 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17591 and terminfo.h when needed.
17592 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17593 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17594 (terminfo): Enable only on terminfokernel.
17595 (extcmd): Likewise.
17596 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17597 * include/grub/lib/arg.h: Likewise.
17598 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17599 incorrect usage of ->.
17600
aa438e68
VS
176012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17602
17603 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17604 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17605
57994012
VS
176062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 Fix coreboot compilation.
17609
17610 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17611 Take VBE info into account even if only text is supported.
17612 (fill_vbe_info): Take into account the case when only VGA text
17613 is supported.
17614 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17615 on coreboot, multiboot and qemu.
17616
2a406611
VS
176172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17620 debug messages.
17621 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17622
d33613fc
VS
176232010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17626 parameters.
17627
44a1b432
VS
176282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17631 if they were BSD-style.
17632
edde54e6
VS
176332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 * grub-core/boot/i386/pc/lnxboot.S: Replace
17636 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17637 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17638
b65830fa
VS
176392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17640
17641 Write embedding zone using Reed-Solomon.
17642
17643 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17644 * grub-core/Makefile.am (rs_decoder.S): New target.
17645 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17646 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17647 (multiboot): Move to RS part.
17648 (post_reed_solomon): New label.
17649 (grub_boot_drive): Move to non-RS part since it's modified in memory
17650 on boot.
17651 Include rs_decoder.S.
17652 * grub-core/lib/reed_solomon.c: New file.
17653 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17654 New definition.
17655 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17656 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17657 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17658 * include/grub/partition.h (grub_partition_map): Change prototype of
17659 embed to allow returning additional sectors.
17660 * include/grub/reed_solomon.h: New file.
17661 * util/grub-setup.c (setup): Handle Reed-Solomon.
17662
0b4b227f
CW
176632010-09-28 Colin Watson <cjwatson@ubuntu.com>
17664
17665 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17666 i386 and x86-64 definedness tests.
17667
f772623b
YB
176682010-09-27 Yves Blusseau <blusseau@zetam.org>
17669
17670 Fix generation of kernel_syms.lst
17671
17672 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17673 ASM_PREFIX
17674
8e57a6ca
RM
176752010-09-26 Robert Millan <rmh@gnu.org>
17676
17677 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17678
17679 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17680 the pool is an array of devices, iterate through it and return the
17681 first device that passes a stat() test (instead of blindly returning
17682 the first one).
17683
f9130836
RM
176842010-09-26 Robert Millan <rmh@gnu.org>
17685
17686 Build fixes for GNU/kFreeBSD.
17687
17688 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17689 to programs that require ZFS conversion.
17690 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17691 kernels that don't have FLOPPY_MAJOR.
17692
96510faf
BC
176932010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17694
17695 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17696
449333eb
BC
176972010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17698
17699 Fix grub-emu build.
17700
17701 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17702 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17703 mdraid09 and mdraid1x.
17704
e1fd1939
CW
177052010-09-24 Colin Watson <cjwatson@ubuntu.com>
17706
17707 Re-enable grub-extras.
17708
17709 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17710 avoid confusing Automake. Run autogen only twice, once for the top
17711 level and once for grub-core. Add Makefile.util.def and
17712 Makefile.core.def from extra modules to the appropriate autogen
17713 invocations. If Makefile.common exists in an extra module, include
17714 it in both Makefile.util.am and grub-core/Makefile.core.am;
17715 similarly, include any Makefile.util.common file in Makefile.util.am
17716 and any Makefile.core.common file in grub-core/Makefile.core.am.
17717 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17718 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17719 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17720 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17721
17722 * gentpl.py (gvar_add): Turn GVARS into a set.
17723 (global_variable_initializers): Sort global variables on output.
17724 (vars_init): New function.
17725 (first_time): Likewise.
17726 (library): Ensure that non-global variable initialisations are
17727 emitted before the first time we emit code for a library block.
17728 Append to variables rather than setting them. Only emit
17729 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17730 each conditional path.
17731 (program): installdir() emits an Autogen macro, so must be passed to
17732 var_add rather than gvar_add.
17733 (data): Likewise.
17734 (script): Likewise.
17735 (rules): New function, centralising handling for different target
17736 types. Set up Guile association lists for first_time and vars_init,
17737 and send most output to a diversion so that variable initialisations
17738 can be emitted first.
17739 (module_rules): Use new rules function.
17740 (kernel_rules): Likewise.
17741 (image_rules): Likewise.
17742 (library_rules): Likewise.
17743 (program_rules): Likewise.
17744 (script_rules): Likewise.
17745 (data_rules): Likewise.
17746
17747 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17748
17749 * .bzrignore: Add contrib and grub-core/contrib. Remove
17750 grub-core/Makefile.gcry.am.
17751
1d12cf29
YB
177522010-09-24 Yves Blusseau <blusseau@zetam.org>
17753
17754 * grub-core/lib/LzFind.c: Add missing include.
17755 * grub-core/lib/LzmaEnc.c: Likewise.
17756 * grub-core/script/lexer.c: Likewise.
17757 * grub-core/script/yylex.l: Likewise.
17758 * util/grub-macho2img.c: Likewise.
17759 * util/grub-menulst2cfg.c: Likewise.
17760 * util/grub-mklayout.c: Likewise.
17761 * util/grub-mkpasswd-pbkdf2.c
17762 * util/grub-mkrelpath.c: Likewise.
17763 * util/resolve.c: Likewise.
17764
dd363028
BC
177652010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17766
17767 * Makefile.util.def (example_unit_test): Add
17768 grub-core/gnulib/libgnu.a.
17769
f5a109e2
GS
177702010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17771
17772 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17773
6d0fa83c
VS
177742010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17775
17776 Support xz compression on yeeloong.
17777
17778 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17779 * configure.ac: Check for LZMA.
17780 * grub-core/Makefile.core.def (xz_decompress): New target.
17781 (none_decompress): Likewise.
17782 * grub-core/boot/decompressor/minilib.c: New file.
17783 * grub-core/boot/decompressor/none.c: Likewise.
17784 * grub-core/boot/decompressor/xz.c: Likewise.
17785 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17786 * grub-core/kern/mips/cache_flush.S: Likewise.
17787 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17788 * grub-core/kern/mips/startup.S: Move first stage to ...
17789 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17790 nomacro.
17791 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17792 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17793 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17794 Allocate statically.
17795 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17796 Allocate statically or use scratch. Don't check CRC32.
17797 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17798 Allocate statically. Don't check CRC32.
17799 * include/grub/decompressor.h: New file.
17800 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17801 Removed.
17802 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17803 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17804 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17805 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17806 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17807 * util/grub-mkimage.c (grub_compression_t): New type.
17808 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17809 (image_target_desc): New field default_compression.
17810 (image_targets): Adjust yeeloong targets.
17811 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17812 (compress_kernel): New parameter comp.
17813 (generate_image): Likewise. Handle new compression case.
17814 (options): New option --compression
17815 (help): Likewise.
17816 (main): Handle new option.
17817
1b655af6
GS
178182010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17819
17820 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17821
8f03f0b5
CW
178222010-09-22 Colin Watson <cjwatson@ubuntu.com>
17823
17824 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17825 typo in __i386__ conditional.
17826
7835dfd3
VS
178272010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17830 include.
17831
e255597e
VS
178322010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17833
6d0fa83c 17834 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17835
17836 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17837 new tags as supported.
17838 (acpiv2_size): New function.
17839 (grub_multiboot_get_mbi_size): Take new tags into account.
17840 (grub_multiboot_make_mbi): Add new tags.
17841 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17842
6cc14051 178432010-09-21 Aleš Nesrsta <starous@volny.cz>
17844
17845 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17846 Added missing configuration of USB device.
17847
df7769d8
CW
178482010-09-21 Colin Watson <cjwatson@ubuntu.com>
17849
17850 * grub-core/normal/menu_entry.c (run): Make sure we always return
17851 a value.
17852
b031012d
CW
178532010-09-21 Colin Watson <cjwatson@ubuntu.com>
17854
17855 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17856 NumberOfPages is UINT64 according to the UEFI specification, not
17857 UINTN. Fix printf format.
17858
174de8f3
CW
178592010-09-21 Colin Watson <cjwatson@ubuntu.com>
17860
17861 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17862 `err' to grub_usb_err_t.
17863 Reported and tested by: KESHAV P.R.
17864
d7dbe923
CW
178652010-09-21 Colin Watson <cjwatson@ubuntu.com>
17866
17867 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17868 tpart non-const, so that we can assign to it. (Since this is a
17869 typedef, the constness refers to the pointer rather than what it
17870 points to.)
17871
8d5e2af3
CW
178722010-09-21 Colin Watson <cjwatson@ubuntu.com>
17873
17874 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17875 $(top_srcdir)/grub-core/gnulib as well as
17876 $(top_builddir)/grub-core/gnulib.
17877 Reported by: KESHAV P.R.
17878
5c527783
CW
178792010-09-21 Colin Watson <cjwatson@ubuntu.com>
17880
17881 * util/grub-install.in: Fix the bootloader ID option to be
17882 consistently --bootloader-id, not --bootloader_id.
17883 Reported by: KESHAV P.R.
17884
d309a16e
CW
178852010-09-21 Colin Watson <cjwatson@ubuntu.com>
17886
17887 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17888 check hash checksum." consistently translatable.
17889
b830cd16
YB
178902010-09-21 Yves Blusseau <blusseau@zetam.org>
17891
17892 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17893 $(top_builddir).
17894
c4fe27a8
CW
178952010-09-21 Colin Watson <cjwatson@ubuntu.com>
17896
17897 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17898 (GRUB_MOD_INIT): Register sha1sum command.
17899 (GRUB_MOD_FINI): Unregister sha1sum command.
17900
a4c1d277
YB
179012010-09-21 Yves Blusseau <blusseau@zetam.org>
17902
17903 Keep boot and grub directory names in sync with utils scripts
17904
17905 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17906 * config.h.in: Add previous macros.
17907 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17908 * util/grub-install.in: Use $bootdir and $grubdir variables.
17909
4eff79d2
CW
179102010-09-21 Colin Watson <cjwatson@ubuntu.com>
17911
17912 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17913 convert partition names to disk names if the new `convert' parameter
17914 is set.
17915 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17916 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17917 disk in its own right. This can happen with Xen disk images.
17918
934d7e44
YB
179192010-09-21 Yves Blusseau <blusseau@zetam.org>
17920
17921 * util/grub-editenv.c: Update strings to avoid warnings when generating
17922 grub.pot file.
17923 * util/grub-setup.c: Likewise.
934d7e44 17924
df3367cc
VS
179252010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 * configure.ac: Change version to 1.99~beta0.
17928
77a94e98
VS
179292010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17932 Add BADRAM.
17933 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17934 Likewise.
17935 * include/multiboot.h: Resynced with specification.
17936 * include/multiboot2.h: Likewise.
17937
269004c1
CW
179382010-09-21 Colin Watson <cjwatson@ubuntu.com>
17939
17940 Fix po directory handling.
17941
17942 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17943 * grub-core/gnulib/Makefile.am: Import gettext module.
17944 * m4/gnulib-cache.m4: Likewise.
17945 * m4/gnulib-comp.m4: Likewise.
17946 * m4/gettext.m4: New file, from gnulib.
17947 * m4/glibc2.m4: Likewise.
17948 * m4/iconv.m4: Likewise.
17949 * m4/intdiv0.m4: Likewise.
17950 * m4/intl.m4: Likewise.
17951 * m4/intldir.m4: Likewise.
17952 * m4/intlmacosx.m4: Likewise.
17953 * m4/intmax.m4: Likewise.
17954 * m4/inttypes-pri.m4: Likewise.
17955 * m4/lcmessage.m4: Likewise.
17956 * m4/lib-ld.m4: Likewise.
17957 * m4/lib-link.m4: Likewise.
17958 * m4/lib-prefix.m4: Likewise.
17959 * m4/lock.m4: Likewise.
17960 * m4/nls.m4: Likewise.
17961 * m4/po.m4: Likewise.
17962 * m4/printf-posix.m4: Likewise.
17963 * m4/progtest.m4: Likewise.
17964 * m4/threadlib.m4: Likewise.
17965 * m4/uintmax_t.m4: Likewise.
17966 * m4/visibility.m4: Likewise.
17967 * po/Makefile.am: Remove.
17968 * po/Makefile.in.in: New file, from gettext.
17969 ($(DOMAIN).pot-update): Support POTFILES-shell.
17970 * po/Makevars: New file.
17971 * po/POTFILES-shell: Rename to ...
17972 * po/POTFILES-shell.in: ... this. Update.
17973 * po/POTFILES: Rename to ...
17974 * po/POTFILES.in: ... this. Update.
17975 * po/Rules-quot: New file, from gettext.
17976 * po/boldquot.sed: Likewise.
17977 * po/en@boldquot.header: Likewise.
17978 * po/en@quot.header: Likewise.
17979 * po/insert-header.sin: Likewise.
17980 * po/quot.sed: Likewise.
17981 * po/remove-potcdate.sin: Likewise.
17982
3e0fa5d0
VS
179832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17984
17985 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17986
ade9bd66
VS
179872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17988
17989 * util/grub.d/20_linux_xen.in: Use submenus.
17990
fc55cc4c
VS
179912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 Support submenus.
17994
17995 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17996 parameter submenu. All users updated.
17997 * grub-core/normal/main.c (free_menu): Rename to ...
17998 (grub_normal_free_menu): ... this. Made global.
17999 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18000 if requested.
18001 * grub-core/normal/menu_entry.c (screen): New field submenu.
18002 (make_screen): Set submenu.
18003 (run): Open new context if requested.
18004 * include/grub/menu.h (grub_menu_entry): New field submenu.
18005 * include/grub/normal.h (grub_normal_free_menu): New proto.
18006
600cedf7
VS
180072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 Menu entries extractor.
18010
18011 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18012 variants.
18013 (GRUB_MOD_INIT): Register new variants.
18014 (GRUB_MOD_FINI): Unregister new variants.
18015 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18016 into grub_cmd_legacy_source.
18017 (grub_cmd_legacy_source): Implement extractor variants.
18018 (GRUB_MOD_INIT): Register new variants.
18019 (GRUB_MOD_FINI): Unregister new variants.
18020 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18021 as an extractor.
18022 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18023 search as an extractor.
18024 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18025 test as an extractor.
18026 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18027 as an extractor.
18028 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18029 (grub_env_new_context): New function.
18030 (grub_env_context_open): Likewise.
18031 (grub_env_extractor_open): Likewise.
18032 (grub_env_extractor_close): Likewise.
18033 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18034 grub_extractor_level.
18035 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18036 * include/grub/env.h (grub_env_extractor_open): New proto.
18037 (grub_env_extractor_close): Likewise.
18038 * include/grub/normal.h (grub_extractor_level): New external variable.
18039
7bda3a87
VS
180402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 Make cutmem accept a region specification.
18043 Suggested by: Samuel Thibault
18044
18045 * grub-core/mmap/mmap.c (parsemem): New function.
18046 (grub_cmd_cutmem): Handle new arguments.
18047
2ea57f88
VS
180482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 New command cutmem.
18051
18052 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18053 (GRUB_MOD_INIT): Register new command.
18054 (GRUB_MOD_FINI): Unregister new command.
18055
74342e31
VS
180562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Support some annoying BSD and Minix subpartitions.
18059
18060 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18061 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18062 Properly handle concatenation.
18063 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18064 * grub-core/normal/completion.c (iterate_partition): Likewise.
18065 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18066 contain partition. All users updated.
18067 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18068 struct.
18069 (grub_openbsdlabel_partition_map): Likewise.
18070 (bsdlabel_partition_map_iterate): Rename to ..
18071 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18072 (bsdlabel_partition_map_iterate): New function.
18073 (netopenbsdlabel_partition_map_iterate): Likewise.
18074 (netbsdlabel_partition_map_iterate): Likewise.
18075 (openbsdlabel_partition_map_iterate): Likewise.
18076 (GRUB_MOD_INIT): Register new partmaps.
18077 (GRUB_MOD_FINI): Unregister new partmaps.
18078 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18079 (grub_partition_msdos_iterate): ... this. All users updated.
18080 Don't support embedding other than in a minix partition.
18081 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18082 proto.
18083 * include/grub/partition.h (grub_partition): New field msdostype.
18084 * util/grub-install.in: Handle openbsd and netbsd types being in
18085 part_bsd module.
18086
1e8d555b
VS
180872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18088
18089 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18090
18091 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18092 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18093 (mdraid09): ... this.
18094 (mdraid1x): New module.
18095 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18096 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18097
899d8af4
VS
180982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18101 vsprintf.
18102
40901acd
CW
181032010-09-20 Colin Watson <cjwatson@ubuntu.com>
18104
18105 * grub-core/commands/efi/lsefimmap.c: Correct header.
18106 * NEWS: Update.
18107
dfe3b247
CW
181082010-09-20 Colin Watson <cjwatson@ubuntu.com>
18109
18110 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18111 as printf format strings; the translations might contain '%' which
18112 could cause a crash.
18113 (main): Likewise.
18114 * util/grub-fstest.c (argp_parser): Likewise.
18115 * util/grub-setup.c (argp_parser): Likewise.
18116 (main): Likewise.
18117
3286a4b4
VS
181182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18119
18120 Use argp in grub-fstest.
18121
18122 * util/grub-fstest.c: Don't include getopt.h.
18123 Include argp.h.
18124 (root): New variable.
18125 (args_count): Likewise.
18126 (nparm): Likewise.
18127 (num_disks): Likewise.
18128 (images): Likewise.
18129 (cmd): Likewise.
18130 (debug_str): Likewise.
18131 (args): Likewise.
18132 (options): Transformed to argp.
18133 (usage): Removed.
18134 (main): Split argument parsing into ...
18135 (argp_parser): ... this. Changed to argp format.
18136 (argp): New variable.
18137 (main): Use argp_parse.
18138
3dccbe4b
TG
181392010-09-20 Tristan Gingold <gingold@free.fr>
181402010-09-20 Robert Millan <rmh.grub@aybabtu.com>
181412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18142
18143 * grub-core/commands/efi/lsefimmap.c: New file.
18144 * grub-core/Makefile.core.def (lsefimmap): New module.
18145 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18146
38c259a7
VS
181472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18148
18149 Pause the execution (10s max) if any errors are displayed so the user
18150 has a chance to see them.
18151
18152 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18153 (grub_print_error): Increment grub_err_printed_errors.
18154 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18155 execution if any errors were displayed.
18156 (show_menu): Remove old code for pause.
18157 * grub-core/normal/menu_entry.c (run): Likewise.
18158 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18159 users updated.
18160 (grub_normal_get_char_counter): Likewise.
18161 * include/grub/err.h (grub_err_printed_errors): New external variable.
18162 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18163
f218b09c
VS
181642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 Support multiboot VBE info.
18167
18168 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18169 Take VBE info into account.
18170 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18171 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18172 Call fill_vbe_info when appropriate.
18173 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18174 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18175 as supported.
18176 (grub_multiboot_get_mbi_size): Take new tags into account.
18177 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18178 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18179 Call fill_vbe_tag when appropriate.
18180 (grub_multiboot_make_mbi): Properly align tags.
18181 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18182 function.
18183 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18184 proto.
18185 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18186
a9cc5438
VS
181872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 Suport manual terminal geometry specification.
18190
18191 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18192 Save state in grub_ofconsole_terminfo_output.
18193 (grub_ofconsole_term): Use grub_terminfo_getwh.
18194 (grub_ofconsole_getwh): Removed.
18195 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18196 (grub_serial_term): Use grub_terminfo_getwh.
18197 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18198 (options): New struct.
18199 (OPTION_*): New enum.
18200 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18201 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18202 width and height.
18203 (grub_terminfo_getwh): New proto.
18204 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18205
1a8fed20
VS
182062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 Handle legacy "terminal" command.
18209
18210 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18211 and FLAG_TERMINAL.
18212 (legacy_commands): Add terminal and title.
18213 (grub_legacy_parse): Handle terminal. Simplify title handling.
18214
41e9c57d
VS
182152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18216
18217 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18218 parameters overflow.
18219
61c874c5
CW
182202010-09-20 Colin Watson <cjwatson@ubuntu.com>
18221
18222 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18223 widthspec.h.
18224
18225 * docs/grub.texi (Shell-like scripting): Document `!'.
18226 (Network): Simplify using new i386-pc-pxe format. Mention
18227 grub-mknetdir.
18228
18229 * NEWS: Update.
18230
943682b4
CW
182312010-09-20 Colin Watson <cjwatson@ubuntu.com>
18232
18233 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18234 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18235 when needed.
18236
6d3d698d
CW
182372010-09-20 Colin Watson <cjwatson@ubuntu.com>
18238
18239 * grub-core/commands/efi/lsefisystab.c: Correct header.
18240 * grub-core/commands/efi/lssal.c: Likewise.
18241 * grub-core/commands/testload.c: Likewise.
18242
c982589f
CW
182432010-09-20 Colin Watson <cjwatson@ubuntu.com>
18244
18245 * util/grub-mkrescue.in: Add explicit root argument to --set to
18246 prevent the UUID being interpreted as an argument to --set (matches
18247 previous change to prepare_grub_to_access_device).
18248
a63c31b6
CW
182492010-09-20 Colin Watson <cjwatson@ubuntu.com>
18250
18251 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18252 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18253 the verbosity of later #ifs.
18254 (find_partition_start): Define this function on FreeBSD too.
18255 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18256 function.
18257 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18258 on FreeBSD.
18259
6439b8ee
YB
182602010-09-20 Yves Blusseau <blusseau@zetam.org>
18261
18262 * util/grub-editenv.c: Use argp instead of getopt.
18263
c5930ec8
YB
182642010-09-20 Yves Blusseau <blusseau@zetam.org>
18265
18266 * util/grub-setup.c: Use argp instead of getopt.
18267
15c69261
YB
182682010-09-20 Yves Blusseau <blusseau@zetam.org>
18269
18270 Use gnulib-tool to create gnulib source files.
18271
18272 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18273 grub-core/gnulib directories
18274 * .bzignore: Add **/.deps and autogenerated gnulib files
18275 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18276 of gnulib macros, add grub-core/gnulib/Makefile
18277 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18278 include m4 directory to aclocal.
18279 * Makefile.util.def: Remove direct compilation of gnulib source files
18280 and use the new grub-core/gnulib/libgnu.a.
18281 * build-aux/config.rpath: move config.rpath from top directory to
18282 build-aux
18283 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18284 in gnulib headers
18285 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18286 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18287 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18288 header.
18289 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18290 string.
18291
e511c9f5
YB
182922010-09-20 Yves Blusseau <blusseau@zetam.org>
18293
18294 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18295 grub-core/genmod.sh and grub-core/gensyminfo.sh
18296
c2dede05
BC
182972010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18298
18299 Add a test for echo command options.
18300
18301 * tests/grub_cmd_echo.in: New test.
18302 * Makefile.util.def: Rules for new test.
18303
c55f5018
SJ
183042010-09-20 Szymon Janc <szymon@janc.net.pl>
18305
18306 Remove crc.mod and move crc command to hashsum.mod.
18307 Remove lib/crc.c - users updated to use gcrypt implementation.
18308
18309 * grub-core/commands/crc.c: Removed.
18310 * grub-core/Makefile.core.def (crc): Module removed.
18311 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18312 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18313 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18314 * grub-core/lib/crc.c: Removed.
18315 * include/grub/lib/crc.h: Removed.
18316 * Makefile.util.def (crc): Remove lib/crc.c
18317 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18318 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18319 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18320 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18321 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18322 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18323
e0337366
VS
183242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18327
742f9232
VS
183282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 Split config.h for util and core.
18331
18332 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18333 (ADDR32): Likewise.
18334 (DATA32): Likewise.
18335 (BSS_START_SYMBOL): Likewise.
18336 (END_SYMBOL): Likewise.
18337 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18338 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18339 * config.h.in: New file.
18340 * configure.ac: Use config-util.h as config define file.
18341 Rename MACHINE into GRUB_MACHINE. All users updated.
18342 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18343 updated.
18344 (NESTED_FUNC_ATTR): Likewise.
18345 Substitue new variables.
18346 (COND_HAVE_ASM_USCORE): New conditional.
18347 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18348 (kernel_syms.lst): Use ASM_PREFIX.
18349 * grub-core/kern/emu/console.c: Include config-util.h.
18350 * grub-core/kern/emu/misc.c: Likewise.
18351 * grub-core/kern/emu/mm.c: Likewise.
18352 * include/grub/emu/misc.h: Likewise.
18353 * include/grub/libgcc.h: Likewise.
18354
39feb0e8
VS
183552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18356
18357 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18358 constants usage.
18359 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18360 Fix GRUB_TERM_KEY_* constants usage.
18361 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18362
9af6dac3
VS
183632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18366 print pointer.
18367 * grub-core/bus/usb/uhci.c: Remove empty define.
18368 (grub_uhci_check_transfer): Add missing cast.
18369 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18370 print pointer.
18371 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18372 PRIuGRUB_SIZE.
18373 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18374
d6d94820
VS
183752010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18376
18377 * grub-core/Makefile.core.def (legacycfg): Add
18378 lib/i386/pc/vesa_modes_table.c on emu.
18379
3572f2b6
BC
183802010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18381
18382 Reduce number of temporary files generated by build system.
18383
18384 * grub-core/gencmdlist.sh: Removed.
18385 * grub-core/genfslist.sh: Removed.
18386 * grub-core/genhandlerlist.sh: Removed.
18387 * grub-core/genmodsrc.sh: Removed.
18388 * grub-core/genpartmaplist.sh: Removed.
18389 * grub-core/genparttoollist.sh: Removed.
18390 * grub-core/gentermiinallist.sh: Removed.
18391 * grub-core/genvideolist.sh: Removed.
18392
18393 * grub-core/genmod.sh.in: New file.
18394 * grub-core/gensyminfo.sh.in: New file.
18395
18396 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18397 * conf/Makefile.extra-dist: Update with new files.
18398 * gentpl.py: Remove rules related to unnecessary temporary files.
18399 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18400 and und-* files.
18401 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18402 genmod.sh scripts.
18403 * grub-core/bus/usb/uhci.c: Remove empty #define.
18404 * grub-core/genmoddep.awk: Updated with new syminfo format.
18405 * util/bash-completion.d/Makefile.am: Add config.log to
18406 CLEANFILES.
18407
c836b030
YB
184082010-09-19 Yves Blusseau <blusseau@zetam.org>
18409
18410 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18411
2f4e8053
BC
184122010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18413
18414 * util/grub-mkconfig.in: Check the config script for syntax errors
18415 before saving.
18416
75831c34
CW
184172010-09-19 Colin Watson <cjwatson@ubuntu.com>
184182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18419
18420 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18421 platforms.
18422 * util/grub-install.in: Add EFI and IEEE1275 support.
18423 * util/i386/efi/grub-install.in: Removed.
18424 * util/ieee1275/grub-install.in: Likewise.
18425
eaf41b25
VS
184262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18427
18428 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18429 (grub_cmd_cmosclean): Likewise.
18430 (GRUB_MOD_INIT): Register command cmosclean.
18431 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18432 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18433
1a9130dd
CPE
184342010-09-18 Carles Pina i Estany <carles@pina.cat>
184352010-09-18 Aleš Nesrsta <starous@volny.cz>
184362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18437
18438 Add keyboard layouts support.
18439
18440 * Makefile.util.def (grub-mklayout): New file.
18441 (grub-kbdcomp): New script.
18442 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18443 Add keyboard_layouts.h.
18444 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18445 commands/boot.c on yeeloong.
18446 (keylayouts): New module.
18447 * grub-core/bus/usb/ohci.c
18448 * grub-core/bus/usb/uhci.c
18449 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18450 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18451 (attach_root_port): Likewise.
18452 (poll_nonroot_hub): Likewise.
18453 (grub_usb_poll_devices): Likewise.
18454 (detach_device): Close transfer.
18455 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18456 function.
18457 (grub_usb_bulk_setup_readwrite): Likewise.
18458 (grub_usb_bulk_finish_readwrite): Likewise.
18459 * grub-core/commands/keylayouts.c: New file.
18460 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18461 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18462 aliases.
18463 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18464 support scancode 2.
18465 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18466 * include/grub/keyboard_layouts.h: New file.
18467 * util/grub-mklayout.c: New file.
18468 * util/grub-kbdcomp.in: Likewise.
18469
a1d84a5e
VS
184702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 Unify memory types.
18473
18474 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18475 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18476 types.
18477 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18478 (grub_upper_mem): Likewise.
18479 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18480 * include/grub/memory.h (grub_memory_type_t): New enum.
18481 All users updated.
18482
9696382e
VS
184832010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 * grub-core/Makefile.core.def (lsapm): New module.
18486 * grub-core/commands/i386/pc/lsapm.c: New file.
18487 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18488 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18489 Likewise.
18490 * include/grub/i386/pc/apm.h: New file.
18491 * include/multiboot.h (multiboot_apm_info): New struct.
18492
184932010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 GRUB-legacy configuration file support.
18496
18497 * Makefile.util.def (grub-menulst2cfg): New util.
18498 * docs/man/grub-menulst2cfg.h2m: New file.
18499 * grub-core/Makefile.core.def (legacycfg): New module.
18500 * grub-core/commands/legacycfg.c: New file.
18501 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18502 (grub_normal_add_menu_entry): ... this.
18503 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18504 (grub_normal_set_password): ...this.
18505 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18506 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18507 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18508 * grub-core/lib/legacy_parse.c: New file.
18509 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18510 * include/grub/i386/pc/vesa_modes_table.h: New file.
18511 * include/grub/legacy_parse.h: Likewise.
18512 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18513 * util/grub-menulst2cfg.c: New file.
18514
bf8d1338
CW
185152010-09-17 Colin Watson <cjwatson@ubuntu.com>
18516
18517 * grub-core/kern/emu/hostdisk.c
18518 (convert_system_partition_to_system_disk): Initialise node.
18519
9c0bad2e
CW
185202010-09-17 Colin Watson <cjwatson@ubuntu.com>
18521
18522 * grub-core/kern/emu/hostdisk.c
18523 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18524 leak.
18525 Reported and based on patch by: Modestas Vainius.
18526
a939d135
CW
185272010-09-17 Colin Watson <cjwatson@ubuntu.com>
18528
18529 Fix DM-RAID probing with recent versions of device-mapper udev
18530 rules.
18531
18532 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18533 canonicalise device paths under /dev/mapper/.
18534 (convert_system_partition_to_system_disk): Compare the
18535 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18536 path, since device nodes under /dev/mapper/ are often symlinks.
18537
0f7ee3c9
YB
185382010-09-17 Yves Blusseau <blusseau@zetam.org>
18539
18540 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18541
10854d0d
YB
185422010-09-16 Yves Blusseau <blusseau@zetam.org>
18543
18544 * configure.ac: Avoid some annoying error messages if freetype-config
18545 program is not found.
18546
108538d8
CW
185472010-09-16 Colin Watson <cjwatson@ubuntu.com>
18548
18549 Support RAID on virtio devices, and others.
18550
18551 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18552 Rename to ...
18553 [__MINGW32__] (grub_find_device): ... this.
18554 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18555 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18556 reasonable default if dir is NULL.
18557 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18558 ...
18559 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18560 (grub_guess_root_device): Update callers.
18561 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18562
18563 * util/raid.c (grub_util_getdiskname): Remove.
18564 (grub_util_raid_getmembers): Use grub_find_device rather than
18565 grub_util_getdiskname.
18566
e5bfc130
CW
185672010-09-16 Colin Watson <cjwatson@ubuntu.com>
18568
18569 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18570 needing to be compiled with serial support.
18571 (ls): Indicate that multiple files are accepted.
18572 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18573 indicate that multiple files are accepted.
18574
be458ae2
CW
185752010-09-16 Colin Watson <cjwatson@ubuntu.com>
18576
18577 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18578 libgrub_a_init.c, and util/bash-completion.d/grub.
18579
cb731b5e
VS
185802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * util/grub-setup.c (setup): Fix incorrect container semantics.
18583
35139e8a
VS
185842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18587 misusage.
18588 Reported by: J. Nick Terry
18589
e50fca4a
VS
185902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 Move embedding routines to partmap sources files.
18593
18594 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18595 [GRUB_UTIL]: New variable.
18596 (gpt_partition_map_iterate): Set part.parent.
18597 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18598 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18599 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18600 New function.
18601 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18602 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18603 (grub_partition_map) [GRUB_UTIL]: New field embed.
18604 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18605 (setup): Use ->embed.
18606
f00478b7
VS
186072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18610 function.
18611 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18612 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18613
2b94e3ff
YB
186142010-09-15 Yves Blusseau <blusseau@zetam.org>
18615
18616 Add function to get completions from usage.
18617
18618 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18619 completions from usage. Use LC_ALL=C to get options properly.
18620
2e04a006
VS
186212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18622
18623 * grub-core/gnulib/basename-lgpl.c: Imported.
18624 * grub-core/gnulib/basename.c: Likewise.
18625 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18626 * grub-core/gnulib/dirname.c: Likewise.
18627 * grub-core/gnulib/dirname.h: Likewise.
18628 * grub-core/gnulib/stripslash.c: Likewise.
18629
5dcdf93a
VS
186302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18631
18632 * grub-core/gnulib/error.c: Resynced.
18633 * grub-core/gnulib/getopt.c: Likewise.
18634 * grub-core/gnulib/getopt_int.h: Likewise.
18635 * grub-core/gnulib/regex.h: Likewise.
18636 * grub-core/gnulib/regex_internal.c: Likewise.
18637 * grub-core/gnulib/regex_internal.h: Likewise.
18638
014f47b7
SJ
186392010-09-15 Szymon Janc <szymon@janc.net.pl>
18640
18641 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18642 CRC calculations and validity checks.
18643 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18644 calculations.
18645
dd521a4a
SJ
186462010-09-15 Szymon Janc <szymon@janc.net.pl>
18647
18648 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18649
79c4eeb9
VS
186502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18651
18652 Fix incorrect echo options handling.
18653 Reported by: Yves Blusseau.
18654
18655 * include/grub/command.h (grub_command_flags_t): New flags
18656 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18657 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18658 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18659
ed80f7d5
VS
186602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18661
18662 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18663 users updated.
18664 (GRUB_COMMAND_FLAG_MENU): Likewise.
18665 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18666 (GRUB_COMMAND_FLAG_TITLE): Removed.
18667 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18668 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18669 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18670 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18671 (grub_command_flags_t): New enum. All users updated.
18672
5fe7620a
SG
186732010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18674
18675 Fix solaris compilation.
18676
18677 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18678 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18679 (grub-emu-list): Likewise.
18680
545b752f
VS
186812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 Remove deprecated root command.
18684
18685 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18686 updated.
18687
6c1a338c
VS
186882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18689
18690 * util/i386/pc/grub-setup.c: Merge this ...
18691 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18692 * util/grub-setup.c: ... into this.
18693 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18694 New struct.
18695
186962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18697
18698 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18699 possible.
18700
d2ea4551
VS
187012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18702
18703 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18704 allocate p.
18705
3c3b5040
VS
187062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18707
18708 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18709 explicit root argument to set to prevent UUID to be interpreted as
18710 argument to set.
18711
b71c3fae
VS
187122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18715
275433e6
VS
187162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18717
18718 Don't export grub_gate_a20.
18719
18720 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18721 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18722 to ...
18723 (grub_gate_a20): ... this. All users updated.
18724 * include/grub/i386/pc/init.h: Removed. All users updated.
18725
a5dbb1f1
VS
187262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18727
18728 Create euro.pf2 which supports most European languages.
18729
18730 * Makefile.am (grubdata_DATA): Add euro.pf2.
18731 (euro.pf2): New target.
18732 (CLEANFILES): Add euro.pf2.
18733
62a747cb
VS
187342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18735
18736 * configure.ac: Disable emu-usb by default to prevent inadvertent
18737 device takeover.
18738
608e43b1
VS
187392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18740
18741 Disable usbserial on grub-emu since our libusb code isn't good enough
18742 yet.
18743
18744 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18745 (usbserial_pl2303): Likewise.
18746 (usbserial_ftdi): Likewise.
18747
94564f81
VS
187482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * include/grub/disk.h (grub_disk): Remove has_partitions.
18751 All users updated.
18752 * disk/loopback.c (grub_loopback): Remove has_partitions.
18753 All users updated.
18754 (options): Remove partitions. All users updated.
18755 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18756 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18757 actual partition table is found.
18758
3352800b
VS
187592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 Remove readability checks (too many false negatives).
18762
18763 * util/grub-install.in: Remove readability checks.
18764 * util/grub-mkconfig.in: Likewise.
18765 * util/grub.d/10_hurd.in: Likewise.
18766 * util/grub.d/10_kfreebsd.in: Likewise.
18767 * util/grub.d/10_linux.in: Likewise.
18768 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18769 way.
18770
2419f17a
VS
187712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 Enable acpi shutdown on all ACPI platforms.
18774
18775 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18776 on coreboo, multiboot and EFI.
18777 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18778 (grub_acpi_halt): Likewise.
18779 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18780 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18781 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18782 * grub-core/lib/i386/halt.c (grub_halt)
18783 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18784
0575c7c3
VS
187852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18788 context.
18789
54ac3cd1
VS
187902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18793 * grub-core/video/efi_uga.c: Likewise.
18794
b2a30ac5
VS
187952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18796
18797 Filter devaliases and never open same device twice.
18798
18799 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18800 (last_ihandle): Likewise.
18801 (ofdisk_hash_ent): New member shortest.
18802 (ofdisk_hash_add): Add canonical path too.
18803 (scan): New function.
18804 (grub_ofdisk_iterate): Iterate over hashed entries.
18805 (compute_dev_path): Don't add :0.
18806 (grub_ofdisk_open): Don't really open the disk.
18807 (grub_ofdisk_close): Avoid closing unrelated disk.
18808 (grub_ofdisk_read): Implement reopen logic.
18809 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18810 New function.
18811 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18812 New proto.
18813
fb53b340
VS
188142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 Fix sparc64.
18817
18818 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18819 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18820 right address. Add sparc64_ieee1275_ldflags.
18821 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18822 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18823 to grub_host_to_target_addr
18824 (load_image): Likewise.
18825
f452b040
VS
188262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 * grub-core/normal/completion.c (complete_file): Handle device
18829 containing slash.
18830 Fix based on patch by Doug Nazar.
18831
9b5b2541
VS
188322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 grub-mknetdir script.
18835
18836 * Makefile.util.def (grub-mknetdir): New module.
18837 * tests/util/grub-shell.in: Support boot=net
18838 * util/grub-mknetdir.in: New file.
18839
9d2be652
VS
188402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 videoinfo on non-vbe.
18843
18844 * grub-core/Makefile.core.def (vbeinfo): Removed.
18845 (vbetest): Removed.
18846 (videoinfo): New module.
18847 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18848 * grub-core/commands/i386/pc/vbetest.c: Removed.
18849 * grub-core/commands/videoinfo.c: New file.
18850 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18851 specification.
18852 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18853 as vbetest.
18854 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18855 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18856 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18857 mode_number. New parameter mode. All users updated.
18858 (grub_video_gop_iterate): New function.
18859 (grub_video_efi_gop): New member iterate.
18860 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18861 (grub_vbe_set_video_mode): Remove setting useless fields.
18862 (vbe2videoinfo): New function.
18863 (grub_video_vbe_iterate): Likewise.
18864 (grub_video_vbe_setup): Use vbe2videoinfo.
18865 (grub_video_vbe_print_adapter_specific_info): New function.
18866 (grub_video_vbe_adapter): New fields iterate and
18867 print_adapter_specific_info.
18868 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18869 All users updated.
18870 (grub_video_mode_info): New field mode_number.
18871 (grub_video_adapter): New fields iterate and
18872 print_adapter_specific_info.
18873
179503f5
TG
188742010-09-13 Tristan Gingold <gingold@free.fr>
188752010-09-13 Robert Millan <rmh.grub@aybabtu.com>
188762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18877
18878 * grub-core/commands/efi/lsefisystab.c: New file.
18879 * grub-core/commands/efi/lssal.c: Likewise.
18880 * grub-core/Makefile.core.def (lsacpi): New module.
18881 (lsefisystab): Likewise.
18882 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18883 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18884 (grub_efi_sal_system_table): New struct.
18885 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18886 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18887 (grub_efi_sal_system_table_platform_features): Likewise.
18888 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18889 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18890 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18891 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18892
cf9827de
VS
188932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 Support explicit user claim that a device is BIOS-visible.
18896
18897 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18898 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18899 * grub-core/kern/emu/hostdisk.c
18900 (convert_system_partition_to_system_disk): Support mdX.
18901 (find_system_device): New parameter add. All users updated.
18902 (grub_util_biosdisk_is_present): New function.
18903 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18904 proto.
18905
53f0eb1f
VS
189062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18907
18908 Search hints support.
18909
18910 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18911 All users updated.
18912
b23ffd70
YB
189132010-09-13 Yves Blusseau <blusseau@zetam.org>
18914
18915 Bash completion script for util commands
18916
18917 * Makefile.am: Add util/bash-completion.d directory
18918 * configure.ac: Likewise.
18919 * util/bash-completion.d/Makefile.am: New file.
18920 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18921
d547dc28
VS
189222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18925 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18926 Reported by: Yves Blusseau.
18927
2fc8ccb9
VS
189282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18931 partition size and offset.
18932
d8a84076
VS
189332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18936
84fb3b3d
VS
189372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18940
768ec2e2
VS
189412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18944 (grub_xvasprintf): Likewise.
18945
4870900f
VS
189462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18949
faca6bec
VS
189502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18953 args ending with NULL.
18954
189552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18956
18957 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18958 pointer.
18959
3c70f225
SJ
189602010-09-11 Szymon Janc <szymon@janc.net.pl>
18961
18962 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18963
4df7996d
VS
189642010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 Shutdown using ACPI.
18967
18968 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18969 * grub-core/commands/acpihalt.c: New file.
18970 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18971 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18972 (grub_acpi_halt): New proto.
18973 (GRUB_ACPI_SLP_EN): New const.
18974 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18975 (GRUB_ACPI_OPCODE_*): New enum.
18976 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18977
126b4c32
TG
189782010-09-11 Tristan Gingold <gingold@free.fr>
189792010-09-11 Robert Millan <rmh.grub@aybabtu.com>
189802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 * commands/lsacpi.c: New file.
18983 * grub-core/Makefile.core.def (lsacpi): New module.
18984 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18985 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18986 (grub_acpi_madt_entry_header): New struct.
18987 (grub_acpi_madt): Likewise.
18988 (grub_acpi_madt_entry_interrupt_override): Likewise.
18989 (grub_acpi_madt_entry_sapic): Likewise.
18990 (grub_acpi_madt_entry_lsapic): Likewise.
18991 (grub_acpi_madt_entry_platform_int_source): Likewise.
18992 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18993 (PRIuGRUB_UINT32_T): Likewise.
18994 (PRIxGRUB_UINT64_T): Likewise.
18995
1aa4fe88
VS
189962010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18997
18998 Implement loading palette on ieee1275_fb.
18999
19000 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19001 (have_setcolors): Likewise.
19002 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19003 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19004 (grub_video_ieee1275_set_palette): Implement.
19005
25761e13
VS
190062010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
190072010-09-11 Colin Watson <cjwatson@ubuntu.com>
19008
19009 * util/grub-install.in (grub_partition): New variable.
19010 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19011 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19012 Fixes a bug reported by Yves Blusseau.
19013
050abaea
VS
190142010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 Fix emu on mipsel.
19017
19018 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19019 =grub_cpu_flush_cache on all mips and not only yeeloong.
19020 * configure.ac (COND_mips): New conditional.
19021 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19022 platforms.
19023 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19024 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19025 [GRUB_LINKER_HAVE_INIT]: New function.
19026 (grub_emu_post_init): Likewise.
19027 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19028 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19029 * include/grub/cache.h (_mips): Include mips/cache.h.
19030 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19031 LVM and RAID prototypes.
19032 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19033 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19034 function.
19035
5ed7d816
CW
190362010-09-10 Colin Watson <cjwatson@ubuntu.com>
19037
19038 * util/grub-install.in: Don't try to verify core.img until after
19039 running grub-mkimage to create it.
19040
90367e04
RM
190412010-09-10 Robert Millan <rmh@gnu.org>
19042
19043 * util/grub.d/10_hurd.in: Add misc readability checks.
19044 * util/grub.d/10_kfreebsd.in: Likewise.
19045 * util/grub.d/10_linux.in: Likewise.
19046
c452fa66
CW
190472010-09-10 Colin Watson <cjwatson@ubuntu.com>
19048
19049 * util/grub-install.in: ${imgext} won't be defined here until the
19050 install branch is merged. For the meantime, only verify core.img on
19051 i386-pc and sparc64-ieee1275 platforms.
19052
c38fe9f4
RM
190532010-09-10 Robert Millan <rmh@gnu.org>
19054
19055 Solaris support in grub_find_zpool_from_dir(). Thanks
19056 Seth Goldberg for referring to getextmntent() facility.
19057
19058 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19059 `sys/mkdev.h'.
19060 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19061 `<sys/mnttab.h>'.
19062 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19063 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19064 method for finding zpool name.
19065
905f7773
CW
190662010-09-10 Colin Watson <cjwatson@ubuntu.com>
19067
19068 grub-fstest needs the host and hostfs modules while other utilities
19069 actively require those modules to be absent, so grub-fstest needs
19070 its own initialisation and finalisation code.
19071
19072 * Makefile.am (grub_fstest.pp): New target.
19073 (grub_fstest_init.lst): Likewise.
19074 (grub_fstest_init.c): Likewise.
19075 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19076
fb90b546
RM
190772010-09-10 Robert Millan <rmh@gnu.org>
19078
19079 * configure.ac: Check for `struct statfs.f_fstypename' and
19080 `struct statfs.f_mntfromname'.
19081
19082 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19083 kFreeBSD-specific code.
19084
66d4bea5
RM
190852010-09-10 Robert Millan <rmh@gnu.org>
19086
19087 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19088 on ZFS. Now non-main filesystems are supported as / too.
19089
b6a690ee
CW
190902010-09-09 Colin Watson <cjwatson@ubuntu.com>
19091
19092 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19093 and grub-core/disk/host.c to ...
19094 (grub-fstest): ... here. Having the host disk implementation
19095 present confuses grub-probe and other utility programs.
19096
19097 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19098 when writing to a file, not when writing to stdout.
19099
8901b00c 191002010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19101
19102 * tests/partmap_test.in: New test for partitions.
19103 * Makefile.util.def: Rules for new test.
19104
7bf45fdd
RM
191052010-09-09 Robert Millan <rmh@gnu.org>
19106
19107 * util/grub-probe.c (probe): Fix a pair of unhandled error
19108 conditions.
19109
4dfbc574
RM
191102010-09-09 Robert Millan <rmh@gnu.org>
19111
19112 Basic Btrfs support (detection and UUID).
19113
19114 * grub-core/fs/btrfs.c: New file.
19115 * Makefile.util.def (library): Register btrfs.c.
19116 * grub-core/Makefile.core.def: Likewise.
19117
6b8e78ae
RM
191182010-09-08 Robert Millan <rmh@gnu.org>
19119
19120 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19121 with (optional) parameters to specify device and relative path.
19122 * util/grub-install.in: Use is_path_readable_by_grub() to
19123 verify readability of a few critical files.
19124 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19125 verify readability of grub.cfg.new.
19126
27f21a8b
VS
191272010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19128
19129 Split minix.mod into minix.mod and minix2.mod.
19130
19131 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19132 * grub-core/Makefile.core.def (minix2): New module.
19133 * grub-core/fs/minix.c: Use definitions instead of runtime version
19134 checking.
19135 * grub-core/fs/minix2.c: New file.
19136
c0e53ea5
YB
191372010-09-08 Yves Blusseau <blusseau@zetam.org>
19138
19139 Add new --boot-directory option to replace --root-directory
19140
19141 * util/grub-install.in: Add new --boot-directory option
19142 * util/grub-reboot.in: Likewise.
19143 * util/grub-set-default.in: Likewise.
19144
b9fe6ea2
YB
191452010-09-08 Yves Blusseau <blusseau@zetam.org>
19146
19147 * util/grub-mkconfig.in: Use new variable.
19148
d87aedff
YB
191492010-09-08 Yves Blusseau <blusseau@zetam.org>
19150
19151 * configure.ac: Define some useful variables.
19152
e55e8495
VS
191532010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19154
19155 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19156 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19157 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19158 Use terminfo and don't use cursor-on/cursor-off unless it's known
19159 to work.
19160 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19161 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19162
6fa6d675
CW
191632010-09-08 Colin Watson <cjwatson@ubuntu.com>
19164
19165 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19166 starts with "(,", fill the drive containing the loaded image in
19167 between those two characters, but expect that a full partition
19168 specification including partition map names will follow.
19169
92f2aef0
RM
191702010-09-08 Robert Millan <rmh@gnu.org>
19171
19172 * configure.ac: Remove `--enable-grub-fstest' option.
19173 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19174
19175 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19176 `grub-fstest' instead of `grub-probe' for readability verification.
19177 * util/grub-probe.c (probe): Remove readability verification kludge.
19178
99fd620d
RM
191792010-09-08 Robert Millan <rmh@gnu.org>
19180
19181 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19182 initializing `GRUB_FS'.
19183
058e30ac 191842010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19185
19186 Not command (!) support to GRUB script.
19187
19188 * tests/grub_script_not.in: New test.
19189 * Makefile.util.def: Rules for new test.
19190
19191 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19192 ! command as a special case.
19193 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19194
b61d05ed 191952010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19196
058e30ac 19197 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19198 grub_free.
b61d05ed 19199
4d69c786 192002010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19201
19202 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19203
aa3119c4 192042010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19205
19206 * docs/grub.texi (Shell-like scripting): Documentation for break,
19207 continue, shift and return commands.
19208
db0f7e3d
VS
192092010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 Rename CD-ROM to cd on BIOS.
19212
19213 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19214 "cd".
19215 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19216
88b87c93
VS
192172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19220 * util/grub-probe.c (main): Likewise.
19221 * util/i386/pc/grub-setup.c (main): Likewise.
19222 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19223 Reported and debugged by: alexxy
19224
294f324d
VS
192252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19228 diagnostic info.
19229
d7ee3441
JS
192302010-09-05 Jo Shields <directhex@apebox.org>
19231
19232 * util/grub.d/30_os-prober.in: Add missing classes.
19233
d7e06c1f
VS
192342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * docs/grub.texi (Theme file format): Document new position format.
19237
fc157e53
VS
192382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19241 a table. Use @code instead of @verbatim.
19242
506e9a1c
CB
192432010-09-05 Colin D Bennett <colin@gibibit.com>
19244
19245 Gfxmenu documentation.
19246
19247 * docs/grub.texi (Theme file format): New chapter.
19248
f0aff67c
SJ
192492010-09-05 Szymon Janc <szymon@janc.net.pl>
19250
19251 * grub-core/Makefile.core.def (xzio): New module.
19252 * grub-core/io/xzio.c: New file.
19253 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19254 * grub-core/lib/xzembed/xz_config.h: Likewise.
19255 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19256 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19257 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19258 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19259 * grub-core/lib/xzembed/xz_private.h: Likewise.
19260 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19261 * include/grub/file.h (grub_file_filter_id): New compression filter
19262 GRUB_FILE_FILTER_XZIO.
19263
82a85062
VS
192642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19265
19266 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19267 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19268 size.
19269
3579415d
VS
192702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19271
19272 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19273 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19274
5124ae6d
VS
192752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 Uncompressed checksum support.
19278
19279 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19280 (check_list): New parameter uncompress.
19281 (grub_cmd_hashsum): Handle --uncompress.
19282
9aadb3d1
VS
192832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 Reintroduce testload.
19286
19287 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19288 from here ...
19289 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19290 (GRUB_MOD_INIT): New function.
19291 (GRUB_MOD_FINI): Likewise.
19292 * grub-core/Makefile.core.def (testload): New module.
19293
a17792c3
SJ
192942010-09-05 Szymon Janc <szymon@janc.net.pl>
19295
19296 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19297 (uint8_t): New type.
19298 (uint16_t): Likewise.
19299 (uint32_t): Likewise.
19300 (uint64_t): Likewise.
19301
b81e40a3
SJ
193022010-09-05 Szymon Janc <szymon@janc.net.pl>
19303
19304 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19305
fc2ef117
VS
193062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19307
19308 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19309 Made static.
19310 (grub_gzfile_open): Removed. All users updated.
19311 (GRUB_MOD_INIT): New function.
19312 (GRUB_MOD_FINI): Likewise.
19313 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19314 (grub_file_filters_enabled): Likewise.
19315 (grub_file_open): Handle filters.
19316 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19317 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19318 * include/grub/file.h (grub_file_filter_id_t): New type.
19319 (grub_file_filter_t): Likewise.
19320 (grub_file_filters_all): New extern variable.
19321 (grub_file_filters_enabled): Likewise.
19322 (grub_file_filter_register): New inline function.
19323 (grub_file_filter_unregister): Likewise.
19324 (grub_file_filter_disable): Likewise.
19325 (grub_file_filter_disable_compression): Likewise.
19326 * include/grub/gzio.h: Removed.
19327
35ee15e0
BC
193282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19329
19330 Filename expansion support for wildcards in GRUB script.
19331
19332 * tests/grub_script_expansion.in: New test.
19333 * Makefile.util.def: Rule for new test.
19334
19335 * grub-core/commands/wildcard.c: New file, implements filename
19336 expansion support for GRUB script.
19337 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19338 * grub-core/script/argv.c: Cosmetic changes.
19339 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19340 Refactored to perform wildcard expansion on arguments.
19341 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19342 struct.
19343
19344 * tests/util/grub-shell.in: Fix quoting for read input.
19345
5f0c4aca
BC
193462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19347
19348 Support for updating environment variables with matched substrings
19349 of regexp.
19350
19351 * tests/grub_cmd_regexp.in: New test.
19352 * Makefile.util.def: Rule for new test.
19353
19354 * grub-core/commands/regexp.c: New option -s to update environment
19355 variables with regexp matches.
19356
3759a35f
SJ
193572010-09-04 Szymon Janc <szymon@janc.net.pl>
19358
19359 * include/grub/file.h (grub_file): New member not_easly_seekable.
19360 (grub_file_seekable): New inline function.
19361 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19362 easily seekable.
19363 (grub_gzio_open): Set not_easly_seekable.
19364 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19365 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19366
ed8c6dec
BC
193672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19368
19369 Support for options to appear multiple times on cmdline.
19370
19371 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19372 * grub-core/commands/extcmd.c: Support for repeatable option.
19373 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19374 repeatable option support.
19375
19376 Refactor menuentry into a regular command.
19377
19378 * grub-core/commands/menuentry.c: New file, menuentry command
19379 implementation.
19380 * grub-core/Makefile.core.def: Rule update for normal.mod.
19381 * grub-core/normal/main.c: Moved menuentry creation to
19382 grub-core/commands/menuentry.c.
19383 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19384 (grub_menu_execute_entry_real): Removed.
19385 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19386 function.
19387 (grub_script_execute_menuentry): Removed.
19388 * grub-core/script/parser.y (menuentry): Removed.
19389 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19390 * grub-core/script/yylex.l (menuentry): Removed.
19391 * include/grub/menu.h (grub_menu_init): New prototype.
19392 (grub_menu_fini): New prototype.
19393 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19394 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19395 (grub_script_execute_sourcecode): New prototype.
19396
dacd0cf0
BC
193972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19398
19399 "return" command for GRUB script functions.
19400
19401 * tests/grub_script_return.in: New test.
19402 * Makefile.util.def: Rules for new test.
19403
19404 * grub-core/script/execute.c (grub_script_return): New function.
19405 * grub-core/script/main.c: Register/unregister return commaond.
19406 * include/grub/script_sh.h (grub_script_return): New prototype.
19407
52e72f9d
BC
194082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19409
19410 "setparams" command to update positional parameters.
19411
19412 * tests/grub_script_setparams.in: New test.
19413 * Makefile.util.def: Rules for new test.
19414
19415 * grub-core/script/argv.c (grub_script_argv_make): New function.
19416 * grub-core/script/execute.c (replace_scope): New function.
19417 (grub_script_setparams): New function.
19418 * grub-core/script/lexer.c: Remove unused variables.
19419 * grub-core/script/main.c: Register/unregister setparams command.
19420 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19421 (grub_script_setparams): New prototype.
19422
25b60c91
BC
194232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19424
19425 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19426 grub_free order.
19427
37e7bf68
BC
194282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19429
19430 Support for passing block of commands as an argument to extcmds.
19431
19432 * Makefile.util.def: Rules for new test.
19433 * tests/grub_script_blockarg.in: New test.
19434 * grub-core/tests/test_blockarg.c: New file, block argument
19435 command used in the test.
19436
19437 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19438 (grub_register_extcmd_prio): New function prototype.
19439 (grub_extcmd_dispatcher): New function prototype.
19440 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19441 type.
19442 * include/grub/script_sh.h (struct grub_script): New members
19443 `children', `next_siblings' and `refcnt' for block arguments and
19444 reference counting.
19445 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19446 (grub_script_arg): New member `script' for block argument.
19447 (grub_script_argv): New member `script' for block argument.
19448 (grub_parser_param): New member `scripts' for block argument.
19449 (grub_script_mem_free): New extern function prototype.
19450 (grub_script_ref): New function prototype.
19451 (grub_script_unref): New function prototype.
19452
19453 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19454 extcmd form to support block arguments.
19455 * grub-core/script/argv.c: Block arguments support.
19456 * grub-core/script/execute.c: Likewise.
19457 * grub-core/script/lexer.c: Likewise.
19458 * grub-core/script/main.c: Likewise.
19459 * grub-core/script/script.c: Likewise.
19460 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19461 non-terminals.
19462
19463 * grub-core/commands/acpi.c: Update extcmd implementations with
19464 grub_extcmd_context_t.
19465 * grub-core/commands/cat.c: Likewise.
19466 * grub-core/commands/echo.c: Likewise.
19467 * grub-core/commands/extcmd.c: Likewise.
19468 * grub-core/commands/hashsum.c: Likewise.
19469 * grub-core/commands/hdparm.c: Likewise.
19470 * grub-core/commands/help.c: Likewise.
19471 * grub-core/commands/hexdump.c: Likewise.
19472 * grub-core/commands/i386/cpuid.c: Likewise.
19473 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19474 * grub-core/commands/i386/pc/halt.c: Likewise.
19475 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19476 * grub-core/commands/iorw.c: Likewise.
19477 * grub-core/commands/keystatus.c: Likewise.
19478 * grub-core/commands/loadenv.c: Likewise.
19479 * grub-core/commands/ls.c: Likewise.
19480 * grub-core/commands/lspci.c: Likewise.
19481 * grub-core/commands/memrw.c: Likewise.
19482 * grub-core/commands/probe.c: Likewise.
19483 * grub-core/commands/search_wrap.c: Likewise.
19484 * grub-core/commands/setpci.c: Likewise.
19485 * grub-core/commands/sleep.c: Likewise.
19486 * grub-core/disk/loopback.c: Likewise.
19487 * grub-core/hello/hello.c: Likewise.
19488 * grub-core/loader/i386/bsd.c: Likewise.
19489 * grub-core/loader/xnu.c: Likewise.
19490 * grub-core/term/gfxterm.c: Likewise.
19491 * grub-core/term/serial.c: Likewise.
19492 * grub-core/tests/lib/functional_test.c: Likewise.
19493
888d1500
BC
194942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19495
19496 Multi-line quoted strings support.
19497
19498 * grub-core/script/lexer.c (append_newline): Removed.
19499 (grub_script_lexer_yywrap): Refactored.
19500 (grub_script_lexer_init): Refactored.
19501 * grub-core/script/yylex.l (yywrap): New function.
19502 (grub_lexer_resplit): New function.
19503 (grub_lexer_unput): New function.
19504 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19505 and resplit.
19506 * tests/grub_script_echo1.in: Added few more testcases.
19507
dda060dd
VS
195082010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19509
19510 * grub-core/kern/misc.c: Don't add abort alias in utils.
19511 Reported by: echoline.
19512
6556eba9
BC
195132010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19514
19515 Add missing files into "make dist" tarball for other platforms.
19516
19517 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19518 * conf/Makefile.common (dist_noinst_DATA): New variable.
19519 * conf/Makefile.extra-dist: Added missing make dist files.
19520 * grub-core/Makefile.core.def: Likewise.
19521
c8e7bf5f
VS
195222010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19523
19524 Compress grub_prefix.
19525
19526 * grub-core/boot/i386/pc/lnxboot.S: Use
19527 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19528 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19529 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19530 GRUB_MACHINE_PREFIX_END. All users updated.
19531 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19532 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19533 + 0x40.
19534 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19535 * util/grub-mkimage.c (image_target_desc): Change data_end to
19536 prefix_end. All users updated.
19537
a7c00cdb
VS
195382010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19541 value.
19542 (grub_openbsd_boot): Likewise.
19543 (grub_netbsd_boot): Likewise.
19544 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19545 (grub_xnu_boot): Likewise.
19546
9f915872
VS
195472010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 * configure.ac: Clean LIBS variable after tests.
19550
efa1bee7
CW
195512010-09-02 Colin Watson <cjwatson@ubuntu.com>
19552
19553 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19554
61d720e5
VS
195552010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19556
19557 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19558 echo if libdevmapper will be used.
19559
ef8e0ec8
IT
195602010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19561
19562 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19563 constant for the same file.
19564
03e261d8
VS
195652010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19566
19567 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19568
c2a4eba6
CW
195692010-09-02 Colin Watson <cjwatson@ubuntu.com>
19570
19571 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19572 grub-core/*.pp.
19573
9056cbf3
CW
195742010-09-02 Colin Watson <cjwatson@ubuntu.com>
19575
19576 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19577 required by the boot protocol.
19578
19579 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19580 ebp and edi members.
19581 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19582 state.ebp and state.edi.
19583 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19584 %ebp and %edi according to grub_relocator32_ebp and
19585 grub_relocator32_edi respectively.
19586 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19587 and state.edi.
19588
529cc99a
VS
195892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 Add i386-pc-pxe image target.
19592
19593 * util/grub-mkimage.c (image_target_desc): New enum value
19594 IMAGE_I386_PC_PXE.
19595 (image_targets): New target i386-pc-pxe.
19596 (generate_image): Handle i386-pc-pxe image.
19597
9a093920
VS
195982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19599
19600 Fix grub_pxe_scan.
19601
19602 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19603 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19604 All users updated.
19605 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19606 (grub_pxe_pxenv): Correct type.
19607
f9cefc4e
CW
196082010-09-01 Colin Watson <cjwatson@ubuntu.com>
19609
19610 * NEWS: Document most of the important changes since 1.98.
19611
4066f57f
CW
196122010-09-01 Colin Watson <cjwatson@ubuntu.com>
19613
19614 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19615 generated manual page) a little.
19616
da2891f9
CW
196172010-09-01 Colin Watson <cjwatson@ubuntu.com>
19618
19619 * docs/grub.texi: Add myself as an author.
19620
ad717fae
VS
196212010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 * Makefile.util.def (libgrub.a): Add missing sunpc.
19624 Reported by: Seth Goldberg.
19625
eefe8abd
VS
196262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 Interrupt wrapping and code simplifications.
19629
9494ef9a
VS
19630 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19631 x86_noieee1275 which are functionaly equivalent in this case.
19632 (grub-install): Make source on each platform explicit. Enable on
19633 all noemu.
19634 * gentpl.py (x86_efi_pc): Removed group.
19635 (x86_noefi): Likewise.
19636 (i386_noefi): Likewise.
19637 (x86_noieee1275): Likewise.
19638 (i386_noieee1275): Likewise.
19639 (i386_noefi_noieee1275): Likewise.
19640 (i386_pc_qemu_coreboot): Likewise.
19641 (i386_coreboot_multiboot): Likewise.
19642 (i386_pc_coreboot_multiboot_qemu): Likewise.
19643 (x86_noefi_mips): Likewise.
19644 (noieee1275): Likewise.
19645 (ieee1275_mips): Likewise.
19646 (noemu_noieee1275): Likewise.
19647 (cmos): New group.
19648 (usb): Likewise.
19649 (videoinkernel): Likewise.
19650 (videomodules): Likewise.
eefe8abd 19651 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19652 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19653 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19654 include/grub/loader.h, include/grub/msdos_partition.h,
19655 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19656 include/grub/machine/console.h, include/grub/machine/vga.h,
19657 include/grub/machine/vbe.h, include/grub/machine/init.h,
19658 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19659 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19660 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19661 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19662 * grub-core/Makefile.core.def (kernel): Explicit the source for
19663 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19664 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19665 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19666 Use videoinkernel tag.
19667 (usb): Enable on all usb.
19668 (usbserial_common): Likewise.
19669 (usbserial_pl2303): Likewise.
19670 (usbserial_ftdi): Likewise.
19671 (uhci): Enable on all x86.
19672 (ohci): Enable on all pci.
19673 (cmostest): Enable on all CMOS.
19674 (acpi): Include commands/acpi.c on all platforms.
19675 (halt): Add relevant lib/*/halt.c.
19676 (hdparm): Enable on all pci.
19677 (lspci): Likewise.
19678 (usbtest): Enable on all usb.
19679 (ata): Enable on all pci.
19680 (ata_pthru): Likewise.
19681 (usbms): Enable on all usb.
19682 (usb_keyboard): Likewise.
19683 (font): Use tag videomodules.
19684 (bufio): Likewise.
19685 (datetime): Use tag cmos. Enable on all noemu.
19686 (mmap): Use tags common and x86.
19687 (gfxterm): Use tag videomodules.
19688 (bitmap): Likewise.
19689 (bitmap_scale): Likewise.
19690 (video_fb): Likewise.
19691 (video): Likewise.
19692 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19693 adjust padding accordingly. All users updated.
19694 (grub_ohci_transaction): Fix bad format specification.
19695 (GRUB_MOD_INIT): Add asserts for struct size.
19696 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19697 (grub_alloc_td): Likewise.
19698 (grub_free_queue): Likewise.
19699 (grub_uhci_transfer): Likewise.
19700 (grub_uhci_transaction): Fix bad format specification.
19701 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19702 (grub_usb_bulk_readwrite): Likewise.
19703 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19704 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19705 Made static.
19706 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19707 Made static.
19708 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19709 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19710 Transformed into C.
19711 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19712 Moved from here ...
19713 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19714 ... here. Transformed into C. Made static.
19715 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19716 Moved from here ...
19717 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19718 ... here. Transformed into C. Made static.
19719 * grub-core/kern/i386/pc/startup.S
19720 (grub_biosdisk_check_int13_extensions): Moved from here ...
19721 * grub-core/disk/i386/pc/biosdisk.c
19722 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19723 Made static.
19724 * grub-core/kern/i386/pc/startup.S
19725 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19726 * grub-core/disk/i386/pc/biosdisk.c
19727 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19728 Transformed into C. Made static.
19729 * grub-core/kern/i386/pc/startup.S
19730 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19731 * grub-core/disk/i386/pc/biosdisk.c
19732 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19733 Transformed into C. Made static.
19734 * grub-core/kern/i386/pc/startup.S
19735 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19736 * grub-core/disk/i386/pc/biosdisk.c
19737 (grub_biosdisk_get_diskinfo_standard): ... here.
19738 Transformed into C. Made static.
19739 * grub-core/kern/i386/pc/startup.S
19740 (grub_biosdisk_get_num_floppies): Moved from here ...
19741 * grub-core/disk/i386/pc/biosdisk.c
19742 (grub_biosdisk_get_num_floppies): ... here.
19743 Transformed into C. Made static.
19744 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19745 New function.
19746 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19747 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19748 Transformed into C. Made static.
19749 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19750 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19751 Transformed into C. Made static.
19752 * grub-core/kern/i386/ieee1275/init.c: Removed.
19753 * grub-core/kern/i386/misc.S: Likewise.
19754 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19755 Splitted from here ...
19756 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19757 Transformed into C. Made static. All users updated.
19758 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19759 Transformed into C. Made static. All users updated.
19760 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19761 Moved from here...
19762 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19763 Transformed into C. Made static. All users updated.
19764 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19765 Moved from here...
19766 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19767 Transformed into C. Made static. All users updated.
19768 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19769 Removed (replaced by C version).
19770 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19771 Moved from here...
19772 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19773 Transformed into C. Made static.
19774 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19775 Moved from here...
19776 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19777 ... here. Transformed into C.
19778 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19779 Moved from here...
19780 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19781 ... here. Transformed into C.
19782 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19783 Moved from here...
19784 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19785 ... here. Transformed into C. Made static.
19786 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19787 Moved from here...
19788 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19789 ... here. Transformed into C.
21ed554b
VS
19790 * grub-core/kern/i386/pc/startup.S
19791 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19792 * grub-core/video/i386/pc/vbe.c
19793 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19794 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19795 Moved from here...
19796 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19797 ... here. Transformed into C.
19798 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19799 Moved from here...
19800 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19801 ... here. Transformed into C.
19802 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19803 Moved from here...
19804 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19805 ... here. Transformed into C.
19806 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19807 Moved from here...
19808 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19809 ... here. Transformed into C.
19810 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19811 Moved from here...
19812 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19813 ... here. Transformed into C. Made static.
19814 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19815 Moved from here...
19816 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19817 ... here. Transformed into C. Made static.
19818 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19819 Moved from here...
19820 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19821 ... here. Transformed into C. Made static.
19822 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19823 pxe_rm_entry as third argument.
19824 (grub_bios_interrupt): New function.
19825 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19826 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19827 of calling grub_stop.
19828 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19829 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19830 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19831 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19832 * grub-core/lib/i386/halt.c: Moved from here ...
19833 * grub-core/lib/i386/halt.c: ... here.
19834 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19835 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19836 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19837 grub_stop_floppy.
19838 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19839 * include/grub/i386/coreboot/init.h: Removed.
19840 * include/grub/i386/multiboot/init.h: Likewise.
19841 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19842 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19843 * include/grub/i386/pc/int.h: New file.
19844 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19845 (grub_pxe_scan): Removed.
19846 (grub_pxe_call): Update prototype.
19847 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19848 prototypes.
19849 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19850 * include/grub/i386/qemu/init.h: Removed.
19851 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19852 noreturn.
19853 (grub_halt): Likewise.
19854 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19855 (grub_reboot): Likewise.
19856 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19857 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19858 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19859
215dd471
RM
198602010-08-30 Robert Millan <rmh@gnu.org>
19861
19862 * NEWS: Document addition of ZFS support in `grub-install' and
19863 `grub-mkconfig'.
19864
ebd65b82
BC
198652010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19866
19867 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19868 dprintf output.
19869
11721d19
VS
198702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 Remove leftover embedding of font objects.
19873
19874 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19875 * util/grub-install.in (font): Removed.
19876 * util/grub-mkimage.c (generate_image): Remove font support. All users
19877 updated.
19878
37837d4e
VS
198792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 Remove leftover embedding of font objects.
19882
19883 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19884 * util/grub-install.in (font): Removed.
19885 * util/grub-mkimage.c (generate_image): Remove font support. All users
19886 updated.
19887
b4c1aae0
VS
198882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19891 Reported by: Ian Turner
b4c1aae0 19892
8920a08d
VS
198932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19896 timeout to avoid indefinite boot stalling.
19897
f21db033
VS
198982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19901 (grub_env_write_color_highlight): Likewise.
19902
9a9de209
VS
199032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * grub-core/normal/term.c (print_more): Return to normal and not
19906 to standard state after printing "---MORE---".
19907
3dca01d7
VS
199082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19911 Mask out the bit 0x80 since it has other meaning that specifiing color.
19912
0b986c40
VS
199132010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 New relocator. Allows for more kernel support and more straightforward
19916 loader writing.
19917
19918 * Makefile.am (BOOTTARGET): New variable.
19919 (QEMU32): Likewise.
19920 (linux.init.x86_64): New target.
19921 (linux.init.i386): Likewise.
19922 (multiboot.elf): Likewise.
19923 (kfreebsd.elf): Likewise.
19924 (kfreebsd.aout): Likewise.
19925 (pc-chainloader.elf): Likewise.
19926 (pc-chainloader.bin): Likewise.
19927 (ntldr.elf): Likewise.
19928 (ntldr.bin): Likewise.
19929 (multiboot2.elf): Likewise.
19930 (kfreebsd.init.x86_64): Likewise.
19931 (kfreebsd.init.i386): Likewise.
19932 (knetbsd.init.i386): Likewise.
19933 (kopenbsd.init.i386): Likewise.
19934 (knetbsd.init.x86_64): Likewise.
19935 (kopenbsd.init.x86_64): Likewise.
19936 (linux-initramfs.i386): Likewise.
19937 (linux-initramfs.x86_64): Likewise.
19938 (kfreebsd-mfsroot.i386.img): Likewise.
19939 (knetbsd.image.i386): Likewise.
19940 (kopenbsd.image.i386): Likewise.
19941 (kopenbsd.image.x86_64): Likewise.
19942 (knetbsd.miniroot-image.i386.img): Likewise.
19943 (kfreebsd-mfsroot.x86_64.img): Likewise.
19944 (knetbsd.image.x86_64): Likewise.
19945 (knetbsd.miniroot-image.x86_64.img): Likewise.
19946 (kfreebsd-mfsroot.i386.gz): Likewise.
19947 (bootcheck-kfreebsd-i386): Likewise.
19948 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19949 (bootcheck-kfreebsd-x86_64): Likewise.
19950 (knetbsd.miniroot-image.i386.gz): Likewise.
19951 (bootcheck-knetbsd-i386): Likewise.
19952 (bootcheck-kopenbsd-i386): Likewise.
19953 (bootcheck-kopenbsd-x86_64): Likewise.
19954 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19955 (bootcheck-knetbsd-x86_64): Likewise.
19956 (bootcheck-linux-i386): Likewise.
19957 (bootcheck-linux-x86_64): Likewise.
19958 (bootcheck-linux16-i386): Likewise.
19959 (bootcheck-linux16-x86_64): Likewise.
19960 (bootcheck-multiboot): Likewise.
19961 (bootcheck-multiboot2): Likewise.
19962 (bootcheck-kfreebsd-aout): Likewise.
19963 (bootcheck-pc-chainloader): Likewise.
19964 (bootcheck-ntldr): Likewise.
19965 (CLEANFILES): Add new targets.
19966 (BOOTCHECKS): New variable.
19967 (.PHONY): Add bootchecks.
19968 (SUCCESSFUL_BOOT_STRING): New variable.
19969 (BOOTCHECK_TIMEOUT): Likewise.
19970 (bootcheck): New target
19971 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19972 * configure.ac: Correct efiemu excuse.
19973 * docs/grub.texi (Supported kernels): New chapter.
19974 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19975 include/grub/mm_private.h. Simplify inclusion of
19976 include/grub/boot.h, include/grub/loader.h
19977 and include/grub/msdos_partition.h
19978 (KERNEL_HEADER_FILES) [i386_coreboot]:
19979 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19980 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19981 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19982 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19983 include/grub/machine/loader.h.
19984 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19985 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19986 extra_dist.
19987 (pci.mod): Enable on i386-multiboot.
19988 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19989 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19990 i386-qemu.
19991 (relocator.mod): Rewritten.
19992 (aout.mod): Enable on all x86.
19993 (bsd.mod): Likewise.
19994 (ntldr.mod): New module.
19995 (linux.mod): Use loader/i386/linux.c on all x86.
19996 (xnu.mod): Enable on all x86.
19997 (vga_text.mod): disable on EFI and QEMU.
19998 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19999 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20000 * grub-core/efiemu/loadcore.c: Likewise.
20001 * grub-core/efiemu/main.c: Likewise.
20002 (grub_efiemu_exit_boot_services): Removed.
20003 (grub_efiemu_finish_boot_services): Likewise.
20004 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20005 function.
20006 * grub-core/efiemu/i386/nocfgtables.c: New file.
20007 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20008 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20009 (grub_efi_finish_boot_services): Moved from here ...
20010 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20011 Fille finish memory map and related data.
20012 (finish_mmap_buf): New variable.
20013 (grub_efi_uintn_t finish_mmap_size): Likewise.
20014 (grub_efi_uintn_t finish_key): Likewise.
20015 (grub_efi_uintn_t finish_desc_size): Likewise.
20016 (grub_efi_uint32_t finish_desc_version): Likewise.
20017 (grub_efi_is_finished): Likewise.
20018 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20019 finished.
20020 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20021 (grub_elf64_phdr_iterate): Likewise.
20022 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20023 (grub_os_area_size): Likewise.
20024 (grub_machine_init): Don't reserve os area.
20025 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20026 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20027 * grub-core/kern/i386/loader.S: Removed.
20028 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20029 (grub_os_area_size): Likewise.
20030 (grub_machine_init): Don't reserve os area.
20031 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20032 Don't call grub_dl_unload_all.
20033 Don't include loader.S.
20034 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20035 Declare the memory after _end as available.
20036 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20037 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20038 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20039 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20040 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20041 * include/grub/mm_private.h (grub_mm_header): ... here.
20042 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20043 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20044 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20045 (grub_mm_region): ..here. Removed addr. Added pre_size.
20046 All users updated.
20047 * grub-core/kern/mm.c (base): Renamed to ...
20048 (grub_mm_base): ... this. Made global.
20049 (grub_real_malloc): Alloc from end of region.
20050 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20051 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20052 * grub-core/kern/powerpc/cache_flush.S: ... here.
20053 * grub-core/lib/efi/relocator.c: New file.
20054 * grub-core/lib/i386/relocator.c: Rewritten.
20055 * grub-core/lib/i386/relocator16.S: New file.
20056 * grub-core/lib/i386/relocator32.S: Likewise.
20057 * grub-core/lib/i386/relocator64.S: Likewise.
20058 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20059 * grub-core/lib/i386/relocator_common.S: New file.
20060 * grub-core/lib/ieee1275/relocator.c: Likewise.
20061 * grub-core/lib/mips/relocator.c: Rewritten.
20062 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20063 stylistic adjustments.
20064 * grub-core/lib/powerpc/relocator.c: New file.
20065 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20066 * grub-core/lib/relocator.c: Rewritten.
20067 * grub-core/lib/x86_64/relocator_asm.S: New file.
20068 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20069 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20070 (bsd_tag): New struct.
20071 (tags): New variable.
20072 (tags_last): Likewise.
20073 (netbsd_module): New struct.
20074 (netbsd_mods): New variable.
20075 (netbsd_mods_last): Likewise.
20076 (openbsd_opts): New parameter "serial".
20077 (OPENBSD_SERIAL_ARG): New definition.
20078 (netbsd_opts): New parameter "serial".
20079 (NETBSD_SERIAL_ARG): New definition.
20080 (grub_freebsd_add_meta): Reorganised into ...
20081 (grub_bsd_add_meta): ...this. All users updated.
20082 (grub_freebsd_add_mmap): Reorganised into ...
20083 (generate_e820_mmap): ...this...
20084 (grub_bsd_add_mmap): ...and this. All users updated.
20085 (grub_freebsd_list_modules): Use tags.
20086 (grub_netbsd_add_meta_module): New function.
20087 (grub_netbsd_list_modules): Likewise.
20088 (grub_freebsd_boot): Use relocator and finish EFI.
20089 (grub_openbsd_boot): Likewise.
20090 (grub_netbsd_setup_video): New function.
20091 (grub_netbsd_add_modules): Likewise.
20092 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20093 and finish EFI.
20094 (grub_bsd_unload): Unload tags.
20095 (grub_bsd_load_aout): Use relocator.
20096 (grub_bsd_elf32_size_hook): New function.
20097 (grub_bsd_elf32_hook): Use relocator.
20098 (grub_bsd_elf64_size_hook): New function.
20099 (grub_bsd_elf64_hook): Use relocator.
20100 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20101 (grub_bsd_load): Zero-out openbsd_ramdisk.
20102 (grub_bsd_load): Use relocator.
20103 (grub_cmd_openbsd): Support serial.
20104 (grub_cmd_netbsd): Support modules.
20105 (grub_cmd_freebsd_module): Use relocator.
20106 (grub_netbsd_module_load): New function.
20107 (grub_cmd_netbsd_module): Likewise.
20108 (grub_cmd_openbsd_ramdisk): Likewise.
20109 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20110 kopenbsd_ramdisk.
20111 (GRUB_MOD_FINI): Unregister new commands.
20112 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20113 (grub_freebsd_load_elfmodule_obj): Use relocator.
20114 (grub_freebsd_load_elfmodule): Likewise.
20115 (grub_freebsd_load_elf_meta): Likewise.
20116 (grub_netbsd_load_elf_meta): New function.
20117 (grub_openbsd_find_ramdisk): Likewise.
20118 * grub-core/loader/i386/bsd_helper.S: Removed.
20119 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20120 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20121 * grub-core/loader/i386/efi/linux.c: Likewise.
20122 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20123 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20124 (DEFAULT_VIDEO_MODE): Likewise.
20125 (real_mode_target): New variable.
20126 (prot_mode_target): Likewise.
20127 (initrd_mem_target): Likewise.
20128 (relocator): Likewise.
20129 (efi_mmap_buf): Likewise.
20130 (efi_mmap_size): Likewise.
20131 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20132 (free_pages): Use relocator.
20133 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20134 (grub_linux_setup_video): Return error.
20135 (grub_linux_trampoline_start): Removed.
20136 (grub_linux_trampoline_end): Likewise.
20137 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20138 andd video parameters depending on firmware.
20139 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20140 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20141 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20142 (grub_cmd_initrd): Use relocator.
20143 * grub-core/loader/i386/linux_trampoline.S: Removed.
20144 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20145 (elf_sec_entsize): Likewise.
20146 (elf_sec_shstrndx): Likewise.
20147 (elf_sections): Likewise.
20148 (grub_multiboot_load): Use relocator.
20149 (grub_multiboot_get_mbi_size): Account for sections.
20150 (grub_multiboot_make_mbi): Use relocator and support sections.
20151 (grub_multiboot_add_elfsyms): New function.
20152 (grub_multiboot_free_mbi): Free sections.
20153 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20154 (grub_linux_real_target): Likewise.
20155 (grub_linux_real_chunk): Likewise.
20156 (grub_linux16_prot_size): Likewise.
20157 (grub_linux16_boot): Use relocator.
20158 (grub_linux_unload): Unload relocator.
20159 (grub_cmd_linux): Use relocator.
20160 (grub_cmd_initrd): Likewise.
20161 * grub-core/loader/i386/pc/ntldr.c: New file.
20162 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20163 Don't try to guess CPU frequency.
20164 (grub_xnu_set_video): Stretch bitmap.
20165 (grub_xnu_boot): Use relocator.
20166 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20167 (grub_linux_unload): Free relocator.
20168 (grub_linux_load32): Use relocator.
20169 (grub_linux_load64): Likewise.
20170 (grub_cmd_initrd): Likewise.
20171 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20172 (grub_multiboot_unload): Unload relocator.
20173 (grub_cmd_multiboot): Use relocator.
20174 (grub_cmd_module): Likewise.
20175 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20176 Use relocator and support sections.
20177 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20178 (elf_sec_entsize): Likewise.
20179 (elf_sec_shstrndx): Likewise.
20180 (elf_sections): Likewise.
20181 (grub_multiboot_load): Use relocator.
20182 (grub_multiboot_get_mbi_size): Account for sections.
20183 (grub_multiboot_make_mbi): Use relocator and support sections.
20184 (grub_multiboot_add_elfsyms): New function.
20185 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20186 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20187 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20188 Prototype changed. All users updated.
20189 (grub_xnu_align_heap): Simplified.
20190 (grub_xnu_writetree_toheap): Likewise.
20191 (grub_xnu_unload): Unload relocator.
20192 (grub_cmd_xnu_kernel): Use relocator.
20193 (grub_cmd_xnu_kernel64): Likewise.
20194 (grub_xnu_register_memory): Simplified.
20195 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20196 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20197 EFI is finished.
20198 (grub_console_checkkey): Likewise.
20199 (grub_console_getkey): Likewise.
20200 (grub_console_getwh): Likewise.
20201 (grub_console_getxy): Likewise.
20202 (grub_console_gotoxy): Likewise.
20203 (grub_console_cls): Likewise.
20204 (grub_console_setcolorstate): Likewise.
20205 (grub_console_setcursor): Likewise.
20206 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20207 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20208 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20209 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20210 * grub-core/tests/boot/kernel-8086.S: Likewise.
20211 * grub-core/tests/boot/kernel-i386.S: Likewise.
20212 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20213 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20214 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20215 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20216 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20217 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20218 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20219 * grub-core/tests/boot/linux.cfg: Likewise.
20220 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20221 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20222 * grub-core/tests/boot/linux16.cfg: Likewise.
20223 * grub-core/tests/boot/multiboot.cfg: Likewise.
20224 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20225 * grub-core/tests/boot/ntldr.cfg: Likewise.
20226 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20227 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20228 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20229 New definition.
20230 * include/grub/dl.h (grub_dl_unload_all): Removed.
20231 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20232 (grub_efi_finish_boot_services): Change prototype.
20233 (grub_efi_is_finished): New variable.
20234 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20235 Changed prototype.
20236 (grub_efiemu_finish_boot_services): Removed.
20237 (grub_machine_efiemu_init_tables): New prototype.
20238 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20239 (grub_elf64_phdr_iterate): Likewise.
20240 * include/grub/i386/bsd.h: Include relocator.h.
20241 (freebsd_tag_header): New struct.
20242 (grub_openbsd_bios_mmap): Removed.
20243 (grub_unix_real_boot): Removed.
20244 (grub_freebsd_load_elfmodule32): Changed prototype.
20245 (grub_freebsd_load_elfmodule_obj64): Likewise.
20246 (grub_freebsd_load_elf_meta32): Likewise.
20247 (grub_freebsd_load_elf_meta64): Likewise.
20248 (grub_freebsd_add_meta): Removed.
20249 (grub_netbsd_load_elf_meta32): New prototype.
20250 (grub_netbsd_load_elf_meta64): Likewise.
20251 (grub_bsd_add_meta): Likewise.
20252 (grub_openbsd_ramdisk_descriptor): New struct.
20253 (grub_openbsd_find_ramdisk32): New prototype.
20254 (grub_openbsd_find_ramdisk64): Likewise.
20255 * include/grub/i386/coreboot/loader.h: Removed.
20256 * include/grub/i386/efi/loader.h: Likewise.
20257 * include/grub/i386/ieee1275/loader.h: Likewise.
20258 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20259 to grub_uint32_t.
20260 * include/grub/i386/loader.h: Removed.
20261 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20262 value.
20263 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20264 (grub_phys_addr_t): New type.
20265 (grub_vtop): New inline function.
20266 (grub_map_memory): Likewise.
20267 (grub_unmap_memory): Likewise.
20268 * include/grub/i386/multiboot/loader.h: Removed.
20269 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20270 (NETBSD_BTINFO_CONSOLE): New definition.
20271 (NETBSD_BTINFO_SYMTAB): Likewise.
20272 (NETBSD_BTINFO_MODULES): Likewise.
20273 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20274 (grub_netbsd_bootinfo): New struct.
20275 (grub_netbsd_btinfo_common): Use explicit bitsize.
20276 (grub_netbsd_btinfo_mmap_entry): Removed.
20277 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20278 (grub_netbsd_btinfo_bootdisk): New struct.
20279 (grub_netbsd_btinfo_symtab): Likewise.
20280 (grub_netbsd_btinfo_serial): Likewise.
20281 (grub_netbsd_btinfo_modules): Likewise.
20282 (grub_netbsd_btinfo_framebuf): Likewise.
20283 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20284 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20285 Likewise.
20286 (grub_openbsd_bootargs): Use explicit bitsize.
20287 (grub_openbsd_bootarg_console): New struct.
20288 (GRUB_OPENBSD_COM_MAJOR): New definition.
20289 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20290 * include/grub/i386/pc/efiemu.h: Removed.
20291 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20292 * include/grub/i386/qemu/loader.h: Removed.
20293 * include/grub/i386/relocator.h: Rewritten.
20294 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20295 * include/grub/mips/memory.h: New file.
20296 * include/grub/mips/multiboot.h: Rewritten.
20297 * include/grub/mips/relocator.h: Rewritten.
20298 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20299 (grub_vtop): New function.
20300 (grub_map_memory): Likewise.
20301 (grub_unmap_memory): Likewise.
20302 * include/grub/misc.h (ALIGN_DOWN): New definition.
20303 * include/grub/mm.h (grub_mm_check_real): New proto.
20304 (GRUB_MM_CHECK): New definition.
20305 * include/grub/mm_private.h: New file.
20306 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20307 (grub_multiboot_get_mbi_size): Removed.
20308 (grub_multiboot_make_mbi): Change prottype.
20309 (grub_multiboot_set_accepts_video): New proto.
20310 (grub_multiboot_add_elfsyms): Likewise.
20311 (grub_multiboot_payload_eip): New variable.
20312 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20313 New prototype.
20314 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20315 New definition.
20316 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20317 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20318 * include/grub/powerpc/ieee1275/loader.h: Removed.
20319 * include/grub/powerpc/memory.h: New file.
20320 * include/grub/powerpc/relocator.h: Likewise.
20321 * include/grub/relocator.h: Likewise.
20322 * include/grub/relocator_private.h: Likewise.
20323 * include/grub/sparc64/ieee1275/loader.h: Removed.
20324 * include/grub/x86_64/memory.h: New file.
20325 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20326 (grub_xnu_heap_malloc): Likewise.
20327 (grub_xnu_heap_real_start): Removed.
20328 (grub_xnu_heap_start): Likewise.
20329 (grub_xnu_relocator): New variable.
20330 (grub_xnu_heap_target_start): Likewise.
20331 * tests/util/grub-shell.in: Support non-pc.
20332 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20333
5303b85d
VS
203342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20337 on malloc error.
20338 (grub_bidi_logical_to_visual): Check that malloc succeded.
20339 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20340 puts.
20341 (grub_xputs_normal): Likewise.
20342
d768d159
VS
203432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20346 extra_dist.
20347
203482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20351
5bf84df4
VS
203522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20355
3626810e
VS
203562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20357
20358 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20359 dprintf.
20360
a7363f53
BC
203612010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20362
20363 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20364
902f75f6
VS
203652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 * grub-core/normal/term.c (print_more): Fix a memory leak.
20368 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20369 (grub_xputs_normal): Likewise.
20370
3c707967
VS
203712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20372
20373 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20374 the begining of the string
20375
2053cc07
VS
203762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 * grub-core/script/script.c (grub_script_parse): Free parsed on
20379 failure.
20380
46422ebf
VS
203812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20384 on failure.
20385
9e0fa3f6
VS
203862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20389 return.
20390
3393cf16
VS
203912010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20392
20393 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20394 (scroll_up): Fix a memory leak.
20395
b17540cb
VS
203962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20399 errors.
20400
67140446
VS
204012010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 Handle USB pendrives exposed as floppies.
20404
20405 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20406 floppy.
20407 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20408 Check for partitions on all devices.
20409
e35e46fc
VS
204102010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20411
20412 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20413 (readkey): Likewise.
20414
d24c6190
BC
204152010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20416
20417 Multiple variable names support to "export" command.
20418
20419 * normal/context.c (grub_cmd_export): "export" command supports
20420 multiple variable names.
20421
04ddcc6a
ST
204222010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20423
20424 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20425 --target=drive output to Mach device name.
20426
0c8b61d8
BC
204272010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20428
20429 New Automake based build system for GRUB.
20430
20431 * ABOUT-NLS: New file.
20432 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20433 in Makefile.util.def file.
20434 * Makefile.util.def: New file. Autogen build definitions file for
20435 GRUB host utils.
20436 * conf/Makefile.common: New file. Common variables for GRUB host
20437 utils and target modules.
20438 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20439 * docs/Makefile.am: New file. Automake file for docs.
20440 * gentpl.py: New file. Python script to generate Autogen
20441 template.
20442 * grub-core/Makefile.am: New file. GRUB target modules' rules
20443 that doesn't fit in Makefile.core.def file.
20444 * grub-core/Makefile.core.def: New file. Autogen build
20445 definitions file for GRUB target modules.
20446 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20447 specific setjmp.S file.
20448 * po/Makefile.am: New file.
20449
20450 * .bzrignore: New ignores.
20451 * INSTALL: New requirements, without Ruby.
20452 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20453 * autogen.sh: Updated to invoke autogen as necessary.
20454 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20455 and defines for Automake conditionals.
20456 * geninit.sh: Refactoring.
20457
20458 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20459 necessary.
20460 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20461 New prototype.
20462
20463 * include/grub/test.h: Fix functional test modules' naming.
20464 * grub-core/tests/example_functional_test.c: Fix test module name.
20465
20466 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20467 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20468 * util/grub-editenv.c: Likewise.
20469 * util/grub-fstest.c: Likewise.
20470 * util/grub-mkdevicemap.c: Likewise.
20471 * util/grub-mkfont.c: Likewise.
20472 * util/grub-mkimage.c: Likewise.
20473 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20474 * util/grub-probe.c: Likewise.
20475 * util/grub-script-check.c: Likewise.
20476 * util/i386/pc/grub-setup.c: Likewise.
20477 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20478
20479 * tests/util/grub-shell.in: Fix override directory path.
20480 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20481 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20482
20483 * util/lvm.c: Update #includes.
20484 * util/raid.c: Likewise.
20485 * util/resolve.c: Likewise.
20486 * grub-core/bus/emu/pci.c: Likewise.
20487 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20488 * grub-core/lib/posix_wrap/string.h: Likewise.
20489 * grub-core/kern/emu/main.c: Likewise.
20490
20491 * grub-core/gensymlist.sh: New file. Script for generating kernel
20492 symbols file.
20493 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20494
20495 * grub-core/gentrigtables.c: Fix unused variable warnings.
20496
20497 * Makefile.in: Removed.
20498 * conf/any-emu.rmk: Removed.
20499 * conf/common.rmk: Removed.
20500 * conf/i386-coreboot.rmk: Removed.
20501 * conf/i386-efi.rmk: Removed.
20502 * conf/i386-ieee1275.rmk: Removed.
20503 * conf/i386-multiboot.rmk: Removed.
20504 * conf/i386-pc.rmk: Removed.
20505 * conf/i386-qemu.rmk: Removed.
20506 * conf/i386.rmk: Removed.
20507 * conf/mips-yeeloong.rmk: Removed.
20508 * conf/mips.rmk: Removed.
20509 * conf/powerpc-ieee1275.rmk: Removed.
20510 * conf/sparc64-ieee1275.rmk: Removed.
20511 * conf/tests.rmk: Removed.
20512 * conf/x86-efi.rmk: Removed.
20513 * conf/x86_64-efi.rmk: Removed.
20514 * gendistlist.sh: Removed.
20515 * geninitheader.sh: Removed.
20516 * genkernsyms.sh.in: Removed.
20517 * genmk.rb: Removed.
20518 * gensymlist.sh.in: Removed.
20519 * mkinstalldirs: Removed.
20520 * boot: Moved ...
20521 * grub-core/boot: ... to here.
20522 * bus: Moved ...
20523 * grub-core/bus: ... to here.
20524 * commands: Moved ...
20525 * grub-core/commands: ... to here.
20526 * disk: Moved ...
20527 * grub-core/disk: ... to here.
20528 * efiemu: Moved ...
20529 * grub-core/efiemu: ... to here.
20530 * font: Moved ...
20531 * grub-core/font: ... to here.
20532 * fs: Moved ...
20533 * grub-core/fs: ... to here.
20534 * gencmdlist.sh: Moved ...
20535 * grub-core/gencmdlist.sh: ... to here.
20536 * genemuinit.sh: Moved ...
20537 * grub-core/genemuinit.sh: ... to here.
20538 * genemuinitheader.sh: Moved ...
20539 * grub-core/genemuinitheader.sh: ... to here.
20540 * genfslist.sh: Moved ...
20541 * grub-core/genfslist.sh: ... to here.
20542 * genhandlerlist.sh: Moved ...
20543 * grub-core/genhandlerlist.sh: ... to here.
20544 * genmoddep.awk: Moved ...
20545 * grub-core/genmoddep.awk: ... to here.
20546 * genmodsrc.sh: Moved ...
20547 * grub-core/genmodsrc.sh: ... to here.
20548 * genpartmaplist.sh: Moved ...
20549 * grub-core/genpartmaplist.sh: ... to here.
20550 * genparttoollist.sh: Moved ...
20551 * grub-core/genparttoollist.sh: ... to here.
20552 * genterminallist.sh: Moved ...
20553 * grub-core/genterminallist.sh: ... to here.
20554 * gentrigtables.c: Moved ...
20555 * grub-core/gentrigtables.c: ... to here.
20556 * genvideolist.sh: Moved ...
20557 * grub-core/genvideolist.sh: ... to here.
20558 * gettext: Moved ...
20559 * grub-core/gettext: ... to here.
20560 * gfxmenu: Moved ...
20561 * grub-core/gfxmenu: ... to here.
20562 * gnulib: Moved ...
20563 * grub-core/gnulib: ... to here.
20564 * hello: Moved ...
20565 * grub-core/hello: ... to here.
20566 * hook: Moved ...
20567 * grub-core/hook: ... to here.
20568 * io: Moved ...
20569 * grub-core/io: ... to here.
20570 * kern: Moved ...
20571 * grub-core/kern: ... to here.
20572 * lib: Moved ...
20573 * grub-core/lib: ... to here.
20574 * loader: Moved ...
20575 * grub-core/loader: ... to here.
20576 * mmap: Moved ...
20577 * grub-core/mmap: ... to here.
20578 * normal: Moved ...
20579 * grub-core/normal: ... to here.
20580 * partmap: Moved ...
20581 * grub-core/partmap: ... to here.
20582 * parttool: Moved ...
20583 * grub-core/parttool: ... to here.
20584 * script: Moved ...
20585 * grub-core/script: ... to here.
20586 * term: Moved ...
20587 * grub-core/term: ... to here
20588 * tests/example_functional_test.c: Moved ...
20589 * grub-core/tests/example_functional_test.c: ... to here.
20590 * tests/lib/functional_test.c: Moved ...
20591 * grub-core/tests/lib/functional_test.c: ... to here.
20592 * tests/lib/test.c: Moved ...
20593 * grub-core/tests/lib/test.c: ... to here.
20594 * video: Moved ...
20595 * grub-core/video: ... to here.
20596
645586e6
BC
205972010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20598
20599 Replace --enable-grub-emu-modules with grub-emu-lite.
20600
20601 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20602 cache.S.
20603
20604 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20605 * kern/emu/full.c: New file. For grub-emu specific initialization.
20606 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20607 * kern/emu/main.c: Call initialization function grub_emu_init.
20608
20609 * Makefile.in: Include grub-emu-lite in install.
20610 * commands/parttool.c: Use grub_no_autoload to differentiate
20611 between grub-emu and grub-emu-lite.
20612 * include/grub/misc.h: New variable grub_no_autoload.
20613
20614 * conf/any-emu.rmk: New rules for grub-emu-lite.
20615 * configure.ac: Remove --enable-grub-emu-modules.
20616 * genmk.rb: Cleanup unnecessary rules.
20617 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20618
20619 * normal/main.c: Don't load list files on grub-emu-lite.
20620 * util/misc.c (grub_arch_sync_caches): Removed.
20621
f86a4030
CW
206222010-08-23 Colin Watson <cjwatson@ubuntu.com>
20623
20624 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20625 grub-mkimage rather than grub-mkelfimage.
20626 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20627
06776944
VS
206282010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20629
20630 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20631 a key after CapsLock or NumLock. It's just a qemu bug.
20632
df262419
VS
206332010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20634
20635 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20636 needed by libusb wrapper.
20637
b40ea81b
ST
206382010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20639
20640 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20641
dee50575
VS
206422010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20643
20644 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20645 --nounzip is passed.
20646
fb1d7b79
VS
206472010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20648
20649 USB hotunplugging and USB serial support.
20650
20651 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20652 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20653 (grub_uhci_transfer): Respect timeout and set *actual.
20654 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20655 non-standard length.
20656 (grub_usb_device_attach): Autoload modules.
20657 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20658 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20659 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20660 users updated.
20661 (grub_usb_add_hub): Fill nports and children.
20662 (attach_root_port): Receive hub instead of controller.
20663 All users updated. Fill hub->devices.
20664 (grub_usb_root_hub): Allocate hub->devices.
20665 (detach_device): New function.
20666 (poll_nonroot_hub): Fill children and detach devices.
20667 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20668 actual arguments. All users updated.
20669 (grub_usb_bulk_read_extended): New function.
20670 * bus/usb/serial/common.c: New file.
20671 * bus/usb/serial/ftdi.c: Likewise.
20672 * bus/usb/serial/pl2303.c: Likewise.
20673 * commands/terminal.c (handle_command): Support wildcard.
20674 * commands/usbtest.c: Output "Unknown" instead of empty string.
20675 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20676 (usbserial_common_mod_SOURCES): New variable.
20677 (usbserial_common_mod_CFLAGS): Likewise.
20678 (usbserial_common_mod_LDFLAGS): Likewise.
20679 (pkglib_MODULES): Add usbserial_pl2303.mod.
20680 (usbserial_pl2303_mod_SOURCES): New variable.
20681 (usbserial_pl2303_mod_CFLAGS): Likewise.
20682 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20683 (pkglib_MODULES): Add usbserial_ftdi.mod.
20684 (usbserial_ftdi_mod_SOURCES): New variable.
20685 (usbserial_ftdi_mod_CFLAGS): Likewise.
20686 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20687 (pkglib_MODULES): Add serial.mod.
20688 (serial_mod_SOURCES): New variable.
20689 (serial_mod_CFLAGS): Likewise.
20690 (serial_mod_LDFLAGS): Likewise.
20691 * conf/i386-pc.rmk: Likewise.
20692 * conf/mips-yeeloong.rmk: Likewise.
20693 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20694 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20695 * disk/usbms.c (first_available_slot): New variable.
20696 (grub_usbms_attach): Don't reuse free slots due to potential cache
20697 problems.
20698 * include/grub/serial.h: Moved to ..
20699 * include/grub/ns8250.h: ...this.
20700 * include/grub/serial.h: New file.
20701 * include/grub/term.h (grub_term_poll_usb): New variable.
20702 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20703 readkey. All users updated.
20704 (grub_terminfo_output_state): Pass term to put.
20705 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20706 (grub_usb_controller_dev): Add timeout and actual arguments to
20707 transfer. All users updated.
20708 (grub_usb_interface): New field detach_data.
20709 (grub_usb_device): New fields children and nports.
20710 (grub_usb_ep_type_t): New type.
20711 (grub_usb_get_ep_type): New function.
20712 (grub_usb_bulk_read_extended): Likewise.
20713 * include/grub/usbdesc.h (grub_usb_desc): New type.
20714 * include/grub/usbserial.h: New file.
20715 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20716 * kern/term.c (grub_term_poll_usb): New variable.
20717 (grub_getkey): Call grub_term_poll_usb if set.
20718 (grub_checkkey): Likewise.
20719 (grub_getkeystatus): Likewise.
20720 * term/serial.c: Moved controller-specific parts to ...
20721 * term/ns8250.c: ... here.
20722 * term/serial.c: Mostly rewritten.
20723 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20724 according to spec.
20725
21a313de
RM
207262010-08-20 Robert Millan <rmh@gnu.org>
20727
20728 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20729 a separate module and maybe other interesting combinations.
20730
20731 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20732 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20733 (kfreebsd_entry): Add generic filesystem module load routine.
20734 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20735
63c734a6
CW
207362010-08-20 Colin Watson <cjwatson@ubuntu.com>
20737
20738 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20739 "numcenter" (I misunderstood the purpose of this entry).
20740 * docs/grub.texi (sendkey): Likewise.
20741
c4d16542
CW
207422010-08-20 Colin Watson <cjwatson@ubuntu.com>
20743
20744 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20745 status flag options; simply omitting the option is equivalent and
20746 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20747 (keysym_table): Rename "num5numlock" to "numlock".
20748 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20749 can uniformly say that only the last of multiple `sendkey'
20750 invocations has any effect.
20751 * docs/grub.texi (sendkey): New section.
20752
93541d66
CW
207532010-08-19 Colin Watson <cjwatson@ubuntu.com>
20754
20755 * commands/i386/pc/sendkey.c (options): Fix three typos.
20756
b4ece5e1
VS
207572010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20758
20759 Implement sendkey support.
20760
20761 * commands/i386/pc/sendkey.c: New file.
20762 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20763 (sendkey_mod_SOURCES): New variable.
20764 (sendkey_mod_CFLAGS): Likewise.
20765 (sendkey_mod_LDFLAGS): Likewise.
20766
51f1f5af
CW
207672010-08-18 Colin Watson <cjwatson@ubuntu.com>
20768
20769 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20770 fix warnings from Autoconf.
20771
9da94e05
CW
207722010-08-18 Colin Watson <cjwatson@ubuntu.com>
20773
20774 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20775 to avoid false positives with some assemblers that output things
20776 like "someprefix_func" as part of their output.
20777
729a0f2e
RM
207782010-08-15 Robert Millan <rmh@gnu.org>
20779
20780 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20781 errors.
20782 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20783 grub_get_libzfs_handle() errors.
20784
f3710e08
RM
207852010-08-14 Robert Millan <rmh@gnu.org>
20786
20787 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20788 filesystem is not ZFS.
20789
7a3c13de
BC
207902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20791
20792 Fix for misspelled color names defaulting to black/black (bug
20793 reported by Doug Nazar)
20794
20795 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20796 status to prototype.
20797 * normal/color.c (grub_parse_color_name_pair): Return failure
20798 status.
20799 (grub_env_write_color_normal): Ignore bad color names.
20800 (grub_env_write_color_highlight): Likewise.
20801 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20802
ab8ba50d
BC
208032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20804
20805 "shift" command support to GRUB script.
20806
20807 * include/grub/script_sh.h (grub_script_shift): New prototype.
20808 * script/execute.c (grub_script_shift): New function.
20809 * script/main.c (grub_script_init): Register shift command.
20810 (grub_script_fini): Unregister shift command.
20811 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20812
20813 * tests/grub_script_shift.in: New testcase.
20814 * conf/tests.rmk: Rules for new testcase.
20815
4d61999e
BC
208162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20817
20818 "continue" command support to GRUB script.
20819
20820 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20821 (grub_script_break): Continue support.
20822 * script/main.c (grub_script_init): Register continue command.
20823 (grub_script_fini): Unregister continue command.
20824
20825 * tests/grub_script_continue.in: New testcase.
20826 * conf/tests.rmk: Rules for new testcase.
20827
4df51e00
BC
208282010-08-12 BVK Chaitanya <bvk@dbook>
20829
20830 "break" command support to GRUB script.
20831
20832 * conf/common.rmk: Rule updates to grub-script-check.
20833 * include/grub/misc.h (grub_min): New function.
20834 * include/grub/script_sh.h (grub_script_init): New prototype.
20835 (grub_script_fini): New prototype.
20836 (grub_script_break): New prototype.
20837 * script/main.c (grub_script_init): New function.
20838 (grub_script_fini): New function.
20839 * script/execute.c (grub_script_break): New function.
20840 * normal/main.c: Calls to grub_script_{init,fini}.
20841 * util/grub-script-check.c (grub_script_break): New function.
20842
20843 * tests/grub_script_break.in: New testcase.
20844 * conf/tests.rmk: Rules for new test case.
20845
f12c8420
BC
208462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20847
20848 Function parameters support to GRUB script.
20849
20850 * script/yylex.l (VARIABLE): Regular expression update.
20851 * script/function.c (grub_script_function_call): Moved ...
20852 * script/execute.c (grub_script_function_call): ... to here.
20853 (grub_script_execute_arglist_to_argv): Removed.
20854 (grub_script_arglist_to_argv): New function.
20855 * script/argv.c: New file.
20856 (grub_script_argv_free): New function.
20857 (grub_script_argv_next): Likewise.
20858 (grub_script_argv_append): Likewise.
20859 (grub_script_argv_split_append): Likewise.
20860 * include/grub/script_sh.h (grub_script_argv): New struct.
20861 (grub_script_argv_free): New function.
20862 (grub_script_argv_next): Likewise.
20863 (grub_script_argv_append): Likewise.
20864 (grub_script_argv_split_append): Likewise.
20865
20866 * conf/common.rmk (normal.mod): New source script/argv.c.
20867
20868 * tests/grub_script_echo1.in: More tests.
20869 * tests/grub_script_vars1.in: Likewise.
20870 * tests/grub_script_functions.in: New test case.
20871 * conf/tests.rmk: Rules for new testcase.
20872
8022b748
BC
208732010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20874
20875 Remove grub_script_cmdblock struct.
20876
20877 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20878 * script/parser.y: Likewise.
20879 * script/execute.c: Rename cmdblock suffix to cmdlist.
20880 * script/script.c: Likewise.
20881 * util/grub-script-check.c: Likewise.
20882
79a6ba61
YB
208832010-08-11 Yves Blusseau <blusseau@zetam.org>
20884
20885 * .bzrignore: add grub-macho2img
20886
d04b9414
VS
208872010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20888
20889 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20890
f947ab49
VS
208912010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20892
20893 Remove the dump of sm712 initialisation sequence.
20894
20895 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20896 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20897 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20898 (GRUB_VGA_CR_*): Added many registers.
20899 (GRUB_VGA_SR_*): Likewise.
20900 (GRUB_VGA_GR_*): Likewise.
20901 (grub_vga_write_arx): New function.
20902 (grub_video_hw_config): New struct.
20903 (grub_vga_set_geometry): New function.
20904 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20905 GRUB_PCI_CLASS_SUBCLASS_VGA.
20906 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20907 * video/sm712.c (grub_sm712_write_reg): New function
20908 (grub_sm712_read_reg): Likewise.
20909 (grub_sm712_sr_write): Likewise.
20910 (grub_sm712_gr_write): Likewise.
20911 (grub_sm712_cr_write): Likewise.
20912 (grub_sm712_write_arx): Likewise.
20913 (grub_sm712_cr_shadow_write): Likewise.
20914 (grub_sm712_write_dda_lookup): Likewise.
20915 (grub_video_sm712_setup): Initialise the video rather then
20916 blindly replay the dump.
20917 (main) [TEST]: Add a routine to be able to compile as standalone for
20918 tests.
20919 * video/sm712_init.c (sm712_init): Removed.
20920 (sm712_sr_seq1): New array.
20921 (sm712_sr_seq2): Likewise.
20922
f0206638
VS
209232010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20924
20925 * include/grub/vga.h: Add missing grub/pci.h include.
20926
2764da3b
YB
209272010-08-10 Yves Blusseau <blusseau@zetam.org>
20928
20929 * util/grub-macho2img.c (main): fix typo
20930
cf0c775e
VS
209312010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20932
20933 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20934 (grub_vga_gr_read): Likewise.
20935 (grub_vga_cr_write): Likewise.
20936 (grub_vga_cr_read): Likewise.
20937 (grub_vga_sr_write): Likewise.
20938 (grub_vga_sr_read): Likewise.
20939 (grub_vga_palette_read): Likewise.
20940 (grub_vga_palette_write): Likewise.
20941 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20942 (grub_sm712_sr_read): New function.
20943 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20944 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20945
07f360e9
RM
209462010-08-09 Robert Millan <rmh@gnu.org>
20947
20948 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20949 out unused variables on non-ZFS build.
20950
346c2072
RM
209512010-08-08 Robert Millan <rmh@gnu.org>
20952
20953 Fix path generation for sub-filesystems in ZFS.
20954
20955 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20956 missing slash.
20957
71175420
RM
209582010-08-08 Robert Millan <rmh@gnu.org>
20959
20960 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20961
0d8286f3
RM
209622010-08-08 Robert Millan <rmh@gnu.org>
20963
20964 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20965 exist, issue a proper error message (rely on `ls' for translated
20966 strings).
20967
55dd2924
RM
209682010-08-08 Robert Millan <rmh@gnu.org>
20969
20970 Fix grub-probe invocation.
20971
20972 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20973
d3dd9e80
RM
209742010-08-04 Robert Millan <rmh@gnu.org>
20975
20976 * configure.ac: Remove checks for getfsstat() and getmntany().
20977 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20978 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20979 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20980 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20981 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20982 function.
20983 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20984 via find_mount_point_from_dir() and getfsstat() / getmntany().
20985
0de22aa9
RM
209862010-08-04 Robert Millan <rmh@gnu.org>
20987
20988 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20989 (grub_find_zpool_from_mount_point): Merge into ...
20990 (grub_find_zpool_from_dir): ... this.
20991 * kern/emu/misc.c: Likewise.
20992
20993 * kern/emu/misc.c
20994 (grub_make_system_path_relative_to_its_root): Replace
20995 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20996 with grub_find_zpool_from_dir().
20997 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20998
62858144
RM
209992010-08-04 Robert Millan <rmh@gnu.org>
21000
21001 Support OpenSolaris in ZFS device resolution.
21002
21003 * configure.ac: Check for getmntany().
21004 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21005 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21006 support.
21007
9dd6fd50
RM
210082010-08-03 Robert Millan <rmh@gnu.org>
21009
21010 Fix grub-emu build.
21011
21012 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21013 * include/grub/emu/misc.h: ... here.
21014
21015 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21016 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21017
21018 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21019 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21020 (grub_get_libzfs_handle): Move to ...
21021 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21022 (grub_get_libzfs_handle): ... here.
21023
c9f7ff97
BC
210242010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21025
21026 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21027 as command name case.
21028
a870a783
CW
210292010-08-02 Colin Watson <cjwatson@ubuntu.com>
21030
21031 * disk/raid.c (insert_array): Select unique numbers for named arrays
21032 as well, for use as keys in the disk cache.
21033
c7db243b
RM
210342010-08-01 Robert Millan <rmh@gnu.org>
21035
21036 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21037 kFreeBSD device name, except on ZFS where the filesystem label is
21038 used.
21039 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21040 `/boot/zfs/zpool.cache'.
21041 Set mountfrom kernel variable using ${kfreebsd_device}.
21042
f7abdefb
RM
210432010-08-01 Robert Millan <rmh@gnu.org>
21044
21045 Make it even harder to use uninitialized `libzfs_handle' (and
21046 make the interface a bit simpler).
21047
21048 * include/grub/util/misc.h (grub_util_init_libzfs)
21049 (libzfs_handle): Remove.
21050 (grub_get_libzfs_handle): New prototype.
21051
21052 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21053 attribute.
21054 (grub_util_init_libzfs): Remove.
21055 (grub_get_libzfs_handle): New function.
21056
21057 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21058 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21059 accessing `libzfs_handle' directly.
21060
c882acc0
RM
210612010-08-01 Robert Millan <rmh@gnu.org>
21062
21063 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21064 (grub_find_zpool_from_mount_point): New function prototypes.
21065
21066 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21067 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21068
21069 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21070 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21071 `static' attribute.
21072
21073 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21074 finding zpool from mount point into ...
21075 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21076
21077 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21078 requested path is part of a ZFS pool, use
21079 grub_find_zpool_from_mount_point() to detect its filesystem name,
21080 and generate a path with `/fsname@path' syntax.
21081
8bfe31d8
CW
210822010-08-01 Colin Watson <cjwatson@ubuntu.com>
21083
21084 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21085 (void) rather than () so that this is a proper prototype.
21086
553df63d
VS
210872010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21088
21089 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21090
8687cf07
VS
210912010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21092
21093 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21094 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21095
ea9be8ea
CW
210962010-08-01 Colin Watson <cjwatson@ubuntu.com>
21097
21098 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21099
6eea041a
CW
211002010-08-01 Colin Watson <cjwatson@ubuntu.com>
21101
21102 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21103
2cfb45df
CW
211042010-08-01 Colin Watson <cjwatson@ubuntu.com>
21105
21106 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21107 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21108 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21109 disable gfxpayload.
21110 (Shell-like scripting): Add real content.
21111 (Serial terminal): Suggest `terminal_input serial; terminal_output
21112 serial' rather than putting the two commands on separate lines,
21113 since console input will be inoperative after the first command.
21114 (menuentry): Document --class, --users, and --hotkey options.
21115 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21116 Vladimir Serbinenko).
21117
7decd202
VS
211182010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
211192010-08-01 Colin Watson <cjwatson@ubuntu.com>
21120
21121 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21122
c882acc0
RM
211232010-08-01 Robert Millan <rmh@gnu.org>
21124
21125 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21126 (grub_find_zpool_from_mount_point): New function prototypes.
21127
21128 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21129 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21130
21131 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21132 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21133 `static' attribute.
21134
21135 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21136 finding zpool from mount point into ...
21137 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21138
21139 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21140 requested path is part of a ZFS pool, use
21141 grub_find_zpool_from_mount_point() to detect its filesystem name,
21142 and generate a path with `/fsname@path' syntax.
21143
deb0caa3
RM
211442010-08-01 Robert Millan <rmh@gnu.org>
21145
21146 Prevent accidental use of uninitialized libzfs_handle.
21147
21148 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21149 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21150 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21151
ce04ef47
CW
211522010-08-01 Colin Watson <cjwatson@ubuntu.com>
21153
21154 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21155 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21156
ebf53056
RM
211572010-08-01 Robert Millan <rmh@gnu.org>
21158
21159 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21160
3710bb6b
RM
211612010-07-31 Robert Millan <rmh@gnu.org>
21162
21163 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21164
8072efeb
RM
211652010-07-31 Robert Millan <rmh@gnu.org>
21166
21167 * kern/emu/misc.c: Add missing license header.
21168
3169f4c7
RM
211692010-07-31 Robert Millan <rmh@gnu.org>
21170
21171 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21172
21173 * include/grub/util/libnvpair.h: Include `<config.h>'.
21174 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21175 declaring libnvpair prototypes ourselves.
21176 * include/grub/util/libzfs.h: Include `<config.h>'.
21177 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21178 declaring libzfs prototypes ourselves.
21179
21180 (libzfs_handle): Moved to ...
21181 * include/grub/util/misc.h (libzfs_handle): ... here.
21182 Include `<grub/util/libzfs.h>'.
21183
c9a00aee
RM
211842010-07-30 Robert Millan <rmh@gnu.org>
21185
21186 * include/grub/emu/misc.h: Add missing license header.
21187
a184f9c8
RM
211882010-07-30 Robert Millan <rmh@gnu.org>
21189
21190 Enable `grub-probe -t device' resolution on ZFS.
21191
21192 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21193 * include/grub/util/libnvpair.h: New file.
21194 * include/grub/util/libzfs.h: New file.
21195
21196 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21197 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21198 `<grub/util/libnvpair.h>'.
21199 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21200
21201 (find_mount_point_from_dir): New static function.
21202 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21203 function.
21204 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21205 find_root_device_from_libzfs() before ressorting to find_root_device().
21206
21207 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21208 prototype.
21209 * util/misc.c: Include `<grub/util/libzfs.h>'.
21210 (grub_util_init_libzfs): New function.
21211 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21212 [HAVE_LIBZFS] (fini_libzfs): New static function.
21213 (grub_util_init_libzfs): New function.
21214 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21215
f7790cdd
RM
212162010-07-30 Robert Millan <rmh@gnu.org>
21217
21218 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21219 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21220 `warn_unused_result' attribute.
21221 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21222 (grub_xasprintf, grub_xvasprintf): Likewise.
21223 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21224
0806b63c
RM
212252010-07-29 Robert Millan <rmh@gnu.org>
21226
21227 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21228 (probe): Handle `PRINT_FS_LABEL'.
21229 (main): Handle `-t fs_label'.
21230
9f841f5c
RM
212312010-07-29 Robert Millan <rmh@gnu.org>
21232
21233 * configure.ac: Remove grub-mkisofs checks.
21234
46371121
VS
212352010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21236
21237 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21238 Reported by: Lennart Sorensen.
21239
212402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21243 prior to terminal_input/terminal_output separation. It's been over 1.5
21244 years and those versions weren't widely deployed.
21245
a9600892
CW
212462010-07-22 Colin Watson <cjwatson@ubuntu.com>
21247
21248 * disk/raid.c (insert_array): Don't count named arrays when looking
21249 for unused array numbers.
697e053c 21250 Reported and tested by: Michael Guntsche.
a9600892 21251
c03507df
CW
212522010-07-20 Colin Watson <cjwatson@ubuntu.com>
21253
21254 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21255 implementation of this so that grub-emu links again, with a note
21256 that this should support hotplugging in the future.
21257
b26f1c11
CW
212582010-07-20 Colin Watson <cjwatson@ubuntu.com>
21259
21260 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21261
efc9d7f1
CW
212622010-07-20 Colin Watson <cjwatson@ubuntu.com>
21263
21264 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21265 handle on failure.
21266 (grub_loopback_close): Remove empty function.
21267 (grub_loopback_dev): Remove close method.
21268
dd8ff5c9
CW
212692010-07-20 Colin Watson <cjwatson@ubuntu.com>
21270
21271 Disable EFI cursor when the EFI console becomes inactive.
21272
21273 * term/efi/console.c (grub_efi_console_init): New function.
21274 (grub_efi_console_fini): New function.
21275 (grub_console_term_output): Register init and fini methods.
21276
5e3bec67
VS
212772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21280 sh script.
21281
afaec079
VS
212822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * disk/loopback.c (grub_loopback): Replace filename with file.
21285 (delete_loopback): Handle new semantics.
21286 (grub_cmd_loopback): Likewise.
21287 (grub_loopback_iterate): Likewise.
21288 (grub_loopback_close): Likewise.
21289
a6a11f3c
VS
212902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21291
21292 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21293 with -p "".
21294 Reported by: Tito Keitel.
21295
64a638b0
VS
212962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21297
21298 * docs/grub.texi (Naming convention): Document new naming convention.
21299
ab8ba957
VS
213002010-07-20 Vadim Solomin <vadic052@gmail.com>
213012010-07-20 Colin Watson <cjwatson@ubuntu.com>
21302
21303 Generate device.map in something closer to the old ordering.
21304
21305 * util/deviceiter.c (struct device): New declaration.
21306 (compare_file_names): Rename to ...
21307 (compare_devices): ... this. Sort by kernel name in preference to
21308 the stable by-id name, but keep the latter as a fallback comparison.
21309 Update header comment.
21310 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21311 of `struct device' rather than of plain file names.
21312
a29d6a4b
TF
213132010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21314
21315 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21316 on i386.
21317
39d824e8
VS
213182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21319
21320 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21321 hardcoding size.
21322 (setv1table): Likewise.
21323
f058276b
FZ
213242010-07-20 Colin Watson <cjwatson@ubuntu.com>
21325
21326 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21327 removing the homehost if present.
21328 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21329 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21330 removing the homehost if present.
21331 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21332 if possible.
21333 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21334
21335 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21336 parameter. Set its pointer target to 0.
21337 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21338 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21339 `data_offset' value from the superblock for 1.x metadata.
21340 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21341 data on the device.
21342 (insert_array): Record the start sector of data on the device.
21343 (grub_raid_register): Pass start_sector parameters to
21344 grub_raid_list->detect and insert_array.
21345 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21346 member.
21347 (struct grub_raid): Add start_sector parameter to `detect'.
21348
21349 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21350 __attribute__ ((packed)), leaving a comment.
21351 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21352 (grub_mdraid_detect_09): ... here and ...
21353 (grub_mdraid_detect_1x): ... here.
21354
213552010-07-20 Peter Henn <peter.henn@web.de>
21356
21357 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21358 chunk size and disk size, which are already given as sector counts
21359 as distinct from the 0.90 units. Fetch the correct device number
21360 from the role table instead of using the table index.
21361
213622010-07-20 Felix Zielcke <fzielcke@z-51.de>
21363
21364 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21365 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21366 (WriteMostly1): New macro.
21367 Set array->name to NULL for metadata format 0.90. Add support for
21368 metadata 1.x. Fix some comments.
21369 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21370 few comments.
21371 * util/getroot.c (grub_util_get_grub_dev): Add support for
21372 /dev/md/name style devices.
21373
4b761da9
CW
213742010-07-20 Colin Watson <cjwatson@ubuntu.com>
21375
21376 * .bzrignore: Ignore 20_linux_xen.
21377
5771289a
CW
213782010-07-17 Colin Watson <cjwatson@ubuntu.com>
21379
21380 * util/import_unicode.py: Remove unnecessary imports.
21381
5dab68df
AN
213822010-07-17 Aleš Nesrsta <starous@volny.cz>
21383
21384 Hotplugging and USB hub support.
21385
21386 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21387 (grub_ohci): Likewise.
21388 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21389 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21390 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21391 (GRUB_OHCI_CTRL_EDS): Likewise.
21392 (GRUB_OHCI_BULK_EDS): Likewise.
21393 (GRUB_OHCI_TDS): Likewise.
21394 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21395 (grub_ohci_ed_phys2virt): New function.
21396 (grub_ohci_virt_to_phys): Likewise.
21397 (grub_ohci_td_phys2virt): Likewise.
21398 (grub_ohci_td_virt2phys): Likewise.
21399 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21400 attachment.
21401 (grub_ohci_find_ed): New function.
21402 (grub_ohci_alloc_td): Likewise.
21403 (grub_ohci_free_td): Likewise.
21404 (grub_ohci_free_tds): Likewise.
21405 (grub_ohci_transfer): Use previously allocated memory.
21406 (grub_ohci_portstatus): Reset status changed bit.
21407 (grub_ohci_detect_dev): Supply status changed.
21408 (grub_ohci_fini_hw): Free memory.
21409 (grub_ohci_restore_hw): Reallocate memory.
21410 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21411 Reset status change.
21412 (grub_uhci_detect_dev): Supply status_change.
21413 * bus/usb/usb.c (attach_hooks): New var.
21414 (grub_usb_device_attach): New function.
21415 (grub_usb_register_attach_hook_class): Likewise.
21416 (grub_usb_unregister_attach_hook_class): Likewise.
21417 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21418 (grub_usb_add_hub): Reset connection changed bit.
21419 (attach_root_port): New function.
21420 (grub_usb_root_hub): Likewise.
21421 (poll_nonroot_hub): Likewise.
21422 (grub_usb_poll_devices): Likewise.
21423 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21424 * disk/usbms.c (grub_usbms_open): Use device hooks.
21425 (grub_usbms_iterate) :Poll devices.
21426 (grub_usbms_finddevs): Split into ...
21427 (grub_usbms_attach): ... this ...
21428 (grub_usbms_attach): ... and this.
21429 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21430 in detect_dev.
21431 (grub_usb_interface): New fields attached and detach_hook.
21432 (grub_usb_attach_hook_class): New type.
21433 (grub_usb_attach_desc): New struct.
21434 (grub_usb_register_attach_hook_class): New function.
21435 (grub_usb_unregister_attach_hook_class): Likewise.
21436 (grub_usb_poll_devices): Likewise.
21437 (grub_usb_device_attach): Likewise.
21438 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21439 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21440
3222efaf
VS
214412010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21444 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21445 delta determination style. Works with most NetBSD partitions too.
21446
139b714a
VS
214472010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21450 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21451
986aad56
VS
214522010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21453
21454 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21455
99be513c
AB
214562010-07-14 Anton Blanchard <anton@samba.org>
21457
21458 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21459 ET_DYN files.
21460
18075f62
GS
214612010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21462
21463 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21464
8d9a5b15
GS
214652010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21466
21467 * kern/partition.c (grub_partition_check_containment): New function to
21468 check that a partition is physically contained in a parent. Since
21469 offsets are relative (and non-negative), this reduces to checking that
21470 the partition ends before its parent.
21471 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21472 (grub_partition_iterate): Likewise.
21473 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21474 comments.
21475 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21476 partitions that start before their parent, and add debug printfs.
21477
19563c25
CW
214782010-07-13 Colin Watson <cjwatson@ubuntu.com>
21479
21480 * Makefile.in (.SUFFIX): Spell correctly, as ...
21481 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21482 bare module name without `.mod', e.g. `test') tried to invoke a
21483 Modula-2 compiler.
21484
1a1f1e67
CW
214852010-07-13 Colin Watson <cjwatson@ubuntu.com>
21486
21487 * README: Point to the Info manual.
21488
811b0dca
JS
214892010-07-13 Jiro SEKIBA <jir@unicus.jp>
21490
21491 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21492 2nd superblock position from partition size.
21493
e4f4eafc
CW
214942010-07-10 Colin Watson <cjwatson@ubuntu.com>
21495
21496 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21497 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21498 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21499 outputs.
21500
4274c30f
VS
215012010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21502
21503 Restructure SCSI .id handling.
21504 Reported and tested by: Aleš Nesrsta.
21505
21506 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21507 (grub_atapi_dev): Changed .name to "ata". New field .id.
21508 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21509 (grub_usbms_dev): New field .id.
21510 * disk/scsi.c (grub_scsi_iterate): Generate name.
21511 (grub_scsi_open): Parse name.
21512 * include/grub/scsi.h (grub_make_scsi_id): New function.
21513 (grub_scsi_dev): Change iterate and open to number instead of naming
21514 busses. All users updated.
21515 (grub_scsi): Remove name. Add .bus.
21516
5bc24388
VS
215172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21518
21519 * commands/help.c (grub_cmd_help): Fix a typo.
21520
249975ba
VS
215212010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21524 Reported and tested by: Colin Watson.
21525
3eaac1a1
VS
215262010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21529 in this context.
21530
becce1b1
VS
215312010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21532
21533 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21534
f7bf0918
CW
215352010-07-07 Colin Watson <cjwatson@ubuntu.com>
21536
21537 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21538 indentation.
21539
0b0f9620
CW
215402010-07-06 Colin Watson <cjwatson@ubuntu.com>
21541
21542 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21543 and disk/raid6_recover.c.
21544 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21545 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21546
1e545469
CW
215472010-07-06 Colin Watson <cjwatson@ubuntu.com>
21548
21549 * term/gfxterm.c (repaint_schedulded): Rename to ...
21550 (repaint_scheduled): ... this. Update all callers.
21551 (repaint_was_schedulded): Rename to ...
21552 (repaint_was_scheduled): ... this. Update all callers.
21553
5357687a
CW
215542010-07-06 Colin Watson <cjwatson@ubuntu.com>
21555
21556 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21557 which we expect to be handled by upper layers.
21558
29d7e783
BC
215592010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21560
21561 * bus/usb/usbhub.c: #include time.h header.
21562
37582066
CW
215632010-07-06 Colin Watson <cjwatson@ubuntu.com>
21564
21565 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21566 entry_name also for entries without stat blocks (e.g. ".."); fixes
21567 corruption of the first entry in a directory.
21568
c8c06953
CW
215692010-07-06 Colin Watson <cjwatson@ubuntu.com>
21570
21571 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21572 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21573 doesn't work otherwise.
21574
e75056f1
CW
215752010-07-05 Colin Watson <cjwatson@ubuntu.com>
21576
21577 * docs/grub.texi (Features): Update list of supported file systems.
21578 (GNU/Linux): Update for GRUB 2.
21579 (Serial terminal): Remove mention of --disable-serial, which was a
21580 GRUB Legacy configure option. Update instructions to use
21581 `terminal_input' and `terminal_output' rather than `terminal'.
21582 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21583 configuration' and `Installing GRUB using grub-install'.
21584 (Menu entry editor): Update for GRUB 2.
21585 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21586 Document new -a, -u, and -v options.
21587 (initrd): New section.
21588 (initrd16): New section.
21589 (linux): New section.
21590 (linux16): New section.
21591 (search): The `var' argument to `--set' is optional.
21592 (GRUB only offers a rescue shell): Go into a little more detail on
21593 drive ordering.
21594
5cf69151
CW
215952010-07-05 Colin Watson <cjwatson@ubuntu.com>
21596
21597 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21598
e3f90044
CW
215992010-07-05 Colin Watson <cjwatson@ubuntu.com>
21600
21601 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21602 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21603
38d8f4f3
CW
216042010-07-05 Colin Watson <cjwatson@ubuntu.com>
21605
21606 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21607 install_prefix, in line with install_dos_part and install_bsd_part.
21608 Add new prefix variable, which is copied to install_prefix after
21609 comparing core.img in memory with the one read from disk in the
21610 no-embedding case, and use that rather than overwriting
21611 install_prefix immediately when installing to a partition.
21612 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21613 Bicakci.
21614
57ebd41e
GS
216152010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21616
21617 * configure.ac: Avoid == in test command, it's not portable.
21618 * util/grub.d/30_os-prober.in: Likewise.
21619
cb7f64b2
CW
216202010-07-04 Colin Watson <cjwatson@ubuntu.com>
21621
21622 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21623
6b654bb0
GS
216242010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21625
21626 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21627 multiple (top-level) partmaps.
21628
72a2026d
VS
216292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21630
21631 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21632 Reported by: Tino Keitel.
72a2026d 21633
df3eb88f
VS
216342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21635
21636 Bidi and diacritics support.
21637
21638 * Makefile.in (widthspec.bin): New target.
21639 (widthspec.h): Likewise.
21640 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21641 * autogen.sh: Generate unidata.c.
21642 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21643 * commands/ls.c (grub_ls_list_devices): Likewise.
21644 (grub_ls_list_files): Likewise.
21645 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21646 (grub_mini_cmd_lsmod): Likewise.
21647 * commands/read.c: Likewise.
21648 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21649 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21650 * lib/arg.c (grub_arg_show_help): Likewise.
21651 * lib/crypto.c (grub_password_get): Likewise.
21652 * normal/auth.c (grub_username_get): Likewise.
21653 * normal/misc.c (grub_normal_print_device_info): Likewise.
21654 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21655 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21656 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21657 (normal/charset.c_DEPENDENCIES): New variable.
21658 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21659 (pkglib_MODULES): Remove charset.mod.
21660 (charset_mod_SOURCES): Removed.
21661 (charset_mod_CFLAGS): Likewise.
21662 (charset_mod_LDFLAGS): Likewise.
21663 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21664 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21665 and term/tparm.c.
21666 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21667 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21668 (kernel_img_HEADERS): Add terminfo.h.
21669 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21670 Fill ->font. Reverse ascii bitmaps.
21671 (grub_font_get_xheight): New function.
21672 * font/font.c (grub_font_get_string_width): Moved from here ...
21673 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21674 * font/font.c (grub_font_draw_string): Moved from here ...
21675 * gfxmenu/font.c (grub_font_draw_string): ... here.
21676 * font/font.c (grub_font_dup_glyph): New function.
21677 (grub_font_blit_glyph): Likewise.
21678 (grub_font_blit_glyph_mirror): Likewise.
21679 (blit_comb): Likewise.
21680 (grub_font_construct_dry_run): Likewise.
21681 (grub_font_get_constructed_device_width): Likewise.
21682 (grub_font_construct_glyph): Likewise.
21683 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21684 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21685 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21686 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21687 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21688 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21689 (grub_font_get_xheight): New proto.
21690 (grub_font_get_constructed_device_width): Likewise.
21691 (grub_font_construct_glyph): Likewise.
21692 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21693 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21694 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21695 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21696 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21697 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21698 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21699 (grub_console_getcharwidth): Likewise.
21700 * include/grub/misc.h (grub_xputs): New proto.
21701 (grub_puts): Inlined.
21702 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21703 (grub_normal_get_line_counter): Removed.
21704 (grub_install_newline_hook): Likewise.
21705 (grub_normal_get_char_counter): New proto.
21706 (grub_normal_reset_more): Likewise.
21707 (grub_xputs_normal): Likewise.
21708 * include/grub/powerpc/ieee1275/console.h: Removed.
21709 * include/grub/sparc64/ieee1275/console.h: Likewise.
21710 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21711 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21712 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21713 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21714 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21715 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21716 (grub_term_input): Pass reference to self. All users updated.
21717 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21718 Pass reference to self. New fields normal_color, highlight_color and
21719 data. All users updated.
21720 (grub_putchar): Removed.
21721 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21722 (grub_unicode_estimate_width): New function.
21723 (grub_term_getcharwidth): Add defaults.
21724 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21725 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21726 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21727 (grub_cls): Remove EXPORT_FUNC.
21728 (grub_setcolorstate): Inline.
21729 (grub_newline_hook): Removed.
21730 * include/grub/terminfo.h: Rewritten. All users updated.
21731 * include/grub/unicode.h: New file.
21732 * include/grub/video.h (grub_video_signed_rect): New type.
21733 * kern/emu/console.c (grub_console_highlight_color): Removed.
21734 (grub_console_normal_color): Likewise.
21735 (grub_console_standard_color): Made static.
21736 (grub_ncurses_putchar): Remove mapping.
21737 (grub_ncurses_getcharwidth): Removed.
21738 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21739 (grub_ncurses_setcolor): Removed.
21740 (grub_ncurses_getcolor): Likewise.
21741 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21742 (grub_console_putchar): ... this.
21743 (grub_console_putchar): Handle argument difference.
21744 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21745 console_init_early and console_init_lately.
21746 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21747 * kern/misc.c (grub_puts): Removed.
21748 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21749 (grub_vsnprintf_real): Remove str = NULL support.
21750 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21751 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21752 * kern/term.c (grub_putcode): Renamed to ...
21753 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21754 (grub_putchar): Removed.
21755 (grub_xputs_dumb): New function.
21756 (grub_xputs): New variable.
21757 * lib/charset.c: Move from here ...
21758 * normal/charset.c: ... to here.
21759 (grub_ucs4_to_utf8): New function.
21760 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21761 (join_types): New variable.
21762 (unpack_join): New function.
21763 (bidi_types): New variable.
21764 (unpack_bidi): New function.
21765 (get_bidi_type): Likewise.
21766 (get_join_type): Likewise.
21767 (is_mirrored): Likewise.
21768 (grub_unicode_get_comb_type): Likewise.
21769 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21770 (is_type_after): Likewise.
21771 (grub_unicode_aglomerate_comb): Likewise.
21772 (bidi_line_wrap): Likewise.
21773 (grub_bidi_line_logical_to_visual): Likewise.
21774 (grub_bidi_logical_to_visual): Likewise.
21775 (grub_unicode_mirror_code): Likewise.
21776 (grub_unicode_shape_code): Likewise.
21777 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21778 Don't use grub_putchar.
21779 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21780 (grub_normal_reader_init): Likewise.
21781 (grub_xputs_saved): New variable.
21782 (GRUB_MOD_INIT): Set grub_xputs.
21783 (GRUB_MOD_FINI): Restore grub_xputs.
21784 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21785 (menu_init): Avoid printing gfxmenu error.
21786 (show_menu): Use grub_normal_get_char_counter.
21787 * normal/menu_entry.c (update_screen): Fix out-of-array.
21788 (complete): Avoid NULL dereferencing.
21789 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21790 * normal/menu_text.c (print_spaces): Removed.
21791 (grub_print_ucs4): Likewise.
21792 (grub_print_message_indented): Use grub_print_ucs4.
21793 (print_message): Use grub_putcode.
21794 (print_entry): Hanlde diacritics.
21795 * normal/term.c (term_state): New type.
21796 (grub_more_lines): Removed.
21797 (term_states): New variable.
21798 (grub_normal_line_counter): Renamed to ..
21799 (grub_normal_char_counter): ...this. All users updated.
21800 (grub_normal_get_line_counter): Renamed to ...
21801 (grub_normal_get_char_counter): ... this.
21802 (grub_normal_reset_more): New function.
21803 (process_newline): Removed.
21804 (print_more): New function.
21805 (grub_install_newline_hook): Removed.
21806 (map_code): New function.
21807 (grub_puts_terminal): Use grub_print_ucs4.
21808 (putglyph): New function.
21809 (putcode_real): Likewise.
21810 (grub_putcode): Use putcode_real.
21811 (get_maxwidth): New function.
21812 (get_startwidth): Likewise.
21813 (print_ucs4_terminal): Likewise.
21814 (find_term_state): Likewise.
21815 (put_glyphs_terminal): Likewise.
21816 (print_backlog): Likewise.
21817 (print_ucs4_real): Likewise.
21818 (grub_print_ucs4): Likewise.
21819 (grub_xputs_normal): Likewise.
21820 * term/efi/console.c (grub_console_putchar): Output diacritics.
21821 (grub_console_getcharwidth): Removed.
21822 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21823 * term/gfxterm.c (clear_char): Free chars.
21824 (scroll_up): Avoid leaking memory.
21825 (grub_gfxterm_putchar): Support diacritics.
21826 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21827 * term/i386/pc/console.c (grub_console_term_output): Declare as
21828 GRUB_TERM_CODE_TYPE_VGA.
21829 * term/i386/pc/vga.c (grub_vga_term): Declare as
21830 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21831 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21832 GRUB_TERM_CODE_TYPE_VGA.
21833 * term/i386/vga_common.c (map_char): Removed.
21834 (grub_console_putchar): Likewise.
21835 (grub_console_getcharwidth): Likewise.
21836 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21837 (colors): Reordered to match terminfo.
21838 (grub_ofconsole_normal_color): Removed.
21839 (grub_ofconsole_writeesc): Likewise.
21840 (grub_ofconsole_highlight_color): Likewise.
21841 (grub_ofconsole_getcharwidth): Likewise.
21842 (grub_ofconsole_setcolorstate): Likewise.
21843 (grub_ofconsole_setcolor): Likewise.
21844 (grub_ofconsole_getcolor): Likewise.
21845 (grub_ofconsole_readkey): Renamed to ...
21846 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21847 key.
21848 (grub_ofconsole_checkkey): Removed.
21849 (grub_ofconsole_getkey): Likewise.
21850 (grub_ofconsole_getxy): Likewise.
21851 (grub_ofconsole_gotoxy): Likewise.
21852 (grub_ofconsole_cls): Likewise.
21853 (grub_ofconsole_refresh): Likewise.
21854 (grub_ofconsole_terminfo_input): New struct.
21855 (grub_ofconsole_terminfo_output): Likewise.
21856 (grub_ofconsole_term_input): Use terminfo.
21857 (grub_ofconsole_term_output): Likewise.
21858 (grub_console_init): Split into ...
21859 (grub_console_init_early): ...this and ...
21860 (grub_console_init_lately): ...this. Use terminfo.
21861 (grub_ofconsole_putchar): Renamed to ...
21862 (put): ... this. Remove mapping.
21863 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21864 * term/serial.c: Simplify using terminfo.
21865 (xpos): Removed.
21866 (ypos): Likewise.
21867 (keep_track): Likewise.
21868 (registered): Likewise.
21869 (input_buf): Likewise.
21870 (npending): Likewise.
21871 (serial_translate_key_sequence): Likewise.
21872 (fill_input_buf): Likewise.
21873 (grub_serial_checkkey): Likewise.
21874 (grub_serial_getkey): Likewise.
21875 (grub_serial_getxy): Likewise.
21876 (grub_serial_gotoxy): Likewise.
21877 (grub_serial_putchar): Likewise.
21878 (grub_serial_cls): Likewise.
21879 (grub_serial_setcolorstate): Likewise.
21880 (grub_serial_setcursor): Likewise.
21881 (serial_hw_init): Use serial_hw_fetch.
21882 (grub_serial_terminfo_input): New variable.
21883 (grub_serial_terminfo_output): Likewise.
21884 (grub_serial_term_input): Use terminfo.
21885 (grub_serial_term_output): Likewise.
21886 * term/terminfo.c (putstr): Use put.
21887 (grub_terminfo_all_free): New function
21888 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21889 (grub_terminfo_output_register): New function.
21890 (grub_terminfo_output_unregister): Likewise.
21891 (grub_terminfo_getxy): Likewise.
21892 (grub_terminfo_readkey): Likewise.
21893 (grub_terminfo_checkkey): Likewise.
21894 (grub_terminfo_getkey): Likewise.
21895 (grub_terminfo_input_init): Likewise.
21896 (print_terminfo): Likewise.
21897 (grub_cmd_terminfo): Handle encoding.
21898 (grub_terminfo_gotoxy): Track position.
21899 (grub_terminfo_cls): Likewise.
21900 (grub_terminfo_putchar): Likewise.
21901 (grub_terminfo_setcolorstate): Handle colors
21902 (grub_terminfo_cursor_on): This ...
21903 (grub_terminfo_cursor_off): ... and this merged into ...
21904 (grub_terminfo_setcursor): ... this.
21905 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21906 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21907 * unicode/BidiMirroring.txt: Likewise.
21908 * unicode/UnicodeData.txt: Likewise.
21909 * unicode/COPYING: Likewise.
21910 * util/grub-editenv.c (grub_putchar): Removed.
21911 (grub_xputs_real): New function.
21912 (grub_xputs): New variable.
21913 * util/grub-fstest.c (grub_putchar): Removed.
21914 (grub_xputs_real): New function.
21915 (grub_xputs): New variable.
21916 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21917 (grub_xputs_real): New function.
21918 (grub_xputs): New variable.
21919 * util/grub-probe.c (grub_putchar): Removed.
21920 (grub_xputs_real): New function.
21921 (grub_xputs): New variable.
21922 * util/grub-script-check.c (grub_putchar): Removed.
21923 (grub_xputs_real): New function.
21924 (grub_xputs): New variable.
21925 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21926 (grub_xputs_real): New function.
21927 (grub_xputs): New variable.
21928 * util/import_unicode.py: New file.
21929 * util/grub-mkfont.c (ft_errmsgs): New array.
21930 (grub_glyph_info): Make bitmap a pointer.
21931 (file_formats): New type WIDTH_SPEC.
21932 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21933 (options): Add width-spec.
21934 (help): Likewise.
21935 (add_char): Renamed to ...
21936 (add_glyph): ... this.
21937 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21938 (glyph_replace): New type.
21939 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21940 (add_char): New function.
21941 (add_subst): Likewise.
21942 (process_cursive): Likewise.
21943 (add_font): Handle GSUB.
21944 (write_font_width_spec): New function.
21945 (main): Sort glyphs.
21946 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21947 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21948 * kern/term.c (grub_cls): Moved from here...
21949 * normal/term.c (grub_cls): ... here.
21950
50f0bcda
CW
219512010-07-02 Colin Watson <cjwatson@ubuntu.com>
21952
21953 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21954 suitable for using within the format argument of printf when
21955 converting grub_size_t.
21956 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21957 "x" to convert grub_size_t arguments.
21958
40372103
VS
219592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21960
21961 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21962 too long captions.
21963 (list_get_minimal_size): Take selection box into account.
21964
942a10c7
VS
219652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21966
21967 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21968 NULL font.
21969
2bdb2892
CW
219702010-07-02 Colin Watson <cjwatson@ubuntu.com>
21971
21972 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21973 devices when iterating over /dev/disk/by-id; they will be handled
21974 later if appropriate, which they aren't always (e.g. LVM).
21975
e03ed6c1
CW
219762010-07-02 Colin Watson <cjwatson@ubuntu.com>
21977
21978 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21979 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21980 fails.
21981 (grub_halt): Likewise.
21982 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21983 reset-all fails.
21984 (grub_halt): Don't return, even if all of shut-down, power-off, and
21985 poweroff fail.
21986
47695765
CW
219872010-07-02 Colin Watson <cjwatson@ubuntu.com>
21988
21989 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21990 arguments, not three.
21991
507736c8
CW
219922010-07-02 Colin Watson <cjwatson@ubuntu.com>
21993
21994 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21995 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21996 LVM-on-RAID is handled correctly.
21997
e3c8cd37
CW
219982010-07-02 Colin Watson <cjwatson@ubuntu.com>
21999
22000 * docs/grub.texi (Changes from GRUB Legacy): New section.
22001 (Future): Fix typo.
22002
8d4a2fec
CW
220032010-07-02 Colin Watson <cjwatson@ubuntu.com>
22004
22005 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22006 grub.d/README accidentally ends up executable for one reason or
22007 another. Ignore it.
22008
1c4827be
VS
220092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22012 (gpt_partition_map_iterate): Support non-512B sectors.
22013
d9a0c941
VS
220142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22015
22016 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22017 Tested by: Seth Goldberg.
22018
48f27e87
VS
220192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22020
22021 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22022 Properly align mbi.
22023 Reported by: Seth Goldberg.
22024
b0c4f956
VS
220252010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22026
22027 * util/grub-mkrescue.in: Avoid module duplication.
22028
105a2e8c
SF
220292010-07-01 Sean Finney <seanius@seanius.net>
22030
22031 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22032
5944958c
SF
220332010-07-01 Sean Finney <seanius@seanius.net>
22034
22035 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22036
220372010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 * disk/lvm.c (grub_lvm_checkvalue): New function.
22040 (grub_lvm_check_flag): Likewise.
22041
b79889ba
RM
220422010-07-01 Robert Millan <rmh@gnu.org>
22043
22044 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22045 Support 'p' as partition separator on kernel of FreeBSD (used
22046 with GPT labels).
22047 (grub_util_biosdisk_get_grub_dev): Likewise.
22048
ec1d04f1
VS
220492010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22050
22051 Yeeloong firmware port.
22052
22053 * boot/mips/yeeloong/fwstart.S: New file.
22054 * bus/cs5536.c (gpiodump): New const.
22055 (set_io_space): New function.
22056 (set_iod): Likewise.
22057 (set_p2d): Likewise.
22058 (grub_cs5536_init_geode): Likewise.
22059 * commands/mips/yeeloong/lsspd.c: New file.
22060 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22061 (serial_mod_SOURCES): New variable.
22062 (serial_mod_CFLAGS): Likewise.
22063 (serial_mod_LDFLAGS): Likewise.
22064 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22065 term/terminfo.c and term/tparm.c.
22066 (pkglib_IMAGES): Add fwstart.img.
22067 (fwstart_img_SOURCES): New variable.
22068 (fwstart_img_CFLAGS): Likewise.
22069 (fwstart_img_ASFLAGS): Likewise.
22070 (fwstart_img_LDFLAGS): Likewise.
22071 (fwstart_img_FORMAT): Likewise.
22072 (pkglib_MODULES): Add lsspd.mod.
22073 (lsspd_mod_SOURCES): New variable.
22074 (lsspd_mod_CFLAGS): Likewise.
22075 (lsspd_mod_LDFLAGS): Likewise.
22076 (pkglib_MODULES): Add halt.mod.
22077 (halt_mod_SOURCES): New variable.
22078 (halt_mod_CFLAGS): Likewise.
22079 (halt_mod_LDFLAGS): Likewise.
22080 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22081 (serial_mod_SOURCES): Removed.
22082 (serial_mod_CFLAGS): Likewise.
22083 (serial_mod_LDFLAGS): Likewise.
22084 * disk/ata.c (check_device): New function.
22085 (grub_ata_device_initialize): Use check_device.
22086 (grub_ata_iterate): Recheck devices.
22087 (grub_ata_open): Likewise.
22088 (grub_atapi_iterate): Likewise.
22089 (grub_atapi_open): Likewise.
22090 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22091 (GRUB_ATA_CH1_PORT1): Likewise.
22092 (GRUB_ATA_CH0_PORT2): Likewise.
22093 (GRUB_ATA_CH1_PORT2): Likewise.
22094 * include/grub/mips/loongson.h: New file.
22095 * include/grub/mips/yeeloong/ec.h: Likewise.
22096 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22097 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22098 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22099 * include/grub/misc.h (grub_halt): Declare as noreturn.
22100 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22101 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22102 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22103 (UART_ENABLE_DTRRTS): Likewise.
22104 (UART_ENABLE_MODEM): Removed.
22105 (UART_ENABLE_OUT2): New const.
22106 * include/grub/term.h (grub_term_register_input_active): New function.
22107 (grub_term_register_output_active): Likewise.
22108 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22109 argument.
22110 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22111 (init_pci): New function.
22112 (grub_machine_init): Execute platform init when firmware. Init serial.
22113 (grub_halt): Implement.
22114 (grub_exit): Likewise.
22115 (grub_reboot): Likewise.
22116 * term/serial.c (serial_hw_init): Update macros.
22117 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22118 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22119 (image_targets): New target mipsel-yeeloong-flash.
22120 (generate_image): Support IMAGE_YEELOONG_FLASH.
22121 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22122 (grub_video_sm712_setup): Init card.
22123 (grub_video_sm712_set_palette): Removed.
22124 * video/sm712_init.c: New file.
22125
ff4a70d2
CW
221262010-06-30 Colin Watson <cjwatson@ubuntu.com>
22127
22128 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22129 PATH when running help2man and then run it on the unadorned
22130 executable names, rather than passing $(builddir)/* paths to
22131 help2man. This avoids the build directory ending up in generated
22132 manual pages.
22133
1246efeb
CW
221342010-06-29 Colin Watson <cjwatson@ubuntu.com>
22135
22136 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22137 to avoid accidents when debugging with 'sh -x'.
22138 * util/grub-mkrescue.in: Likewise.
22139 * util/grub.d/00_header.in: Likewise.
22140 * util/grub.d/10_hurd.in: Likewise.
22141 * util/grub.d/10_kfreebsd.in: Likewise.
22142 * util/grub.d/10_linux.in: Likewise.
22143 * util/grub.d/10_netbsd.in: Likewise.
22144 * util/grub.d/10_windows.in: Likewise.
22145 * util/grub.d/20_linux_xen.in: Likewise.
22146 * util/grub.d/30_os-prober.in: Likewise.
22147 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22148
1ba9b889
CW
221492010-06-29 Colin Watson <cjwatson@ubuntu.com>
22150
22151 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22152 last character in the buffer.
22153 Reported by: Vladimir Serbinenko.
22154
dccaf99d
RM
221552010-06-29 Robert Millan <rmh@gnu.org>
22156
22157 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22158 (Command-line and menu entry commands): Document `badram' command.
22159
d500ed12
RM
221602010-06-28 Robert Millan <rmh@gnu.org>
22161
22162 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22163 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22164 command using ${GRUB_BADRAM} as parameter.
22165
20bc84a6
CW
221662010-06-28 Colin Watson <cjwatson@ubuntu.com>
22167
22168 * docs/grub.texi (Device map): New section.
22169 (Themes): New section (stub).
22170 * Makefile.in (docs/grub.info): The info documentation now builds
22171 without errors. Make sure it stays that way.
22172
4045dee1
VS
221732010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22174
22175 Use normal parser for menu entries.
22176 Reported by: Thomas Frauendorfer
22177
22178 * include/grub/parser.h (grub_parser_execute): Don't export.
22179 * normal/menu.c (grub_menu_execute_entry_real): New function.
22180 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22181
bca58c7b
CW
221822010-06-28 Colin Watson <cjwatson@ubuntu.com>
22183
22184 * docs/grub.texi (Embedded configuration): New section (replacing
22185 old "Preset Menu" stub).
22186 (Images): New section.
22187 (configfile): Note that any menu entries defined in `file' are shown
22188 immediately.
22189
dec53e63
JT
221902010-06-28 Josh Triplett <josh@joshtriplett.org>
22191
22192 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22193
c06e40f7
CW
221942010-06-28 Colin Watson <cjwatson@ubuntu.com>
22195
22196 * util/grub-install.in: Add --debug-image= option.
22197
cb88052b
CW
221982010-06-28 Colin Watson <cjwatson@ubuntu.com>
22199
22200 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22201 possible on Linux.
22202
22203 * util/deviceiter.c (check_device): Rename to ...
22204 (check_device_readable_unique): ... this. Update all callers.
22205 Maintain and check a list of which devices (by canonicalized name)
22206 have already been seen.
22207 (clear_seen_devices): New function.
22208 (compare_file_names) [__linux__]: New function.
22209 (grub_util_iterate_devices): Clear the list of seen devices on exit
22210 and (just in case) on entry.
22211 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22212 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22213 seen-devices list, superseded by general code in check_device.
22214
bbe34652
CW
222152010-06-28 Colin Watson <cjwatson@ubuntu.com>
22216
22217 * commands/cat.c (options): New variable.
22218 (grub_cmd_cat): Parse options. If the --dos option is given, print
22219 DOS-style "\r\n" line endings as simple newlines (Debian bug
22220 #586358).
22221 (GRUB_MOD_INIT): Use extcmd.
22222 (GRUB_MOD_FINI): Likewise.
22223 * docs/grub.texi (cat): Document --dos.
22224
412e09f3
VS
222252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22226
22227 XEN with Linux grub-mkconfig support.
22228
22229 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22230 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22231 GRUB_CMDLINE_XEN_DEFAULT.
22232 * util/grub.d/20_linux_xen.in: New file.
22233
53f3ef38 222342010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22235
22236 Initialise VGA video on qemu ourselves.
22237
22238 * boot/i386/qemu/boot.S: Don't call 0xc000.
22239 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22240 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22241 (kernel_img_HEADERS): Add pci.h.
22242 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22243 * configure.ac: Force unifont on qemu and yeeloong.
22244 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22245 (grub_vga_palette_write): Use correct register.
22246 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22247 Call grub_qemu_init_cirrus.
22248 * kern/i386/qemu/init.c: New file.
22249 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22250
22251 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22252
c75be4fb
PR
222532010-06-26 Pavel Roskin <proski@gnu.org>
22254
22255 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22256 13.
22257
d8034603
CW
222582010-06-26 Colin Watson <cjwatson@ubuntu.com>
22259
22260 * docs/grub.texi (Simple configuration): Explain that
22261 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22262 set to `true' to disable their respective recovery entries, not
22263 merely set.
22264
3fa06487
CW
222652010-06-26 Colin Watson <cjwatson@ubuntu.com>
22266
22267 Make the `source' command slightly faster.
22268
22269 * normal/main.c (grub_normal_execute): Don't re-read list files when
22270 nested.
22271
e9b29642
CW
222722010-06-23 Colin Watson <cjwatson@ubuntu.com>
22273
22274 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22275 field position and mask size to red fields from mode_info, not
22276 green.
22277 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22278 Remove redundant tag->common.framebuffer_type assignment.
22279 Reported by: Seth Goldberg.
22280
e726542f
CW
222812010-06-23 Colin Watson <cjwatson@ubuntu.com>
22282
22283 Sync up other versions of the Linux loader with Robert Millan's
22284 change of 2010-01-09, "Make loader output a bit more user-friendly".
22285
22286 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22287 grub_dprintf().
22288 (grub_cmd_linux): Likewise.
22289 (grub_cmd_initrd): Likewise.
22290 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22291 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22292
d6e98a17
CW
222932010-06-21 Colin Watson <cjwatson@ubuntu.com>
22294
22295 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22296 larger than MEMORY_MAP_SIZE.
22297
14d3f08e
BC
222982010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22299
22300 Fix parallel build.
22301
22302 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22303 dependency.
22304 * script/parser.y: #include grub_script.tab.h header.
22305
4f9613a3
VS
223062010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22307
22308 Support >3GiB and <16MiB RAM in i386-qemu.
22309
22310 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22311 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22312 (grub_lower_mem): Removed.
22313 (grub_upper_mem): Likewise.
22314 (mem_size): Made static.
22315 (above_4g): New variable.
22316 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22317 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22318 support.
22319
05e51879
VS
223202010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22321
22322 Cirrus 5446 and Bochs video cards support.
22323
22324 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22325 video_bochs.mod
22326 (video_cirrus_mod_SOURCES): New variable.
22327 (video_cirrus_mod_CFLAGS): Likewise.
22328 (video_cirrus_mod_LDFLAGS): Likewise.
22329 (video_bochs_mod_SOURCES): Likewise.
22330 (video_bochs_mod_CFLAGS): Likewise.
22331 (video_bochs_mod_LDFLAGS): Likewise.
22332 * include/grub/vga.h: New file.
22333 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22334 (grub_video_fb_set_page_t): New type.
22335 (grub_video_fb_setup): New prototype.
22336 (grub_video_fb_swap_buffers): Likewise.
22337 (grub_video_fb_get_info_and_fini): Likewise.
22338 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22339 (CRTC_DATA_PORT): Likewise.
22340 (CRTC_CURSOR): Likewise.
22341 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22342 (CRTC_CURSOR_ADDR_LOW): Likewise.
22343 (CRTC_CURSOR_DISABLE): Likewise.
22344 (update_cursor): Use grub_vga_cr_write.
22345 (grub_vga_text_setcursor): Likewise.
22346 * video/bochs.c: New file.
22347 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22348 (palette): Likewise.
22349 (palette_size): Likewise.
22350 (framebuffer): New variable.
22351 (grub_video_fb_init): Use 'framebuffer'.
22352 (grub_video_fb_fini): Likewise.
22353 (grub_video_fb_get_info): Likewise.
22354 (grub_video_fb_get_palette): Likewise.
22355 (grub_video_fb_set_palette): Likewise.
22356 (grub_video_fb_set_viewport): Likewise.
22357 (grub_video_fb_get_viewport): Likewise.
22358 (grub_video_fb_map_color): Likewise.
22359 (grub_video_fb_map_rgb): Likewise.
22360 (grub_video_fb_map_rgba): Likewise.
22361 (grub_video_fb_unmap_color): Likewise.
22362 (grub_video_fb_unmap_color_int): Likewise.
22363 (grub_video_fb_fill_rect): Likewise.
22364 (grub_video_fb_blit_bitmap): Likewise.
22365 (grub_video_fb_blit_render_target): Likewise.
22366 (grub_video_fb_scroll): Likewise.
22367 (grub_video_fb_create_render_target): Likewise.
22368 (grub_video_fb_doublebuf_blit_init): Likewise.
22369 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22370 (doublebuf_pageflipping_update_screen): New function.
22371 (doublebuf_pageflipping_init): Likewise.
22372 (grub_video_fb_setup): Likewise.
22373 (grub_video_fb_swap_buffers): Likewise.
22374 (grub_video_fb_get_info_and_fini): Likewise.
22375 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22376 All users updated.
22377 (doublebuf_pageflipping_commit): Restructured into ...
22378 (doublebuf_pageflipping_set_page): ... this.
22379 (doublebuf_pageflipping_update_screen): Removed.
22380 (doublebuf_pageflipping_init): Likewise.
22381 (double_buffering_init): Likewise.
22382 (grub_video_vbe_setup): Use grub_video_fb_setup.
22383 (grub_video_vbe_swap_buffers): Removed.
22384 (grub_video_vbe_set_active_render_target): Likewise.
22385 (grub_video_vbe_get_active_render_target): Likewise.
22386 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22387 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22388 grub_video_fb_set_active_render_target and
22389 grub_video_fb_get_active_render_target.
22390 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22391 (SEQUENCER_DATA_PORT): Likewise.
22392 (MAP_MASK_REGISTER): Likewise.
22393 (CRTC_ADDR_PORT): Likewise.
22394 (CRTC_DATA_PORT): Likewise.
22395 (START_ADDR_HIGH_REGISTER): Likewise.
22396 (START_ADDR_LOW_REGISTER): Likewise.
22397 (GRAPHICS_ADDR_PORT): Likewise.
22398 (GRAPHICS_DATA_PORT): Likewise.
22399 (READ_MAP_REGISTER): Likewise.
22400 (INPUT_STATUS1_REGISTER): Likewise.
22401 (INPUT_STATUS1_VERTR_BIT): Likewise.
22402 (get_map_mask): Use grub_vga_sr_read.
22403 (set_map_mask): Use grub_vga_sr_write.
22404 (set_read_map): Use grub_vga_gr_write.
22405 (set_start_address): Use grub_vga_cr_write.
22406 * video/sm712.c (framebuffer): Remove leftover fields.
22407
4321c64a
CW
224082010-06-20 Colin Watson <cjwatson@ubuntu.com>
22409
22410 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22411 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22412 instead. Replace the gfxterm backend check with a check that
22413 ${GRUB_PREFIX}/video.lst is non-empty.
22414 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22415 again.
22416 (load_video): New generated function. Call it before loading
22417 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22418 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22419 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22420 * docs/grub.texi (Simple configuration): Document
22421 GRUB_VIDEO_BACKEND.
22422
224232010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22424
22425 Use video functions in linux and xnu loaders.
22426
22427 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22428 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22429 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22430 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22431 loader/i386/pc/linux.c.
22432 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22433 (find_line_len): Removed.
22434 (find_framebuf): Likewise.
22435 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22436 * loader/i386/efi/xnu.c: Removed.
22437 * loader/i386/pc/xnu.c: Moved from here...
22438 * loader/i386/xnu.c: ...here.
22439
22440 Enable priorities in video drivers.
22441
22442 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22443 (grub_video_adapter): New field prio.
22444 (grub_video_register): Respect prio when inserting.
22445 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22446 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22447 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22448 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22449 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22450 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22451 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22452
22453 Fix SDL driver ID.
22454
22455 * include/grub/video.h (grub_video_driver_id_t): New value
22456 GRUB_VIDEO_DRIVER_SDL.
22457 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22458
7d24e434
CW
224592010-06-17 Colin Watson <cjwatson@ubuntu.com>
22460
22461 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22462 argument to printf.
22463 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22464
c88a83f6
CW
224652010-06-17 Colin Watson <cjwatson@ubuntu.com>
22466
22467 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22468 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22469
094dfb69
CW
224702010-06-17 Colin Watson <cjwatson@ubuntu.com>
22471
22472 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22473 directly, and recommend grub-install instead.
22474 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22475
2164da6b
CW
224762010-06-17 Colin Watson <cjwatson@ubuntu.com>
22477
22478 Fix i386-pc prefix handling with nested partitions (Debian bug
22479 #585068). Note that the case where the core image is booted using
22480 multiboot and relocated from its original location still requires
22481 more work.
22482
22483 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22484 with "(,", fill the boot drive in between those two characters, but
22485 expect that a full partition specification including partition map
22486 names will follow.
22487 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22488 specified, write a prefix without the drive name but including a
22489 full partition specification.
22490
044e2e60
CW
224912010-06-16 Colin Watson <cjwatson@ubuntu.com>
22492
22493 * util/grub-mkconfig.in: Ignore non-option arguments, for
22494 compatibility with older versions (before 2010-06-12) which did the
22495 same. In particular, this makes it easier to ship an update-grub
22496 wrapper which is compatible with that used with GRUB Legacy (Debian
22497 bug #586056).
22498
5591324f
GS
224992010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22500
22501 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22502 for manual page generation.
22503
662e24d5
GS
225042010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22505
22506 * po/POTFILES: Remove leftover commands/handler.c.
22507
8d70754e
CW
225082010-06-14 Colin Watson <cjwatson@ubuntu.com>
22509
22510 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22511 left this script non-functional.
22512
41160e2e
CW
225132010-06-14 Colin Watson <cjwatson@ubuntu.com>
22514
22515 * docs/man/grub-emu.h2m: New file.
22516
b5309cc1
CW
225172010-06-13 Colin Watson <cjwatson@ubuntu.com>
22518
22519 * docs/grub.texi (Commands): Document reduced command set in rescue
22520 mode.
22521 (cpuid): New section.
22522
fcb2d090
GS
225232010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22524
22525 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22526 new partition naming style.
22527 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22528
96e5c556
BC
225292010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22530
22531 Add "-o grub.iso" like cmdline options support.
22532
22533 * util/grub-install.in: Improve cmdline option parsing.
22534 * util/grub-mkconfig.in: Likewise.
22535 * util/grub-mkrescue.in: Likewise.
22536 * util/grub-reboot.in: Likewise.
22537 * util/grub-set-default.in: Likewise.
22538 * util/i386/efi/grub-install.in: Likewise.
22539 * util/ieee1275/grub-install.in: Likewise.
22540 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22541
c16be99b
CW
225422010-06-12 Colin Watson <cjwatson@ubuntu.com>
22543
22544 * .bzrignore: Ignore 41_custom.
22545
ce08a9fb
TS
225462010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22547
22548 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22549
7beac90c
CW
225502010-06-12 Colin Watson <cjwatson@ubuntu.com>
22551
22552 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22553 prototype declarations.
22554
22555 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22556 generating fs, partmap, and video lists.
22557 * include/grub/fs.h (grub_fs_register): Omit prototype if
22558 GRUB_LST_GENERATOR is defined.
22559 * include/grub/partition.h (grub_partition_map_register): Likewise.
22560 * include/grub/video.h (grub_video_register): Likewise.
22561
1c8f0f8d
JM
225622010-06-12 Javier Martín <lordhabbit@gmail.com>
22563
22564 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22565
a6085973
TS
225662010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22567
22568 * util/grub-mkrescue.in: Support --xorriso argument.
22569
25c56d29
VS
225702010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22571
22572 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22573 Suggested by: Thomas Schmitt.
22574
e03e4b24
VS
225752010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22576
22577 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22578 Suggested by: Thomas Schmitt.
22579
57711df6
VS
225802010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22581
22582 custom.cfg support.
22583
22584 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22585 * util/grub.d/41_custom.in: New file.
22586
ee62c427
CW
225872010-06-12 Colin Watson <cjwatson@ubuntu.com>
22588
22589 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22590 been merged back into normal.
22591
283af07a
CW
225922010-06-11 Colin Watson <cjwatson@ubuntu.com>
22593
22594 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22595 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22596
56a0d956
CW
225972010-06-11 Colin Watson <cjwatson@ubuntu.com>
22598
22599 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22600 when generating manual pages.
22601 * docs/man/grub-bin2h.h2m: New file.
22602 * docs/man/grub-editenv.h2m: New file.
22603 * docs/man/grub-fstest.h2m: New file.
22604 * docs/man/grub-install.h2m: New file.
22605 * docs/man/grub-macho2img.h2m: New file.
22606 * docs/man/grub-mkconfig.h2m: New file.
22607 * docs/man/grub-mkdevicemap.h2m: New file.
22608 * docs/man/grub-mkfont.h2m: New file.
22609 * docs/man/grub-mkimage.h2m: New file.
22610 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22611 * docs/man/grub-mkrelpath.h2m: New file.
22612 * docs/man/grub-mkrescue.h2m: New file.
22613 * docs/man/grub-ofpathname.h2m: New file.
22614 * docs/man/grub-pe2elf.h2m: New file.
22615 * docs/man/grub-probe.h2m: New file.
22616 * docs/man/grub-reboot.h2m: New file.
22617 * docs/man/grub-script-check.h2m: New file.
22618 * docs/man/grub-set-default.h2m: New file.
22619 * docs/man/grub-setup.h2m: New file.
22620
3a37e322
VS
226212010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22622
22623 Use FOR_* macros instead of *_iterate whenever possible.
22624
22625 * commands/handler.c: Removed.
22626 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22627 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22628 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22629 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22630 (grub_probe_SOURCES): Remove kern/parser.c.
22631 (util/grub-script-check.c_DEPENDENCIES): Removed.
22632 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22633 and grub_script_check_init.c.
22634 (grub_script_check_init.lst): Removed.
22635 (grub_script_check_init.h): Likewise.
22636 (grub_script_check_init.c): Likewise.
22637 (pkglib_MODULES): Remove handler.mod and sh.mod.
22638 (handler_mod_SOURCES): Removed.
22639 (handler_mod_CFLAGS): Likewise.
22640 (handler_mod_LDFLAGS): Likewise.
22641 (normal_mod_SOURCES): Remove normal/handler.c.
22642 Add script/main.c, script/script.c, script/execute.c,
22643 script/function.c, script/lexer.c, grub_script.tab.c
22644 and grub_script.yy.c.
22645 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22646 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22647 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22648 (grub_setup_SOURCES): Remove kern/parser.c.
22649 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22650 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22651 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22652 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22653 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22654 (grub_setup_SOURCES): Remove kern/parser.c.
22655 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22656 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22657 * include/grub/command.h (grub_command_iterate): Removed.
22658 (FOR_COMMANDS): New macro.
22659 * include/grub/dl.h (grub_dl): New member next.
22660 (grub_dl_iterate): Removed.
22661 (grub_dl_head): New variable declaration.
22662 (FOR_DL_MODULES): New macro.
22663 * include/grub/fs.h: Include list.h.
22664 (grub_fs): Make next first element.
22665 (grub_fs_list): New variable declaration.
22666 (grub_fs_register): Make inline.
22667 (grub_fs_unregister): Likewise.
22668 (grub_fs_iterate): Removed.
22669 (FOR_FILESYSTEMS): New macro.
22670 * include/grub/handler.h: Removed.
22671 * include/grub/list.h (grub_list_hook_t): Removed.
22672 (grub_list_test_t): Likewise.
22673 (grub_list_pop): Likewise.
22674 (grub_list_iterate): Likewise.
22675 (grub_list_insert): Likewise.
22676 (FOR_LIST_ELEMENTS): New macro.
22677 * include/grub/parser.h (grub_parser_class): Removed.
22678 (grub_parser_register): Likewise.
22679 (grub_parser_unregister): Likewise.
22680 (grub_parser_get_current): Likewise.
22681 (grub_parser_set_current): Likewise.
22682 (grub_register_rescue_parser): Likewise.
22683 (grub_rescue_parse_line): New function.
22684 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22685 * include/grub/script_sh.h (grub_script_function_list): New variable
22686 declaration.
22687 (FOR_SCRIPT_FUNCTIONS): New macro.
22688 (grub_script_function_iterate): Removed.
22689 (grub_normal_parse_line): New prototype.
22690 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22691 (FOR_DISABLED_TERM_INPUTS): Likewise.
22692 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22693 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22694 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22695 element.
22696 (grub_video_register): Inline.
22697 (grub_video_unregister): Likewise.
22698 (grub_video_adapter_list): New variable declaration.
22699 (grub_video_iterate): Removed.
22700 (FOR_VIDEO_ADAPTERS): New macro.
22701 * kern/dl.c (grub_dl_list): Removed. All users updated.
22702 (grub_dl_iterate): Removed.
22703 * kern/fs.c (grub_fs_list): Make global.
22704 (grub_fs_register): Removed.
22705 (grub_fs_unregister): Likewise.
22706 (grub_fs_iterate): Likewise.
22707 * kern/handler.c: Removed.
22708 * kern/list.c (grub_list_pop): Removed.
22709 (grub_list_iterate): Likewise.
22710 (grub_list_insert): Likewise.
22711 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22712 (grub_prio_list_insert): Don't use grub_list_insert.
22713 * kern/main.c (grub_register_rescue_parser): Don't call
22714 grub_register_rescue_parser.
22715 * kern/parser.c (grub_parser_class): Removed.
22716 (grub_parser_execute): Use grub_rescue_parse_line.
22717 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22718 (grub_rescue_parser): Removed.
22719 (grub_register_rescue_parser): Likewise.
22720 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22721 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22722 (grub_auth_check_authentication): Likewise.
22723 * normal/completion.c (iterate_command): Removed.
22724 (grub_normal_do_completion): Use FOR_COMMANDS.
22725 * normal/handler.c: Removed.
22726 * normal/main.c (read_config_file): Remove parser changing.
22727 (grub_normal_execute): Don't call read_handler_list.
22728 (grub_normal_read_line_real): Statically allocate prompt.
22729 (grub_cmdline_run): Use grub_normal_parse_line.
22730 (GRUB_MOD_FINI): Don't call free_handler_list.
22731 * normal/menu_entry.c (run): Likewise.
22732 * script/function.c (grub_script_function_list): Make global.
22733 (grub_script_function_iterate): Removed.
22734 * script/main.c (grub_normal_parse_line): Make global.
22735 (grub_sh_parser): Removed.
22736 (GRUB_MOD_INIT): Likewise.
22737 (GRUB_MOD_FINI): Likewise.
22738 * tests/lib/functional_test.c (grub_functional_test): Use
22739 FOR_LIST_ELEMENTS.
22740 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22741 (grub_test_run): Use FOR_LIST_ELEMENTS.
22742 * tests/lib/unit_test.c (main): Likewise.
22743 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22744 grub_list_pop.
22745 * util/grub-fstest.c (grub_term_input_class): Removed.
22746 (grub_term_output_class): Likewise.
22747 * util/grub-probe.c: Likewise.
22748 * util/i386/pc/grub-setup.c: Likewise.
22749 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22750 * util/grub-script-check.c (main): Don't call grub_init_all and
22751 grub_fini_all.
22752 * video/video.c (grub_video_adapter_list): Make global.
22753 (grub_video_register): Removed.
22754 (grub_video_unregister): Likewise.
22755 (grub_video_iterate): Likewise.
22756
6289c3a7
VS
227572010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22758
22759 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22760 reported by Henrique Ferreiro.
22761
91460247
RM
227622010-06-09 Robert Millan <rmh@gnu.org>
22763
22764 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22765 ones, when both are available.
22766
0ea7c4f9
GS
227672010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22768
22769 Make --version uniform and avoid hard-coded program name.
22770
22771 * util/grub-mkimage.c (main): Use `program_name' instead of
22772 hard-coded string.
22773 * util/i386/pc/grub-setup.c (main): Likewise.
22774 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22775 * util/grub-install.in: Save the basename of $0 in $self, and use the
22776 latter in informational messages. Use the same format for --version
22777 as the binary programs.
22778 * util/grub-mkconfig.in: Likewise.
22779 * util/grub-mkrescue.in: Likewise.
22780 * util/grub-reboot.in: Likewise.
22781 * util/grub-set-default.in: Likewise.
22782 * util/i386/efi/grub-install.in: Likewise.
22783 * util/ieee1275/grub-install.in: Likewise.
22784 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22785
e8a6f3b6
GS
227862010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22787
22788 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22789 embedding area. Use <= instead of == when checking for non-emptiness.
22790
f4d095d7
GS
227912010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22792
22793 * configure.ac: Add `.' to the directories searched for unifont.
22794
50e532ca
CW
227952010-06-08 Colin Watson <cjwatson@ubuntu.com>
22796
22797 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22798 grub_script.yy.h.
22799
d39f3dec
CW
228002010-06-08 Colin Watson <cjwatson@ubuntu.com>
22801
22802 * docs/grub.texi (History): Expand to cover GRUB 2.
22803 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22804 commands, not `terminal'.
22805 (serial): Likewise.
22806 (terminal_input): New section.
22807 (terminal_output): New section.
22808 (uppermem): New section (stub).
22809 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22810
6ef0ddb4
CW
228112010-06-08 Colin Watson <cjwatson@ubuntu.com>
22812
22813 * docs/grub.texi (Security): Menu entries are unrestricted by
22814 default, not restricted to superusers as I had previously thought.
22815 Reword to account for this.
22816
e0f4c438
CW
228172010-06-07 Colin Watson <cjwatson@ubuntu.com>
22818
22819 * kern/emu/misc.c (device_mapper_null_log): New function.
22820 (grub_device_mapper_supported): New function.
22821 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22822 prototype.
22823 * kern/emu/hostdisk.c (find_partition_start): Check whether
22824 device-mapper is supported before trying to use it.
22825 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22826
da908200
CW
228272010-06-07 Colin Watson <cjwatson@ubuntu.com>
22828
22829 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22830 (File name syntax): Likewise.
22831 (help): --all is no longer supported in GRUB 2. Be more precise
22832 about pattern matching.
22833
fb55c3ac
CW
228342010-06-07 Colin Watson <cjwatson@ubuntu.com>
22835
22836 * normal/completion.c (grub_normal_do_completion): When completing
22837 arguments to "set" and the current word contains an equals sign,
22838 skip to after the equals sign before starting completion.
22839
258c2573
CW
228402010-06-07 Colin Watson <cjwatson@ubuntu.com>
22841
22842 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22843
ee75515e
CW
228442010-06-07 Colin Watson <cjwatson@ubuntu.com>
22845
22846 * docs/grub.texi (Network): New section.
22847 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22848 `(nd)' as in GRUB Legacy.
22849 (pxe_unload): New section.
22850
a6a700aa
CW
228512010-06-07 Colin Watson <cjwatson@ubuntu.com>
22852
22853 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22854 in the rescue shell, so recommend using `set' instead. Thanks,
22855 Jordan Uggla.
22856
4003dd38
CW
228572010-06-07 Colin Watson <cjwatson@ubuntu.com>
22858
22859 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22860 (password): New section.
22861 (password_pbkdf2): New section.
22862 (search): New section.
22863 (Security): New section.
22864 (Troubleshooting): New section, currently very incomplete.
22865 (Invoking grub-mkpasswd-pbkdf2): New section.
22866 (Internals): New section, currently very incomplete.
22867
e1cbcc40
CW
228682010-06-07 Colin Watson <cjwatson@ubuntu.com>
22869
22870 * util/grub.d/00_header.in: Add some more quoting (of
22871 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22872 work again.
22873 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22874
db8fa1ad
CW
228752010-06-07 Colin Watson <cjwatson@ubuntu.com>
22876
22877 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22878 to `count', fixing variable shadowing that broke the -c option.
22879
228802010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22881
22882 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22883 in case they contain spaces.
22884
f28a9212
CW
228852010-06-04 Colin Watson <cjwatson@ubuntu.com>
22886
22887 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22888 "part_" to partmap module names, in line with grub-install.
22889 Reported by: Jindřich Makovička (Debian bug #584426).
22890
9cdfe32f
CW
228912010-06-04 Colin Watson <cjwatson@ubuntu.com>
22892
22893 * util/grub-mkimage.c: Make target-related error messages slightly
22894 more helpful; -O talks about "format". Explicitly point to the use
22895 of -O if no target is specified.
22896 Reported by: Didier Raboud (Debian bug #584415).
22897
795b593a
CW
228982010-06-03 Colin Watson <cjwatson@ubuntu.com>
22899
22900 * INSTALL: Document several build requirements for optional features
22901 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22902
9d9b5833
GS
229032010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22904
22905 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22906 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22907 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22908
0819fec8
CW
229092010-06-02 Colin Watson <cjwatson@ubuntu.com>
22910
22911 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22912 Thanks to Jordan Uggla for spotting this.
22913
49396b4f
VS
229142010-06-02 Aleš Nesrsta <starous@volny.cz>
22915
22916 Finally make USB usable.
22917
22918 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22919 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22920 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22921 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22922 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22923 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22924 (GRUB_OHCI_FSMPS): Likewise.
22925 (GRUB_OHCI_PERIODIC_START): Likewise.
22926 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22927 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22928 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22929 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22930 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22931 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22932 (grub_ohci_transaction): Likewise.
22933 (grub_ohci_transfer): Improve condition detection algorithms.
22934 Handle toggle property. Program the transactions correctly.
22935 Improve error handling. Various important fixups.
22936 (grub_ohci_portstatus): Put register writes in right order.
22937 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22938 (grub_uhci_transfer): Don't show "failed" message on success.
22939 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22940 array.
22941 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22942 determine its size.
22943 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22944 before initialization is completed. Use IN direction for empty
22945 transfers. Use last_trans and compute toggle.
22946 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22947 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22948 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22949 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22950 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22951 (grub_usb_device): Increase toggle to 256.
22952 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22953 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22954 GRUB_USBMS_SUBCLASS_SFF8070.
22955 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22956 (grub_scsi_inquiry): New member page and alloc_length.
22957 (grub_scsi_request_sense): New structure.
22958 (grub_scsi_request_sense_data): Likewise.
22959 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22960 control.
22961 * disk/scsi.c (grub_scsi_request_sense): New function.
22962 (grub_scsi_test_unit_ready): Likewise.
22963 (grub_scsi_inquiry): Fill new fields.
22964 (grub_scsi_read_capacity): Likewise.
22965 (grub_scsi_read10): Add request sense at the end.
22966 (grub_scsi_read12): Likewise.
22967 (grub_scsi_write10): Likewise.
22968 (grub_scsi_write12): Likewise.
22969 (grub_scsi_open): Add Test Unit Ready.
22970 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22971 Support additional subclasses. Con't clear halt yet. Activate the
22972 proper config. Calculate LUNs correctly.
22973 (grub_usbms_transfer): Various important fixups.
22974
229752010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22976
22977 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22978 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22979 (grub_ohci_fini_hw): New function.
22980 (grub_ohci_restore_hw): Likewise.
22981 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22982 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22983 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22984
229852010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22986
22987 Dedicated DMA allocations.
22988
22989 * bus/pci.c (grub_memalign_dma32): New function
22990 (grub_dma_free): Likewise.
22991 (grub_dma_get_virt): Likewise.
22992 (grub_dma_get_phys): Likewise.
22993 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22994 (grub_ohci_pci_iter): Use dma32_alloc.
22995 (grub_ohci_transfer): Likewise.
22996 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22997 (grub_usb_bulk_readwrite): Likewise.
22998 * include/grub/pci.h: Add declarations.
22999
230002010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 CS5536 support.
23003
23004 * bus/cs5536.c: New file.
23005 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23006 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23007 (cs5536_mod_SOURCES): New variable.
23008 (cs5536_mod_CFLAGS): Likewise.
23009 (cs5536_mod_LDFLAGS): Likewise.
23010 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23011 machine/pci.h.
23012 (kernel_img_SOURCES): Add bus/cs5536.c.
23013 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23014 usb_keyboard.mod.
23015 (usb_mod_SOURCES): New variable.
23016 (usb_mod_CFLAGS): New variable.
23017 (usb_mod_LDFLAGS): New variable.
23018 (usbtest_mod_SOURCES): New variable.
23019 (usbtest_mod_CFLAGS): New variable.
23020 (usbtest_mod_LDFLAGS): New variable.
23021 (ohci_mod_SOURCES): New variable.
23022 (ohci_mod_CFLAGS): New variable.
23023 (ohci_mod_LDFLAGS): New variable.
23024 (usbms_mod_SOURCES): New variable.
23025 (usbms_mod_CFLAGS): New variable.
23026 (usbms_mod_LDFLAGS): New variable.
23027 (usb_keyboard_mod_SOURCES): New variable.
23028 (usb_keyboard_mod_CFLAGS): New variable.
23029 (usb_keyboard_mod_LDFLAGS): New variable.
23030 * include/grub/smbus.h: New file.
23031 * include/grub/cs5536.h: New file.
23032
0b35b2a9
CW
230332010-06-02 Colin Watson <cjwatson@ubuntu.com>
23034
23035 * util/grub.d/00_header.in: Add safety check to make sure that
23036 ${locale_dir} exists before trying to probe it.
23037
ca0afd5b
CW
230382010-06-02 Colin Watson <cjwatson@ubuntu.com>
23039
23040 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23041 per the GNU Coding Standards; this is now too obscure to be worth
23042 documenting.
23043 (QNX): Likewise.
23044 (chainloader): Remove cross-reference to `SCO UnixWare'.
23045
1c41aa78
CW
230462010-06-02 Colin Watson <cjwatson@ubuntu.com>
23047
23048 * docs/grub.texi (Chain-loading): New section.
23049 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23050 adjusted for GRUB 2.
23051 (SCO UnixWare): Likewise.
23052 (QNX): Likewise.
23053 (chainloader): Add reference to `Block list syntax'.
23054 (drivemap): New section.
23055 (parttool): New section.
23056
bb8ea0f5
CW
230572010-06-02 Colin Watson <cjwatson@ubuntu.com>
23058
23059 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23060 the grub shell'.
23061 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23062 (Installing GRUB using grub-install): Remove reference to the grub
23063 shell; mention `grub-mkimage' and `grub-setup' instead.
23064 (Invoking grub-install): Likewise.
23065 (Interface): Add reference to `Menu entry editor'.
23066 (serial): Remove `--device' option.
23067
288dd6ed
CW
230682010-06-02 Colin Watson <cjwatson@ubuntu.com>
23069
23070 * docs/grub.texi (Configuration): New section, documenting
23071 configuration file generation using grub-mkconfig. I've left a slot
23072 for documenting the full shell scripting format but have not yet
23073 started on writing that up.
23074 (Invoking grub-mkconfig): New section.
23075
34c9f0e9
CW
230762010-06-02 Colin Watson <cjwatson@ubuntu.com>
23077
23078 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23079 (GNU GRUB manual): Likewise.
23080 (General commands): Update description of `terminfo' for GRUB 2.
23081
9121567e
CW
230822010-06-02 Colin Watson <cjwatson@ubuntu.com>
23083
23084 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23085 (GRUB_MOD_INIT): Fix capitalisation.
23086 * docs/grub.texi (Command-line and menu entry commands): Document
23087 gettext and gptsync commands.
23088
ab631611
CW
230892010-06-02 Colin Watson <cjwatson@ubuntu.com>
23090
23091 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23092 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23093
bde4a9ac
CW
230942010-06-01 Colin Watson <cjwatson@ubuntu.com>
23095
23096 Add btrfs probing support, currently only in the single-device case.
23097
23098 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23099 function.
23100 (grub_guess_root_device): Call find_root_device_from_mountinfo
23101 before looking in /dev.
23102
b1d17e10
VS
231032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23104
23105 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23106 GRUB_DISK_SIZE_UNKNOWN.
23107 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23108
dfbfe004
JS
231092010-05-31 Jiro SEKIBA <jir@unicus.jp>
23110
23111 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23112 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23113 corrupted or not synced properly.
23114
c2ffc8e9
VS
231152010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23116
23117 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23118 Reported by: Seth Goldberg.
23119
56293166
VS
231202010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23121
23122 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23123 addition of dest.
23124 Reported by: Seth Goldberg.
23125
7620e7de
VS
231262010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23127
23128 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23129 Reported by: Seth Goldberg.
23130
c837af3f
VS
231312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23132
23133 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23134 64-bit address as signed on MIPS.
23135
c7c75cf4
CW
231362010-05-28 Colin Watson <cjwatson@ubuntu.com>
23137
23138 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23139 to the empty string.
23140
fa4b8490
BC
231412010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23142
23143 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23144
23145 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23146 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23147 * kern/misc.c (__enable_execute_stack): Disable on
23148 GRUB_MACHINE_EMU.
23149
a33075b9
CW
231502010-05-28 Colin Watson <cjwatson@ubuntu.com>
23151
23152 Make grub-probe work with symbolic links under /dev/mapper as well
23153 as with real block devices. The Linux world seems to be (at best)
23154 in transition here, and GRUB shouldn't get caught in the middle.
23155
23156 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23157 /dev/mapper.
23158
d8708134
CW
231592010-05-27 Colin Watson <cjwatson@ubuntu.com>
23160
23161 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23162 input files (in which case exit zero).
23163
db2102a0
CW
231642010-05-27 Colin Watson <cjwatson@ubuntu.com>
23165
23166 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23167 return NULL for various reasons even if it has a maximum-length
23168 buffer: for example, there might be a symlink loop, or the path
23169 might exceed PATH_MAX. If this happens, return NULL.
23170
5fdba519
RM
231712010-05-27 Robert Millan <rmh@gnu.org>
23172
23173 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23174 partmap module to handle cross-partmap setups.
23175 Reported by Orestes Mas. Gràcies!
23176
d1d368e4
CW
231772010-05-27 Colin Watson <cjwatson@ubuntu.com>
23178
23179 * util/grub-mkrescue.in: Initialise override_dir rather than
23180 assuming that it's unset or empty in the environment.
23181
95ac3c73
GS
231822010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23183
23184 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23185 variable index into p_index to suppress a warning with -Wshadow.
23186
7d8c0213
BC
231872010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23188
23189 * INSTALL: Added flex >= 2.5.35 requirement.
23190
db4d5813
VS
231912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23192
23193 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23194
f24f4300
VS
231952010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23196
23197 cmostest support.
23198
23199 * commands/i386/cmostest.c: New file.
23200 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23201 (cmostest_mod_SOURCES): New variable.
23202 (cmostest_mod_CFLAGS): Likewise.
23203 (cmostest_mod_LDFLAGS): Likewise.
23204 * conf/i386-pc.rmk: Likewise.
23205 * docs/grub.texi (Vendor power-on keys): New section.
23206 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23207 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23208 and GRUB_BUTTON_CMOS_ADDRESS.
23209 * util/grub.d/00_header.in: Handle powering-on by separate button.
23210
ad603f61
VS
232112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23212
23213 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23214 Removed drawing_scrollbar argument. All users updated
23215 Fixes #29792.
23216 Reported by Jo Shields
23217
3ecb080a
VS
232182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23219
23220 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23221 buffer since gfxterm handles double repaint.
23222
5f2316c1
VS
232232010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23224
23225 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23226 * term/gfxterm.c (real_scroll): Likewise.
23227
9a25f885
VS
232282010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23229
23230 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23231 before calling BIOS.
23232
39fbb79a
VS
232332010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23234
23235 * include/grub/i18n.h: Always enable grub_gettext.
23236
228cfa97
VS
232372010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23240 partition naming style.
23241
21717c8f
CW
232422010-05-21 Colin Watson <cjwatson@ubuntu.com>
23243
23244 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23245 not the first option.
23246
c0f48e65
CW
232472010-05-20 Colin Watson <cjwatson@ubuntu.com>
23248
23249 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23250
96779aec
CW
232512010-05-20 Colin Watson <cjwatson@ubuntu.com>
23252
23253 * util/misc.c: Move inclusion of <limits.h> to ...
23254 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23255
fa9d256e
GS
232562010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23257
23258 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23259 Fix merge error in NetBSD code.
23260 (find_partition_start) [__NetBSD__]: Likewise.
23261
123b7a85
BC
232622010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23263
23264 Fix grub-mkrescue usage unit testing.
23265
23266 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23267
74276c0d
CF
232682010-05-18 Christian Franke <franke@computer.org>
23269
23270 * util/grub.d/10_windows.in: Use path names instead of
23271 drive letters to prevent warning from Cygwin 1.7.
23272 Add drivemap command to menuentry if needed.
23273
c4f7b523
ST
232742010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23275
23276 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23277 gnumach and gnumach.gz.
23278
95b97950
VS
232792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23280
23281 * include/grub/i18n.h (gettext): Inline instead of using #define.
23282 (grub_gettext): Likewise.
23283 (_): Likewise.
23284
01b8d2d7
VS
232852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23288 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23289 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23290 (main): Add a slash after pkglibdirroot.
23291
654e1d1e
VS
232922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 * util/grub-install.in: Add missing "in" keyword.
23295
26966aeb
VS
232962010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23297
23298 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23299 Reported by: Seth Goldberg.
23300
75006747
VS
233012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23302
23303 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23304
74cbf5bd
CW
233052010-05-18 Colin Watson <cjwatson@ubuntu.com>
23306
23307 * configure.ac: Check for Linux device-mapper support.
23308
23309 * util/hostdisk.c (device_is_mapped): New function.
23310 (find_partition_start): New function, partly broken out from
23311 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23312 device-mapper support added.
23313 (linux_find_partition): Use find_partition_start.
23314 (convert_system_partition_to_system_disk): Add `st' argument.
23315 Support Linux /dev/mapper/* devices if device-mapper support is
23316 available; only DM-RAID devices are understood at present.
23317 (find_system_device): Add `st' argument. Pass it to
23318 convert_system_partition_to_system_disk.
23319 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23320 find_system_device and convert_system_partition_to_system_disk. Use
23321 find_partition_start.
23322
23323 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23324 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23325 * util/deviceiter.c [__linux__]: Define MINOR.
23326 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23327 * util/mkdevicemap.c (grub_putchar): New function.
23328 (grub_getkey): New function.
23329 (grub_refresh): New function.
23330 (main): Set debug=all if -v -v is used.
23331
355b51e9
CW
233322010-05-18 Colin Watson <cjwatson@ubuntu.com>
23333
23334 Fix build with non-GNU libcs.
23335
23336 * util/misc.c (canonicalize_file_name): Move to ...
23337 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23338 grub_make_system_path_relative_to_its_root.
23339
7fb5c25f
CW
233402010-05-18 Colin Watson <cjwatson@ubuntu.com>
23341
23342 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23343 we handle finding grub-mkimage. Default to finding grub-mkimage in
23344 ${bindir} with program_transform_name applied, and provide a
23345 --grub-mkimage option to override this.
23346
1d3293d6
VS
233472010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23348
23349 Remove grub-mkisofs.
23350
23351 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23352 (grub_mkisofs_SOURCES): Removed.
23353 (grub_mkisofs_CFLAGS): Removed.
23354 * util/mkisofs/defaults.h: Removed.
23355 * util/mkisofs/eltorito.c: Likewise.
23356 * util/mkisofs/exclude.h: Likewise.
23357 * util/mkisofs/hash.c: Likewise.
23358 * util/mkisofs/include/: Likewise.
23359 * util/mkisofs/include/fctldefs.h: Likewise.
23360 * util/mkisofs/include/mconfig.h: Likewise.
23361 * util/mkisofs/include/prototyp.h: Likewise.
23362 * util/mkisofs/include/statdefs.h: Likewise.
23363 * util/mkisofs/iso9660.h: Likewise.
23364 * util/mkisofs/joliet.c: Likewise.
23365 * util/mkisofs/match.c: Likewise.
23366 * util/mkisofs/match.h: Likewise.
23367 * util/mkisofs/mkisofs.c: Likewise.
23368 * util/mkisofs/mkisofs.h: Likewise.
23369 * util/mkisofs/msdos_partition.h: Likewise.
23370 * util/mkisofs/multi.c: Likewise.
23371 * util/mkisofs/name.c: Likewise.
23372 * util/mkisofs/rock.c: Likewise.
23373 * util/mkisofs/tree.c: Likewise.
23374 * util/mkisofs/write.c: Likewise.
23375
5dde9afe
VS
233762010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23377
23378 Unify grub-mkimage accross platforms.
23379
23380 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23381 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23382 (grub_mkelfimage_SOURCES): Removed.
23383 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23384 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23385 (bin_UTILITIES): Add grub-mkimage.
23386 (grub_mkimage_SOURCES): New variable.
23387 (kernel_img_HEADERS): Remove machine/kernel.h.
23388 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23389 (pkglib_PROGRAMS): Add kernel.img.
23390 (kernel_img_HEADERS): Add machine/kernel.h.
23391 (kernel_img_FORMAT): Removed.
23392 (bin_UTILITIES): Remove grub-mkimage.
23393 (grub_mkimage_SOURCES): Removed.
23394 (grub_mkimage_CFLAGS): Likewise.
23395 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23396 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23397 (pkglib_PROGRAMS): Add kernel.img.
23398 (bin_UTILITIES): Remove grub-mkimage.
23399 (grub_mkimage_SOURCES): Removed.
23400 (grub_mkimage_CFLAGS): Likewise.
23401 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23402 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23403 (pkglib_PROGRAMS): Add kernel.img.
23404 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23405 (pkglib_PROGRAMS): Add kernel.img.
23406 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23407 (grub_mkimage_SOURCES): Removed.
23408 (grub_mkimage_CFLAGS): Likewise.
23409 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23410 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23411 (pkglib_PROGRAMS): Add kernel.img.
23412 (bin_UTILITIES): Remove grub-mkimage.
23413 (grub_mkimage_SOURCES): Removed.
23414 (grub_mkimage_CFLAGS): Likewise.
23415 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23416 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23417 (grub_mkimage_SOURCES): Removed.
23418 (grub_mkimage_CFLAGS): Likewise.
23419 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23420 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23421 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23422 (grub_pe32_optional_header): ... this.
23423 (grub_pe64_optional_header): ... and this. All users updated.
23424 (GRUB_PE32_PE32_MAGIC): Split into ..
23425 (GRUB_PE32_PE32_MAGIC): .. this.
23426 (GRUB_PE32_PE64_MAGIC): .. and this.
23427 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23428 * include/grub/elf.h (PT_GNU_STACK): New definition.
23429 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23430 * include/grub/i386/efi/kernel.h: Likewise.
23431 * include/grub/i386/kernel.h: Likewise.
23432 * include/grub/i386/pc/kernel.h: Likewise.
23433 * include/grub/i386/qemu/boot.h: Likewise.
23434 * include/grub/mips/kernel.h: Likewise.
23435 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23436 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23437 * include/grub/powerpc/kernel.h: Likewise.
23438 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23439 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23440 * include/grub/sparc64/kernel.h: Likewise.
23441 * include/grub/x86_64/efi/kernel.h: Likewise.
23442 * include/grub/x86_64/kernel.h: Likewise.
23443 * include/grub/offsets.h: New file.
23444 * include/grub/kernel.h (grub_module_info): Split into ...
23445 (grub_module_info32): ... this.
23446 (grub_module_info64): ... and this.
23447 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23448 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23449 (grub_boot_blocklist): Moved from here ...
23450 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23451 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23452 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23453 * include/grub/types.h (grub_target_to_host16): Removed.
23454 (grub_target_to_host32): Likewise.
23455 (grub_target_to_host64): Likewise.
23456 (grub_host_to_target16): Likewise.
23457 (grub_host_to_target32): Likewise.
23458 (grub_host_to_target64): Likewise.
23459 (grub_host_to_target_addr): Likewise.
23460
23461 Support grub-mkrescue for efi, coreboot and qemu.
23462
23463 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23464 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23465 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23466 * util/grub-mkrawimage.c: Moved from here ...
23467 * util/grub-mkimage.c: ... here. All users updated.
23468 (ALIGN_ADDR): Use image_target.
23469 (TARGET_NO_FIELD): New const.
23470 (image_target_desc): New type.
23471 (image_targets): New array.
23472 (grub_target_to_host64): Use image_target.
23473 (grub_target_to_host32): Likewise.
23474 (grub_target_to_host16): Likewise.
23475 (grub_host_to_target64): Likewise.
23476 (grub_host_to_target32): Likewise.
23477 (grub_host_to_target16): Likewise.
23478 (grub_host_to_target_addr): Likewise.
23479 (generate_image): Handle multiimage.
23480 (main): Require -O parameter. All users updated.
23481 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23482 util/efi/grub-mkimage.c
23483 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23484 New option --rom-directory.
23485 Use xorriso.
23486 * util/i386/efi/grub-mkimage.c: Removed.
23487 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23488 (grub_target_to_host32): Likewise.
23489 (grub_target_to_host64): Likewise.
23490 (grub_host_to_target16): Likewise.
23491 (grub_host_to_target32): Likewise.
23492 (grub_host_to_target64): Likewise.
23493 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23494 (grub_target_to_host32): Likewise.
23495 (grub_target_to_host64): Likewise.
23496 (grub_host_to_target16): Likewise.
23497 (grub_host_to_target32): Likewise.
23498 (grub_host_to_target64): Likewise.
23499
f4fc97d0
BC
235002010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23501
23502 Source tree is reorganized for emu build.
23503
23504 * include/grub/util/console.h: Move from here...
23505 * include/grub/emu/console.h: ...to here.
23506 * include/grub/util/getroot.h: Move from here...
23507 * include/grub/emu/getroot.h: ...to here.
23508 * include/grub/util/hostdisk.h: Move from here...
23509 * include/grub/emu/hostdisk.h: ...to here.
23510 * util/console.c: Move from here...
23511 * kern/emu/console.c: ...to here.
23512 * util/getroot.c: Move from here...
23513 * kern/emu/getroot.c: ...to here.
23514 * util/grub-emu.c: Move from here...
23515 * kern/emu/main.c: ...to here.
23516 * util/hostdisk.c: Move from here...
23517 * kern/emu/hostdisk.c: ...to here.
23518 * util/hostfs.c: Move from here...
23519 * kern/emu/hostfs.c: ...to here.
23520 * util/mm.c: Move from here...
23521 * kern/emu/mm.c: ...to here.
23522 * util/pci.c: Move from here...
23523 * bus/emu/pci.c: ...to here.
23524 * util/sdl.c: Move from here...
23525 * video/emu/sdl.c: ...to here.
23526 * util/time.c: Move from here...
23527 * kern/emu/time.c: ...to here.
23528 * util/usb.c: Move from here...
23529 * bus/usb/emu/usb.c: ...to here.
23530
23531 * include/grub/emu/misc.h: New header for grub-emu functions.
23532 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23533
23534 * conf/any-emu.rmk: Rule updates for above renames.
23535 * conf/common.rmk: Likewise.
23536 * conf/i386-pc.rmk: Likewise.
23537 * conf/i386-qemu.rmk: Likewise.
23538 * conf/mips.rmk: Likewise.
23539 * conf/sparc64-ieee1275.rmk: Likewise.
23540 * conf/x86-efi.rmk: Likewise.
23541
23542 * disk/lvm.h: #include updates for above renames.
23543 * util/grub-mkrelpath.c: Likewise.
23544 * util/grub-probe.c: Likewise.
23545 * util/i386/pc/grub-setup.c: Likewise.
23546 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23547 * kern/emu/console.c: Likewise.
23548 * kern/emu/getroot.c: Likewise.
23549 * kern/emu/hostdisk.c: Likewise.
23550 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23551
23552 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23553 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23554 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23555 * util/misc.c: Remove grub-emu functions.
23556
cced9145
VS
235572010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23558
23559 Fix gfxmenu crash.
23560 Reported by: Thorsten Grützmacher.
23561
23562 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23563 timeout hook.
23564 (circprog_set_property): Register and unregister timeout hook.
23565 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23566 (label_destroy): Free template. and unregister hook.
23567 (label_set_state): New function.
23568 (label_set_property): Handle templates and hooks.
23569 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23570 timeout hook.
23571 (progress_bar_set_property): Register and unregister timeout hook.
23572 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23573 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23574 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23575 (update_timeout_visit): Removed.
23576 (update_timeouts): New function.
23577 (redraw_timeouts): Likewise.
23578 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23579 (grub_gfxmenu_clear_timeout): Likewise.
23580 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23581 (grub_gfxmenu_timeout_notify): Likewise.
23582 (grub_gfxmenu_timeout_notifications): New external variable.
23583 (grub_gfxmenu_timeout_register): New function.
23584 (grub_gfxmenu_timeout_unregister): Likewise.
23585
c6e5caab
VS
235862010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23587
23588 Transform (broken) vga terminal into (working) vga video driver.
23589
23590 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23591 video/i386/pc/vga.c.
23592 * include/grub/video.h (grub_video_driver_id):
23593 Add GRUB_VIDEO_DRIVER_VGA.
23594 * term/i386/pc/vga.c: Renamed to ...
23595 * video/i386/pc/vga.c: ...this
23596 (DEBUG_VGA): Removed.
23597 (CHAR_WIDTH): Likewise.
23598 (CHAR_HEIGHT): Likewise.
23599 (TEXT_WIDTH): Likewise.
23600 (TEXT_HEIGHT): Likewise.
23601 (DEFAULT_FG_COLOR): Likewise.
23602 (DEFAULT_BG_COLOR): Likewise.
23603 (colored_char): Likewise.
23604 (xpos): Likewise.
23605 (ypos): Likewise.
23606 (cursor_state): Likewise.
23607 (fg_color): Likewise.
23608 (bg_color): Likewise.
23609 (text_buf): Likewise.
23610 (page): Likewise.
23611 (font): Likewise.
23612 (framebuffer): New variable.
23613 (set_read_map): Disabled.
23614 (setup): New variable.
23615 (is_target): Likewise.
23616 (grub_vga_mod_init): Likewise.
23617 (grub_vga_mod_fini): Likewise.
23618 (check_vga_mem): Likewise.
23619 (write_char): Likewise.
23620 (write_cursor): Likewise.
23621 (scroll_up): Likewise.
23622 (grub_vga_putchar): Likewise.
23623 (grub_vga_getcharwidth): Likewise.
23624 (grub_vga_getwh): Likewise.
23625 (grub_vga_getxy): Likewise.
23626 (grub_vga_gotoxy): Likewise.
23627 (grub_vga_cls): Likewise.
23628 (grub_vga_setcolorstate): Likewise.
23629 (grub_vga_setcursor): Likewise.
23630 (grub_video_vga_init): New function.
23631 (grub_video_vga_setup): Likewise.
23632 (grub_video_vga_fini): Likewise.
23633 (update_target): Likewise.
23634 (grub_video_vga_blit_bitmap): Likewise.
23635 (grub_video_vga_blit_render_target): Likewise.
23636 (grub_video_vga_set_active_render_target): Likewise.
23637 (grub_video_vga_get_active_render_target): Likewise.
23638 (grub_video_vga_swap_buffers): Likewise.
23639 (grub_video_vga_set_palette): Likewise.
23640 (grub_video_vga_get_info_and_fini): Likewise.
23641 (grub_vga_term): Removed.
23642 (grub_video_vga_adapter): New variable.
23643 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23644 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23645
2bf61a98
VS
236462010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23647
23648 * video/readers/jpeg.c: Indented.
23649
09ddcd11
VS
236502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23651
23652 Various jpeg cleanups.
23653
23654 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23655 (grub_jpeg_decode_quan_table): Use sizeof.
23656 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23657
e5507505
PH
236582010-05-05 Peter Hurley <No e-mail available> (tiny change)
23659
23660 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23661 tables. Ignore non-last ac bit.
23662 (grub_jpeg_decode_quan_table): Likewise.
23663
7e720a9b
VS
236642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23665
23666 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23667 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23668 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23669 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23670 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23671 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23672
a7fc080b
VS
236732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23674
23675 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23676 error.
23677
2bf6012d
VS
236782010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23679
23680 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23681
265d68cd
VS
236822010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23683
23684 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23685 condition.
23686
236872010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
23688
23689 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23690 part.
23691
265d68cd 236922010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
23693
23694 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23695 pointers.
23696
265d68cd 236972010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
23698
23699 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23700
d1b61374
CF
237012010-05-01 Christian Franke <franke@computer.org>
23702
23703 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23704 Remove broken Cygwin path conversion.
23705 * util/misc.c: [__CYGWIN__] Add include and define.
23706 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23707 for Cygwin 1.7.
23708 (make_system_path_relative_to_its_root): Simplify loop, replace early
23709 return by break.
23710 [__CYGWIN__] Add conversion to win32 path.
23711 Include "/" case in trailing slash removal.
23712
3558c6e9
VS
237132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23714
23715 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23716 Reported by: Seth Goldberg
23717
f5f3ff93
VS
237182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23719
23720 * commands/help.c (grub_cmd_help): Fix a typo.
23721 Reported by: Seth Goldberg
23722
d8b5cd40
VS
237232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23724
23725 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23726 name and add N_.
23727 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23728 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23729 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23730 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23731 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23732 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23733 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23734 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23735 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23736 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23737 * normal/context.c (GRUB_MOD_INIT): Likewise.
23738 * normal/main.c (GRUB_MOD_INIT): Likewise.
23739 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23740 * term/serial.c (GRUB_MOD_INIT): Likewise.
23741 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23742
88c14915
VS
237432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23746 extra == 0.
23747
165134bc
VS
237482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23749
23750 * commands/iorw.c: New file.
23751 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23752 (iorw_mod_SOURCES): New variable.
23753 (iorw_mod_CFLAGS): Likewise.
23754 (iorw_mod_LDFLAGS): Likewise.
23755
c5ac9b32
VS
237562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23757
23758 Hotkey support
23759
23760 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23761 * normal/main.c (hotkey_aliases): New variable.
23762 (grub_normal_add_menu_entry): Parse "--hotkey".
23763 * normal/menu_text.c (run_menu): Handle hotkeys.
23764
ce60689c
VS
237652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23766
23767 * kern/i386/coreboot/init.c (grub_machine_init): Call
23768 grub_machine_mmap_init on qemu.
23769
0359d006
VS
237702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23771
23772 * boot/i386/qemu/boot.S: Add a missing .code16.
23773
7819a456
VS
237742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23775
23776 Use LBIO on coreboot.
23777
23778 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23779 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23780 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23781 New declaration.
23782 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23783 grub_machine_mmap_init on coreboot.
23784 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23785 GRUB_LINUXBIOS_MEMBER_LINK.
23786 (grub_machine_mmap_iterate): Fix declaration.
23787 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23788
7210dca9
VS
237892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23790
23791 Split coreboot and multiboot ports.
23792
23793 * conf/i386-multiboot.rmk: New file.
23794 * configure.ac: Add multiboot port.
23795 * include/grub/i386/multiboot/boot.h: New file.
23796 * include/grub/i386/multiboot/console.h: Likewise.
23797 * include/grub/i386/multiboot/init.h: Likewise.
23798 * include/grub/i386/multiboot/kernel.h: Likewise.
23799 * include/grub/i386/multiboot/loader.h: Likewise.
23800 * include/grub/i386/multiboot/memory.h: Likewise.
23801 * include/grub/i386/multiboot/serial.h: Likewise.
23802 * include/grub/i386/multiboot/time.h: Likewise.
23803 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23804 * loader/multiboot.c: Likewise.
23805 * loader/multiboot_mbi2.c: Likewise.
23806 * util/grub-mkrescue.in: Generate multiboot rescue.
23807
6f8aaf68
VS
238082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23809
3080f7a7
VS
23810 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23811
238122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23815
23816 * commands/terminal.c (abstract_terminal): New struct.
23817 (handle_command): New function. Based on grub_cmd_terminal_input.
23818 (grub_cmd_terminal_input): Use handle_command.
23819 (grub_cmd_terminal_output): Use handle_command.
23820
a8ebb841
BC
238212010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23822
23823 Fix comment handling.
23824
23825 * tests/grub_script_comments.in: New testcase.
23826 * conf/tests.rmk: Rules for new testcase.
23827 * script/yylex.l: Updated flex rules.
23828
bb06ba08
ST
238292010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23830
23831 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23832 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23833 if argc is 1.
bb06ba08 23834
cc9d2425
VS
238352010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23836
23837 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23838 autogen issues.
23839
460d8402
CF
238402010-04-26 Christian Franke <franke@computer.org>
23841
23842 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23843 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23844 (grub_get_prefix): Remove function.
23845 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23846 make_system_path_relative_to_its_root ().
23847 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23848
553c01f9
CF
238492010-04-24 Christian Franke <franke@computer.org>
23850
23851 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23852 (kernel_img_LDFLAGS): Remove -static-libgcc.
23853
2aec1692
CF
238542010-04-24 Christian Franke <franke@computer.org>
23855
23856 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23857 and CHECK_END_SYMBOL if grub-emu is built.
23858 Unset TARGET_OBJ2ELF if grub-emu is built
23859 without module support.
23860
f67dc308
JS
238612010-04-24 Jiro SEKIBA <jir@unicus.jp>
23862
23863 Nilfs2 support.
23864
23865 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23866 (grub_fstest_SOURCES): Likewise.
23867 (pkglib_MODULES): Add nilfs2.mod.
23868 (nilfs2_mod_SOURCES): New variable.
23869 (nilfs2_mod_CFLAGS): Likewise.
23870 (nilfs2_mod_LDFLAGS): Likewise.
23871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23872 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23873 * fs/nilfs2.c: New file.
23874
4ba8d354
VS
238752010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23876
23877 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23878 is not supported.
23879
0d2c20c6
GS
238802010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23881
23882 Add grub-mkconfig support for NetBSD.
23883
23884 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23885 * util/grub-mkconfig.in: export new NetBSD specific variables.
23886 * po/POTFILES-shell: added 10_netbsd.in.
23887 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23888
bc4a2d83
BC
238892010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23890
23891 Fix emu build with grub-emu-pci and grub-emu-modules.
23892
23893 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23894 functions.
23895 * include/grub/libpciaccess.h: New file.
23896 * conf/any-emu.rmk: Update kernel headers for emu build.
23897
f48c87aa
VS
238982010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23899
23900 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23901
18959385
VS
239022010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23903
23904 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23905
0037de3f
VS
239062010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23907
23908 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23909 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23910 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23911 util/ieee1275/ofpath.c.
23912 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23913 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23914 * include/grub/sparc64/ieee1275/boot.h
23915 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23916 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23917 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23918 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23919 const char *.
23920 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23921 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23922 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23923 install.
23924
38e55e90
GS
239252010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23926
23927 * util/grub-mkconfig.in: Corrected two == equality tests.
23928 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23929 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23930 expect a number appended to it.
23931 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23932 expects a number appended to it.
23933
a9e6ff28
VS
239342010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23935
23936 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23937
0b830b8f
VS
239382010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23939
23940 * util/hostdisk.c (make_device_name): Change to new partition naming.
23941
0973daeb
VS
239422010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23943
23944 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23945
460d8402 239462010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23947
23948 * Makefile.in: Add missing localedir setting.
23949
0b456309
CW
239502010-04-14 Colin Watson <cjwatson@ubuntu.com>
23951
23952 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23953 mistake in r2156. Noticed by Anthony Fok.
23954
23955 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23956 @localedir@.
23957 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23958
08f46d62
BC
239592010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23960
23961 Fix a spurious, uninitialized variable warning.
23962
23963 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23964 Initialize variable, shdr.
23965 (grub_freebsd_load_elfmodule): Likewise.
23966 (grub_freebsd_load_elf_meta): Likewise.
23967
8c4a72d4
BC
239682010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23969
23970 Fix for escaped dollar in double quoted strings.
23971
23972 * script/yylex.l: Updated flex rules.
23973 * conf/tests.rmk: Rule for new testcase.
23974 * tests/grub_script_dollar.in: New testcase.
23975
ce44826e
CPE
239762010-04-13 Carles Pina i Estany <carles@pina.cat>
239772010-04-13 Colin Watson <cjwatson@ubuntu.com>
23978
23979 Enclose all translated strings in grub.cfg in single quotes, and
23980 escape them appropriately (Ubuntu bug #552921).
23981
23982 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23983 * util/grub.d/10_hurd.in: Use it.
23984 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23985 * util/grub.d/10_linux.in (linux_entry): Likewise.
23986
4b0cd8f8
VS
239872010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23988
23989 Fix cygwin compilation.
23990
23991 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23992 * include/grub/misc.h (__register_frame_info)
23993 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23994 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23995 * kern/misc.c (__register_frame_info)
23996 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23997 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23998
01fcf061
VS
239992010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24000
24001 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24002
5d04b11e
VS
240032010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24004
24005 Unify libgcc processing.
24006
24007 * Makefile.in (kernel_img_LDFLAGS): New variable.
24008 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24009 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24010 overwriting.
24011 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24012 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24013 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24014 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24015 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24016 overwriting. Remove -lgcc and -static-libgcc
24017 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24018 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24019 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24020 (kernel_img_LDFLAGS): Append instead of overwriting.
24021 Remove -lgcc and -static-libgcc
24022 * conf/sparc64-ieee1275.rmk: Likewise.
24023 * include/grub/powerpc/libgcc.h: Move to ...
24024 * include/grub/libgcc.h: .. this.
24025 * include/grub/libgcc.h: Don't export most of the function on x86.
24026 (__bswapsi2): New export.
24027 (__bswapdi2): Likewise.
24028 * include/grub/mips/libgcc.h: Removed.
24029 * include/grub/sparc64/libgcc.h: Likewise.
24030
b7f3ac29
VS
240312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24032
24033 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24034 disk_info_msg (conflicts with gettexting into languages with cases).
24035
2c7031b1
GS
240362010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24037
24038 Add grub-probe support for NetBSD.
24039
24040 * util/getroot.c (find_root_device): Convert block device to
24041 character device on NetBSD.
24042 * util/probe.c (probe): Require character device on NetBSD.
24043 * util/hostdisk.c: NetBSD specific headers.
24044 (configure_device_driver): new function to tune device driver
24045 parameters (currently only for NetBSD floppy driver).
24046 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24047 via disklabel ioctl).
24048 (open_device): call configure_device_driver on NetBSD.
24049 (convert_system_partition_to_system_disk): NetBSD specific code.
24050 (device_is_wholedisk): Likewise.
24051 (grub_util_biosdisk_get_grub_dev): Likewise.
24052 (make_device_name): Fixed a typo in bsd_part_str.
24053 * configure.ac: check for opendisk() and getrawpartition() on
24054 NetBSD and set LIBUTIL.
24055 * Makefile.in: add LIBUTIL to LIBS.
24056
f516290c
BC
240572010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24058
24059 Documentation fix.
24060
24061 * util/grub-script-check.c: Better help message.
24062
d8dcc0df
BC
240632010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24064
24065 Fix FreeBSD build.
24066
24067 * configure.ac: Flex version check.
24068 * conf/common.rmk: Add -Wno-error to sh.mod.
24069 * script/yylex.l: Remove all #pragma.
24070
6734334a
VS
240712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24074 prototype.
24075 Reported by: Seth Goldberg.
24076
daea6abd
VS
240772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24078
24079 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24080 Rename "module" to "module2".
24081 Reported by: Seth Goldberg.
24082
f2fd9d2b
VS
240832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24084
24085 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24086 EXPORT_FUNC.
24087 Reported by: Seth Goldberg.
24088
be124579
VS
240892010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 * lib/posix_wrap/locale.h: Add missing file.
24092 Reported by: Seth Goldberg.
24093
ef5da797
VS
240942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24095
24096 grub-emu module load support.
24097
24098 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24099 NO_DYNAMIC_MODULES switched to this.
24100 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24101 (CFLAGS): Likewise.
24102 * conf/any-emu.rmk: Generate symlist.
24103 (kernel_img_HEADERS): Add util/datetime.h.
24104 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24105 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24106 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24107 kern/$(target_cpu)/cache.S.
24108 * configure.ac (grub-emu-modules): New option.
24109 * genmk.rb: Handle multiple source lists.
24110 * include/grub/sdl.h: New file.
24111 * include/grub/libusb.h: Likewise.
24112 * util/grub-emu.c (main): Hanle (host) root.
24113 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24114 GRUB_ERR_UNKNOWN_DEVICE.
24115 * util/misc.c: Move mm functions to ...
24116 * util/mm.c: ... here. All users updated.
24117
47822096
VS
241182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24119
24120 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24121 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24122 missing files.
24123 (maintainer-clean): Remove libgcrypt-grub.
24124
5d7e7445
VS
241252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24126
24127 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24128
25f4e252
EC
241292010-04-09 EFI Coder <eficoder@hotmail.com>
24130
24131 * normal/menu_text.c (print_message): Clean up the message and show
24132 the Fn information when on EFI
24133 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24134
027de555
VS
241352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24136
24137 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24138 All users updated.
24139 * normal/crypto.c (read_crypto_list): Likewise.
24140 * normal/dyncmd.c (read_command_list): Likewise.
24141 * normal/term.c (read_terminal_list): Likewise.
24142 * normal/main.c (read_lists): Use explicit prefix.
24143 (read_lists_hook): Use read_lists.
24144 (grub_normal_execute): Likewise.
24145
47779711
VS
241462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24147
24148 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24149 Reported by: Thomas Schmitt.
24150 Add -no-emul-boot to grub-mkisofs parameters.
24151
1118c32e
VS
241522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24153
24154 * font/font.c: Indented.
24155
7d652447
BC
241562010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24157
24158 Elif support to GRUB script (by Deepak Vankadaru).
24159
24160 * tests/grub_script_if.in: New testcase.
24161 * conf/tests.rmk: Rule for new testcase.
24162 * script/parser.y: Grammar rules for elif.
24163
34bb22df
BC
241642010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24165
24166 While and until loops support to GRUB script.
24167
24168 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24169 (grub_script_create_cmdwhile): New function prototype.
24170 (grub_script_execute_cmdwhile): New function prototype.
24171 * script/execute.c (grub_script_execute_cmdwhile): New function.
24172 * script/parser.y (command): New commands.
24173 (whilecmd): New grammar rule.
24174 (untilcmd): New grammar rule.
24175 * script/script.c (grub_script_create_cmdwhile): New function.
24176 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24177 function.
24178
24179 * tests/grub_script_while1.in: New testcase.
24180 * conf/tests.rmk: Rule for new testcase.
24181
e215d8e0
VS
241822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24183
24184 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24185 as *.jpg.
24186
d7c43ba1
MV
241872010-04-09 Mario Vazquez <mariovazq@gmail.com>
24188
24189 GRUB_BACKGROUND support.
24190
24191 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24192 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24193
d64795c0
VS
241942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24195
24196 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24197 Idea by: Mario Vazquez
d64795c0
VS
24198
24199 * util/grub.d/00_header.in: Load pf2 and image modules.
24200
f267f83a
VS
242012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24202
24203 grub-mkconfig multiple terminal support.
24204
24205 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24206 * util/grub.d/00_header.in: Likewise.
24207
b7841ceb
VS
242082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24209
24210 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24211 we use cd $(srcdir).
24212
df60998c
CW
242132010-04-08 Colin Watson <cjwatson@ubuntu.com>
24214
24215 * util/grub.d/10_linux.in: Only use the first word of
24216 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24217 spaces in GRUB_DISTRIBUTOR.
24218 * util/grub.d/10_kfreebsd.in: Likewise.
24219 * util/grub.d/10_hurd.in: Likewise.
24220
fa09c82e
BC
242212010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24222
14e18ae3 24223 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24224
24225 * tests/util/grub-shell.in: Remove -serial stdio option.
24226
daf892b3
BC
242272010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24228
24229 POSIX header file wrappers.
24230
24231 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24232 equivalents.
24233 * lib/posix_wrap/ctype.h: Likewise.
24234 * lib/posix_wrap/errno.h: Likewise.
24235 * lib/posix_wrap/langinfo.h: Likewise.
24236 * lib/posix_wrap/limits.h: Likewise.
24237 * lib/posix_wrap/localcharset.h: Likewise.
24238 * lib/posix_wrap/stdint.h: Likewise.
24239 * lib/posix_wrap/stdio.h: Likewise.
24240 * lib/posix_wrap/stdlib.h: Likewise.
24241 * lib/posix_wrap/string.h: Likewise.
24242 * lib/posix_wrap/sys/types.h: Likewise.
24243 * lib/posix_wrap/unistd.h: Likewise.
24244 * lib/posix_wrap/wchar.h: Likewise.
24245 * lib/posix_wrap/wctype.h: Likewise.
24246 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24247 (grub_script.yy.h): Likewise.
24248 * script/yylex.l: Remove POSIX emulation #defines.
24249 * Makefile.in (POSIX_CFLAGS): New variable.
24250 (GNULIB_UTIL_CFLAGS): Likewise.
24251
24252 Regexp support.
24253
24254 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24255 (regexp_mod_SOURCES): New variable.
24256 (regexp_mod_CFLAGS): Likewise.
24257 (regexp_mod_LDFLAGS): Likewise.
24258 * commands/regexp.c: New file.
24259 * gnulib/regcomp.c: New file. Imported from gnulib.
24260 * gnulib/regex.c: Likewise.
24261 * gnulib/regex_internal.c: Likewise.
24262 * gnulib/regex_internal.h: Likewise.
24263 * gnulib/regexec.c: Likewise.
24264 * gnulib/regex.h: Likewise.
24265
974ac4f7
VS
242662010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24267
24268 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24269 unsupported video mode types.
24270
2622c3ff
VS
242712010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24272
24273 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24274
064cb524
VS
242752010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24276
24277 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24278 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24279
a8c3b552
VS
242802010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24281
24282 Remove unused grub_vga_get_font.
24283
24284 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24285 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24286
187bbe3d
GS
242872010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24288
24289 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24290 * include/grub/misc.h: Likewise.
24291
b9396631
GS
242922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24293
24294 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24295 for which failure is fatal.
24296
50479feb
GS
242972010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24298
24299 * util/grub-install.in: Use mkdir -p to create grub directory.
24300 * util/i386/efi/grub-install.in: Likewise.
24301 * util/ieee1275/grub-install.in: Likewise.
24302
b1654fdf
GS
243032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24304
24305 * Makefile.in (LEX): new variable.
24306
bd5a6415
GS
243072010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24308
24309 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24310 `=' and added double quotes on operands of this equality test.
24311
3db3a82b
VS
243122010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 * Makefile.in (uninstall): Remove a leftover debug echo.
24315 Reported by: Grégoire Sutre
24316
38023412
VS
243172010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24318
24319 MIPS multiboot2 support.
24320
24321 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24322 (multiboot2_mod_SOURCES): New variable.
24323 (multiboot2_mod_CFLAGS): Likewise.
24324 (multiboot2_mod_LDFLAGS): Likewise.
24325 (multiboot2_mod_ASFLAGS): Likewise.
24326 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24327 definition.
24328 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24329 (MULTIBOOT_MBI_REGISTER): Likewise.
24330 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24331 (MULTIBOOT_ELF32_MACHINE): Likewise.
24332 (MULTIBOOT_ELF64_MACHINE): Likewise.
24333 * include/grub/mips/multiboot.h: New file.
24334 * include/grub/video.h (grub_video_driver_id): New type
24335 GRUB_VIDEO_DRIVER_SM712.
24336 (grub_video_get_info_and_fini): Export.
24337 (grub_video_get_palette): Likewise.
24338 (grub_video_get_driver_id): Likewise.
24339 * include/multiboot2.h: Resynced with spec.
24340 * loader/i386/multiboot.c: Moved from here ...
24341 * loader/multiboot.c: ... here. All users updated.
24342 (grub_multiboot_boot): Use platform-specific macros.
24343 * loader/i386/multiboot_elfxx.c: Moved from here ...
24344 * loader/multiboot_elfxx.c: ... here. All users updated.
24345 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24346 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24347 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24348
47674667
VS
243492010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24350
24351 Import gnulib argp module.
24352
24353 * gnulib/argp-ba.c: New file.
24354 * gnulib/argp-eexst.c: Likewise.
24355 * gnulib/argp-fmtstream.c: Likewise.
24356 * gnulib/argp-fmtstream.h: Likewise.
24357 * gnulib/argp-fs-xinl.c: Likewise.
24358 * gnulib/argp-help.c: Likewise.
24359 * gnulib/argp-namefrob.h: Likewise.
24360 * gnulib/argp-parse.c: Likewise.
24361 * gnulib/argp-pin.c: Likewise.
24362 * gnulib/argp-pv.c: Likewise.
24363 * gnulib/argp-pvh.c: Likewise.
24364 * gnulib/argp-version-etc.c: Likewise.
24365 * gnulib/argp-version-etc.h: Likewise.
24366 * gnulib/argp-xinl.c: Likewise.
24367 * gnulib/argp.h: Likewise.
24368
495442ed
VS
243692010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24370
24371 * kern/device.c (grub_device_iterate): Clear errors after failed
24372 opening device.
24373
f9fd65df
VS
243742010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24375
24376 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24377 returned by firmware.
24378
af09641e
VS
243792010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24380
24381 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24382 compilation on coreboot and qemu
24383
016883a5
VS
243842010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24385
24386 * include/multiboot2.h: Resync with spec.
24387
f97e1f7d
VS
243882010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24389
24390 Multiboot2 tag support
24391
24392 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24393 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24394 Remove loader/multiboot_loader.c.
24395 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24396 (grub_multiboot2_real_boot): Likewise.
24397 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24398 (grub_get_multiboot_mmap_count): New proto.
24399 (grub_fill_multiboot_mmap): Likewise.
24400 (grub_multiboot_set_video_mode): Likewise.
24401 (grub_multiboot_set_console): Likewise.
24402 (grub_multiboot_load): Likewise.
24403 (grub_multiboot_load_elf): Likewise.
24404 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24405 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24406 * include/multiboot.h: Resynced with specification.
24407 * include/multiboot2.h: Resynced with specification.
24408 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24409 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24410 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24411 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24412 users updated.
24413 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24414 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24415 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24416 Removed.
24417 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24418 Moved from here...
24419 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24420 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24421 Moved from here...
24422 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24423 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24424 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24425 All users updated.
24426 * loader/i386/multiboot_mbi2.c: New file.
24427
3506b90b
VS
244282010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24429
24430 Resync with gnulib.
24431
24432 * Makefile.in (GNULIB_CFLAGS): New variable.
24433 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24434 (grub_script_check_CFLAGS): New variable.
24435 * gnulib/alloca.h: Resync with gnulib.
24436 * gnulib/error.c: Likewise.
24437 * gnulib/error.h: Likewise.
24438 * gnulib/fnmatch.c: Likewise.
24439 * gnulib/fnmatch_loop.c: Likewise.
24440 * gnulib/getdelim.c: Likewise.
24441 * gnulib/getline.c: Likewise.
24442 * gnulib/getopt.c: Likewise.
24443 * gnulib/getopt1.c: Likewise.
24444 * gnulib/getopt_int.h: Likewise.
24445 * gnulib/gettext.h: Likewise.
24446 * gnulib/progname.c: Likewise.
24447 * gnulib/progname.h: Likewise.
24448
394a3120
GS
244492010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24450
24451 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24452 which is the case with --disabled-nls.
24453
24454 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24455 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24456 * util/misc.c: Likewise.
24457 * util/mkisofs/mkisofs.c: Likewise.
24458 * util/mkisofs/mkisofs.h: Likewise.
24459
969d1c78
VS
244602010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24461
24462 Simplify Apple CC support.
24463
24464 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24465 Add 0 byte at the end not to have a symbol with empty target.
24466 * mmap/i386/pc/mmap_helper.S: Likewise.
24467 * genmk.rb: Ignore errors 2030 and 2050.
24468 * kern/i386/pc/startup.S: Use LOCAL when possible.
24469
8d2977bb
BC
244702010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24471
24472 Testcase and the fix for final semicolon on cmdline.
24473
24474 * tests/grub_script_final_semicolon.in: New testcase.
24475 * conf/tests.rmk: Rules for the new testcase.
24476 * script/parser.y: Grammar fix.
24477
a7bd6915
BC
244782010-03-26 BVK Chaitanya <bvk@localhost>
24479
24480 Blank lines testcase for GRUB script.
24481
24482 * tests/grub_script_blanklines.in: New testcase.
24483 * conf/tests.rmk: Rules for the new testcase.
24484
e4ff6628
VS
244852010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24486
24487 Don't use __FILE__.
24488
24489 * genmk.rb: Add -DGRUB_FILE to all C targets.
24490 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24491 * include/grub/list.h: Likewise.
24492 * include/grub/misc.h: Likewise.
24493 * include/grub/mm.h: Likewise.
24494 * include/grub/test.h: Likewise.
24495 * kern/mm.c: Likewise.
24496 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24497
6a5cf6b6
VS
244982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24499
24500 Sunpc partitions support.
24501
24502 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24503 (grub_fstest_SOURCES): Likewise.
24504 (pkglib_MODULES): Add part_sunpc.mod.
24505 (part_sunpc_mod_SOURCES): New variable.
24506 (part_sunpc_mod_CFLAGS): Likewise.
24507 (part_sunpc_mod_LDFLAGS): Likewise.
24508 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24509 * partmap/sunpc.c: New file.
24510
746d9045
BC
245112010-03-26 BVK Chaitanya <bvk@localhost>
24512
24513 For loop support to GRUB script.
24514
24515 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24516 (grub_script_create_cmdfor): New function prototype.
24517 (grub_script_execute_cmdfor): New function prototype.
24518 * script/execute.c (grub_script_execute_cmdfor): New function.
24519 * script/parser.y (command): New for command.
24520 (forcmd): New grammar rule.
24521 * script/script.c (grub_script_create_cmdfor): New function.
24522 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24523 function.
24524 * tests/grub_script_for1.in: New testcase.
24525 * conf/tests.rmk: Rules for new testcase.
24526
18486b18
VS
245272010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24528
24529 Nested partitions
24530
24531 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24532 'partition' is NULL, grub_partition_get_start already does that.
24533 * commands/loadenv.c (check_blocklists): Likewise.
24534 (write_blocklists): Likewise.
24535 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24536 (grub_fstest_SOURCES): Likewise.
24537 (pkglib_MODULES): Add part_bsd.mod.
24538 (part_bsd_mod_SOURCES): New variable.
24539 (part_bsd_mod_CFLAGS): Likewise.
24540 (part_bsd_mod_LDFLAGS): Likewise.
24541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24542 (grub_emu_SOURCES): Likewise.
24543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24544 * include/grub/bsdlabel.h: New file.
24545 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24546 'get_name'.
24547 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24548 (grub_partition_map_list): New variable.
24549 (grub_partition_map_register): Inline.
24550 (grub_partition_map_unregister): Likewise.
24551 (FOR_PARTITION_MAPS): New macro.
24552 (grub_partition_map_iterate): Removed.
24553 (grub_partition_get_start): Handle nested partitions.
24554 * include/grub/msdos_partition.h: Remove bsd-related entries.
24555 (grub_pc_partition): Remove.
24556 * kern/disk.c (grub_disk_close): Free partition data.
24557 (grub_disk_adjust_range): Handle nested partitions.
24558 * kern/partition.c (grub_partition_map_probe): New function.
24559 (grub_partition_probe): Parse name to number, handle subpartitions.
24560 (get_partmap): New function.
24561 (grub_partition_iterate): Handle subpartitions.
24562 (grub_partition_get_name): Likewise.
24563 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24564 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24565 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24566 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24567 Set 'number'.
24568 (acorn_partition_map_probe): Remove.
24569 (acorn_partition_map_get_name): Likewise.
24570 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24571 Set 'number'.
24572 Set 'index' to 0 since there can be only one partition entry per sector.
24573 (amiga_partition_map_probe): Remove.
24574 (amiga_partition_map_get_name): Likewise.
24575 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24576 Set 'number'.
24577 Set 'offset' and 'index' to real positions of partitions.
24578 (apple_partition_map_probe): Remove.
24579 (apple_partition_map_get_name): Likewise.
24580 * partmap/bsdlabel.c: New file.
24581 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24582 Set 'number'.
24583 Allocate 'data' so it can be correctly freed.
24584 Set 'index' to offset inside sector.
24585 (gpt_partition_map_probe): Remove.
24586 (gpt_partition_map_get_name): Likewise.
24587 * partmap/msdos.c (grub_partition_parse): Remove.
24588 (pc_partition_map_iterate): Don't force raw access.
24589 Set 'number'.
24590 Make 'ext_offset' a local variable.
24591 (pc_partition_map_probe): Remove.
24592 (pc_partition_map_get_name): Remove.
24593 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24594 Set 'number'.
24595 (sun_partition_map_probe): Remove.
24596 (sun_partition_map_get_name): Likewise.
24597 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24598 (grub_pcpart_type): Likewise.
24599 * util/hostdisk.c (open_device): Handle new numbering scheme.
24600 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24601 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24602 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24603 * util/grub-install.in: Insert all subpartition modules.
24604 * util/ieee1275/grub-install.in: Likewise.
24605
a3940f88
AG
246062010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24607
24608 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24609 grammar.
24610
21b99926 246112010-03-24 Colin Watson <cjwatson@ubuntu.com>
24612
24613 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24614
bed1d352
CW
246152010-03-21 Colin Watson <cjwatson@ubuntu.com>
24616
24617 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24618 match where 'make install' puts them.
24619 * util/i386/efi/grub-install.in: Likewise.
24620
c9f58427
CW
246212010-03-19 Colin Watson <cjwatson@ubuntu.com>
24622
24623 * .bzrignore: Add gentrigtables, grub-script-check,
24624 grub_script_check_init.c, grub_script_check_init.h, and
24625 trigtables.c.
24626
f84afb27
VS
246272010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24628
24629 * kern/parser.c: Indented.
24630
ed0e3d30
VS
246312010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24632
24633 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24634
0ea81d98
VS
246352010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24636
24637 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24638 alpha_mask_size == 0 case.
24639
0cdc2a09
BC
246402010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24641
24642 GRUB shell lexer and parser improvements.
24643
24644 * conf/any-emu.rmk: Build rule updates.
24645 * conf/common.rmk: Likewise.
24646 * conf/i386-coreboot.rmk: Likewise.
24647 * conf/i386-efi.rmk: Likewise.
24648 * conf/i386-ieee1275.rmk: Likewise.
24649 * conf/i386-pc.rmk: Likewise.
24650 * conf/powerpc-ieee1275.rmk: Likewise.
24651 * conf/x86_64-efi.rmk: Likewise.
24652
24653 * configure.ac: Configure check for flex.
24654
24655 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24656 types.
24657 (grub_lexer_param): Struct member updates.
24658 (grub_parser_param): Likewise.
24659 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24660 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24661 (grub_script_lexer_init): Prototype update.
24662 (grub_script_lexer_record_start): Likewise.
24663 (grub_script_lexer_record_stop): Likewise.
24664 (grub_script_lexer_yywrap): New function prototype.
24665 (grub_script_lexer_fini): Likewise.
24666 (grub_script_execute_argument_to_string): Removed by...
24667 (grub_script_execute_argument_to_argv): ...better version.
24668
24669 * script/execute.c (ROUND_UPTO): New macro.
24670 (grub_script_execute_cmdline): Out of memory fixes.
24671 (grub_script_execute_menuentry): Likewise.
24672 (grub_script_execute_argument_to_string): Removed. Update all
24673 users by...
24674 (grub_script_execute_argument_to_argv): ...better version.
24675 * script/function.c (grub_script_function_create): Use
24676 grub_script_execute_argument_to_argv instead of
24677 grub_script_execute_argument_to_string.
24678
24679 * script/lexer.c (check_varstate): Removed.
24680 (check_textstate): Removed.
24681 (grub_script_lexer_record_start): Likewise.
24682 (grub_script_lexer_record_stop): Likewise.
24683 (recordchar): Replaced with...
24684 (grub_script_lexer_record): ...new function.
24685 (nextchar): Removed.
24686 (grub_script_lexer_init): Rewritten.
24687 (grub_script_yylex): Rewritten.
24688 (append_newline): New function.
24689 (grub_script_lexer_yywrap): New function.
24690 (grub_script_lexer_fini): New function.
24691 (grub_script_yyerror): Sets error flag.
24692
24693 * script/yylex.l: New file.
24694 (grub_lexer_yyfree): Wrapper for flex yyffre.
24695 (grub_lexer_yyalloc): Likewise.
24696 (grub_lexer_yyrealloc): Likewise.
24697 * script/parser.y: Refactored.
24698
24699 * script/script.c (grub_script_arg_add): Out of memory fixes.
24700 (grub_script_add_arglist): Likewise.
24701 (grub_script_create_cmdline): Likewise.
24702 (grub_script_create_cmdmenu): Likewise.
24703 (grub_script_add_cmd): Likewise.
24704 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24705 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24706 unnecessary code.
24707
24708 * tests/grub_script_echo1.in: New testcase.
24709 * tests/grub_script_vars1.in: New testcase.
24710 * tests/grub_script_echo_keywords.in: New testcase.
24711
1d63a066
VS
247122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24713
24714 Remove some redundancy in build system.
24715
24716 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24717 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24718 (TARGET_LDFLAGS): Add -nostdlib.
24719 (TARGET_IMG_LDFLAGS): Likewise.
24720 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24721 anything since mmap isn't available.
24722 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24723 Add util/time.c.
24724 (pkglib_MODULES): Remove reboot.mod.
24725 (reboot_mod_SOURCES): Removed.
24726 (reboot_mod_CFLAGS): Likewise.
24727 (reboot_mod_LDFLAGS): Likewise.
24728 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24729 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24730 (DEFSYMFILES): Add kernel_syms.lst.
24731 (kernel_img_HEADERS): Add common headers.
24732 (symlist.c): New target.
24733 (kernel_syms.lst): Likewise.
24734 (pkglib_MODULES): Add memdisk.mod.
24735 (memdisk_mod_SOURCES): New variable.
24736 (memdisk_mod_CFLAGS): Likewise.
24737 (memdisk_mod_LDFLAGS): Likewise.
24738 (pkglib_MODULES): Add reboot.mod.
24739 (reboot_mod_SOURCES): New variable.
24740 (reboot_mod_CFLAGS): Likewise.
24741 (reboot_mod_LDFLAGS): Likewise.
24742 (pkglib_MODULES): Add date.mod.
24743 (date_mod_SOURCES): New variable.
24744 (date_mod_CFLAGS): Likewise.
24745 (date_mod_LDFLAGS): Likewise.
24746 (pkglib_MODULES): Add datehook.mod.
24747 (datehook_mod_SOURCES): New variable.
24748 (datehook_mod_CFLAGS): Likewise.
24749 (datehook_mod_LDFLAGS): Likewise.
24750 (pkglib_MODULES): Add lsmmap.mod.
24751 (lsmmap_mod_SOURCES): New variable.
24752 (lsmmap_mod_CFLAGS): Likewise.
24753 (lsmmap_mod_LDFLAGS): Likewise.
24754 (pkglib_MODULES): Add boot.mod.
24755 (boot_mod_SOURCES): New variable.
24756 (boot_mod_CFLAGS): Likewise.
24757 (boot_mod_LDFLAGS): Likewise.
24758 * conf/i386-coreboot.rmk: Removed redundant parts.
24759 * conf/i386-ieee1275.rmk: Likewise.
24760 * conf/i386-pc.rmk: Likewise.
24761 * conf/mips-yeeloong.rmk: Likewise.
24762 * conf/mips.rmk: Likewise.
24763 * conf/powerpc-ieee1275.rmk: Likewise.
24764 * conf/sparc64-ieee1275.rmk: Likewise.
24765 * conf/x86_64-efi.rmk: Likewise.
24766 * conf/i386-coreboot.rmk: Moved qemu parts ..
24767 * conf/i386-qemu.rmk: ... here
24768 * conf/i386-efi.rmk: Moved common parts to...
24769 * conf/x86-efi.rmk: ... here.
24770 * conf/i386.rmk: Added modules common to all x86 variants.
24771 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24772 * disk/memdisk.c: Remove grub/machine/kernel.h.
24773 * gensymlist.sh.in: Include symbol.h.
24774 * hook/datehook.c: Correct module name.
24775 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24776 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24777 * include/grub/i386/efi/serial.h: New file.
24778 * include/grub/x86_64/efi/serial.h: Likewise.
24779 * util/time.c: Likewise.
24780 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24781
463ac55f
CK
247822010-03-14 Colin King <colin.king@ubuntu.com>
247832010-03-14 Colin Watson <cjwatson@ubuntu.com>
24784
24785 Shrink the pre-partition-table part of boot.img by eight bytes.
24786
24787 * boot/i386/pc/boot.S (ERR): New macro.
24788 (chs_mode): Use ERR.
24789 (geometry_error): Likewise.
24790 (hd_probe_error): Remove. This is only used once, so we wrwite
24791 it inline instead.
24792 (read_error): Instead of printing read_error_string, just set up
24793 %si and fall through to ...
24794 (error_message): ... this new function, also used by ERR.
24795
08e46ede
CW
247962010-03-14 Colin Watson <cjwatson@ubuntu.com>
24797
24798 Speed up consecutive hostdisk operations on the same device.
24799
24800 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24801 (grub_util_biosdisk_open): Initialise disk->data.
24802 (struct linux_partition_cache): New structure.
24803 (linux_find_partition): Cache partition start positions; these are
24804 expensive to compute on every read and write.
24805 (open_device): Cache open file descriptor in disk->data, so that we
24806 don't have to reopen it and flush the buffer cache for consecutive
24807 operations on the same device.
24808 (grub_util_biosdisk_close): New function.
24809 (grub_util_biosdisk_dev): Set `close' member.
24810
24811 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24812 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24813 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24814 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24815 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24816
4a6d2d06
VS
248172010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24818
24819 Compile parts of grub-emu as modules.
24820
24821 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24822 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24823 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24824 (all-local): Add $(GRUB_EMU).
24825 (install-local): Install $(GRUB_EMU).
24826 (uninstall): Uninstall $(GRUB_EMU).
24827 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24828 * kern/dl.c: Likewise.
24829 * commands/sleep.c: Not include machine/time.h.
24830 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24831 (COMMON_CFLAGS): Likewise.
24832 (sbin_UTILITIES): Remove grub-emu.
24833 (grub_emu_SOURCES): Removed.
24834 (kernel_img_RELOCATABLE): New variable.
24835 (pkglib_PROGRAMS): Add kernel.img.
24836 (kernel_img_SOURCES): New variable
24837 (kernel_img_CFLAGS): Likewise.
24838 (kernel_img_LDFLAGS): Likewise.
24839 (TARGET_NO_STRIP): Likewise.
24840 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24841 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24842 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24843 (grub-emu): New target.
24844 (GRUB_EMU): New variable.
24845 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24846 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24847 * loader/xnu.c: Likewise.
24848 * include/grub/pci.h: Likewise.
24849 * genemuinit.sh: New file.
24850 * genemuinitheader.sh: Likewise.
24851 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24852 Support TARGET_NO_DYNAMIC_MODULES.
24853 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24854 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24855 * disk/loopback.c: Likewise.
24856 * font/font_cmd.c: Likewise.
24857 * partmap/acorn.c: Likewise.
24858 * partmap/amiga.c: Likewise.
24859 * partmap/apple.c: Likewise.
24860 * partmap/gpt.c: Likewise.
24861 * partmap/msdos.c: Likewise.
24862 * partmap/sun.c: Likewise.
24863 * parttool/msdospart.c: Likewise.
24864 * term/gfxterm.c: Likewise.
24865 * video/bitmap.c: Likewise.
24866 * video/readers/jpeg.c: Likewise.
24867 * video/readers/png.c: Likewise.
24868 * video/readers/tga.c: Likewise.
24869 * video/video.c: Likewise.
24870 * util/grub-emu.c (read_command_list): Removed.
24871 (main): Don't call util_init_nls.
24872 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24873 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24874
91fdd2ed
VS
248752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24876
24877 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24878 date.mod, datehook.mod.
24879 (datetime_mod_SOURCES): New variable.
24880 (datetime_mod_CFLAGS): Likewise.
24881 (datetime_mod_LDFLAGS): Likewise.
24882 (date_mod_SOURCES): Likewise.
24883 (date_mod_CFLAGS): Likewise.
24884 (date_mod_LDFLAGS): Likewise.
24885 (datehook_mod_SOURCES): Likewise.
24886 (datehook_mod_CFLAGS): Likewise.
24887 (datehook_mod_LDFLAGS): Likewise.
24888 * conf/sparc64-ieee1275.rmk: Likewise.
24889 * lib/ieee1275/datetime.c: New file.
24890
873ccae6
VS
248912010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24892
24893 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24894 (ieee1275_fb_mod_SOURCES): New variable.
24895 (ieee1275_fb_mod_CFLAGS): Likewise.
24896 (ieee1275_fb_mod_LDFLAGS): Likewise.
24897 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24898 New proto.
24899 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24900 (HEAP_MAX_ADDR): Likewise.
24901 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24902 type.
24903 Correct stop condition.
24904 (grub_ieee1275_devices_iterate): New function.
24905 * video/ieee1275.c: New file.
24906
601c97c0
VS
249072010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24908
24909 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24910
24911 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24912 as scratch.
24913 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24914 SCRATCH_PAD_DISKBOOT as scratch.
24915 (bootit): Pass Openfirmware pointer in %o4.
24916 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24917 of 0x200000.
24918 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24919 with util/grub-mkrawimage.c.
24920 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24921 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24922 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24923 (grub_aout_load) [GRUB_UTIL]: Likewise.
24924 * include/grub/kernel.h (grub_modules_get_end): New proto.
24925 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24926 (SCRATCH_PAD_BOOT): New definition.
24927 (SCRATCH_PAD_DISKBOOT): Likewise.
24928 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24929 * include/grub/sparc64/ieee1275/ieee1275.h
24930 (grub_ieee1275_original_stack): New variable
24931 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24932 New definition
24933 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24934 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24935 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24936 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24937 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24938 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24939 (grub_platform_image_format_t): New type.
24940 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24941 * kern/main.c (grub_modules_get_end)
24942 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24943 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24944 (codestart): Switch stacks.
24945 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24946 variable.
24947 (grub_heap_init): Use grub_modules_get_end.
24948 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24949 stack.
24950 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24951 (main): Likewise.
24952 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24953
d68b491e
TG
249542010-03-14 Thorsten Glaser <tg@mirbsd.org>
24955
24956 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24957
4e02ed50
MK
249582010-03-08 Matt Kraai <kraai@ftbfs.org>
24959
24960 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24961 bug #559005).
24962
1f15fc1e
VS
249632010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24964
24965 * genmoddep.awk: Output all missing symbols and not only first.
24966
fce5d8ff
VS
249672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24968
24969 * NEWS: Put the date of 1.98 release.
24970
d1e8a02f
VS
249712010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24972
24973 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24974 ft2build.h.
24975
696fd607
VS
249762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24977
24978 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24979 completition in the middle of string.
24980
33e2e6f3
VS
249812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24982
24983 * util/grub-mkrescue.in: Use mktemp with explicit template.
24984
b1f6d291
VS
249852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24988
2ac227c7
VS
249892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24992 right pointer.
24993
8f9a632b
VS
249942010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24995
24996 Fix FreeBSD compilation.
24997
24998 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24999 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25000
60b03859
VS
250012010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25002
25003 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25004
48a5a769
VS
250052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25006
25007 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25008
3ab4bd77
VS
250092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25010
25011 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25012
d116e0d8
RM
250132010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25014
25015 Support relative image path in theme file.
25016
25017 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25018 (image_set_property): Handle theme_dir and relative path.
25019
c7ef54aa
VS
250202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 * configure.ac: Alias amd64 to x86_64.
25023
fcee14ed
VS
250242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25025
25026 * NEWS: mention multiboot on EFI.
25027
d0780363
VS
250282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25029
25030 * kern/main.c (grub_load_modules): Handle errors from init functions of
25031 embeded modules.
25032
41168ea4
VS
250332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25034
25035 * normal/autofs.c (autoload_fs_module): Handle errors.
25036
b54d93ac
VS
250372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 Disable linux.mod on qemu-mips since it's not functional and leads
25040 to compilation failure.
25041
25042 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25043 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25044 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25045 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25046 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25047 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25048 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25049 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25050 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25051 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25052 Reported by: BVK Chaitanya
25053
fc8345da
JU
250542010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25055
25056 * INSTALL: Add gettext as a dependency and add qemu to a new section
25057 "Prerequisites for make-check".
25058
4760f979
CF
250592010-03-04 Christian Franke <franke@computer.org>
25060
25061 * util/grub-pe2elf.c: Add missing include "progname.h".
25062
f209b5b2
VS
250632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25064
25065 * normal/crypto.c (read_crypto_list): Fix a typo.
25066 Reported by: Seth Goldberg.
25067
b4b7be98
VS
250682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25069
25070 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25071 Reported by: Seth Goldberg.
b4b7be98 25072
c0ee0385
VS
250732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25074
25075 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25076 ascii.bitmaps.
25077
a8efbf64
VS
250782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25079
25080 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25081 Reported by: Seth Goldberg.
a8efbf64 25082
08dcd913
VS
250832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25084
25085 * util/i386/efi/grub-install.in: Copy gettext files.
25086
c4d0b332
VS
250872010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25088
25089 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25090
c6f2fe52
VS
250912010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25092
25093 Wait for user entry basing on presence of output rather than on errors.
25094
25095 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25096 (grub_install_newline_hook): Likewise.
25097 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25098 * normal/menu.c (show_menu): Check line_counter to determine presence
25099 of output.
25100 * normal/term.c (grub_normal_line_counter): New variable.
25101 (grub_normal_get_line_counter): New function.
25102 (grub_install_newline_hook): Likewise.
25103
5382b1e4
VS
251042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25105
25106 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25107
5519963b
VS
251082010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25109
25110 * configure.ac: Update version to 1.98.
25111
72b28631
VS
251122010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25113
25114 * util/grub.d/10_linux.in (linux_entry): Don't default to
25115 gfxpayload=keep if Linux doesn't support video handover.
25116
c140a180
VS
251172010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25118
25119 Don't compile video modules on yeeloong since video subsystem is part
25120 of kernel.
25121
25122 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25123 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25124 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25125 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25126 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25127 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25128 * include/grub/bitmap_scale.h: Likewise.
25129 * include/grub/bufio.h: Likewise.
25130 * include/grub/font.h: Likewise.
25131 * include/grub/gfxterm.h: Likewise.
25132 * include/grub/video.h: Likewise.
25133 * include/grub/vbe.h: Don't include video_fb.h.
25134 * video/i386/pc/vbe.c: Include video_fb.h.
25135 * commands/i386/pc/vbetest.c: Include video.h.
25136
a0ca21c2
CW
251372010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25138
25139 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25140 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25141 default entry if GRUB_SAVEDEFAULT=true. This allows using
25142 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25143 saving a new default on every boot.
25144
4a8a763c
VS
251452010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25146
25147 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25148 * normal/term.c (read_terminal_list): Likewise.
25149 * normal/main.c (grub_normal_init_page): Likewise.
25150 (grub_normal_read_line_real): Likewise.
25151
607ffde2
VS
251522010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25153
25154 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25155 memory leak.
25156 Reported by: Seth Goldberg.
25157
2b8fa975
CW
251582010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25159
25160 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25161 duplicate declaration of `start'.
25162
618307dd
VS
251632010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25164
25165 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25166 filename.
25167 Reported by: Georgy Buranov
25168
7dd05b96 251692010-02-20 Carles Pina i Estany <carles@pina.cat>
25170
25171 * util/grub-mkrawimage.c (usage): Change string formatting to
25172 improve gettext.
25173
d1484a42
MRA
251742010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25175
25176 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25177 backspace keys.
25178
42b1d186
VS
251792010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25180
25181 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25182 Reported by: Michael Suchanek.
25183
251842010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25185
25186 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25187 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25188
d9f31a41
VS
251892010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25190
25191 Remove any reference to non-free fonts.
25192
25193 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25194 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25195 uses non-free components.
25196 * font/font.c (grub_font_get_name): Remove example name.
25197 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25198 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25199 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25200 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25201
2793c71e
GB
252022010-02-16 Georgy Buranov <gburanov@gmail.com>
25203
25204 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25205
402e3779
VS
252062010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25207
25208 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25209 Double divisor.
25210 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25211 features.
25212 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25213
0dd1e0dd
VS
252142010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25215
25216 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25217
6fa7cfce
ST
252182010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25219
25220 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25221 * docs/grub.texi (Command-line and menu entry commands): Document play
25222 command.
25223
37c8483b
ST
252242010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25225
25226 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25227 parse arguments as inline tempo and notes. Move code for playing notes
25228 to...
25229 (play): ... new function.
25230
14da0fb7
ST
252312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25232
25233 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25234 grub_uint16_t instead of short.
25235 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25236 disk from little endian to cpu endianness.
25237
04459e70
ST
252382010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25239
25240 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25241 GRUB_TICKS_PER_SECOND instead of 120.
25242
a0876943
VS
252432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25244
25245 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25246 escape sequence after \e.
25247
e29f95dc
VS
252482010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25251 non-ASCII characters.
25252
d27859b2
VS
252532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25254
25255 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25256 set root in single quotes to prevent \, from being unescaped.
25257
bc028f2f
VS
252582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 Prevent unknown commands from stopping menuentry execution.
25261
25262 * script/execute.c (grub_script_execute_cmdline): Print error after
25263 unknown command.
25264
095f5f82
VS
252652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25266
25267 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25268 Reported by: Pavel Pisa.
25269
8c717950
VS
252702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25271
25272 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25273
904935c3
VS
252742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25275
25276 Merge grub_ieee1275_map_physical into grub_map and rename to
25277 grub_ieee1275_map
25278
25279 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25280 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25281 Remove.
25282 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25283 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25284 necessary.
25285 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25286
5b59a4e3
VS
252872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25288
25289 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25290 opening and not after.
25291
69e137e8
VS
252922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25293
25294 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25295 constants.
25296
2c0fcc36
VS
252972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25298
25299 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25300 (alloc_phys): Use ALIGN_UP instead of align_addr.
25301
8c6052ce
VS
253022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25303
25304 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25305
17cec782
VS
253062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25307
25308 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25309
e0128bbd
VS
253102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25313 verbose dprintf.
25314
ca62070b
VS
253152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25316
25317 Fix over-4GiB seek on sparc64.
25318
25319 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25320 Replace pos_i and pos_lo with pos. All users updated.
25321 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25322 New constant.
25323 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25324 Likewise.
25325 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25326 and pos_lo.
25327
bdca2607
VS
253282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25329
25330 * util/grub-mkrawimage.c (main): Call set_program_name.
25331
da278c4d
VS
253322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 Properly align 64-bit targets.
25335
25336 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25337 (generate_image): Use ALIGN_ADDR.
25338
b274d734
VS
253392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25340
25341 Properly create cross-endian images.
25342
25343 * include/grub/types.h (grub_host_to_target_addr): New macro
25344 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25345
82da2062
VS
253462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25347
25348 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25349
7cae4377
VS
253502010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25351
25352 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25353
25354 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25355 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25356 (grub_linux_boot): Divide by 64K when on VESA.
25357
65a533e7
VS
253582010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25359
25360 Support GRUB_GFXPAYLOAD_LINUX.
25361
25362 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25363 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25364
dd01d397
VS
253652010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25366
25367 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25368 to show messages instead of discarding them.
25369 Process errors after executing command and not before. Keep old method
25370 too as precaution.
25371
660960d6
VS
253722010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25373
25374 * configure.ac: Check for ft2build.h.
25375
62509f04
VS
253762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25377
25378 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25379
473df63d
VS
253802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 * genkernsyms.sh.in: Use TARGET_CC.
25383
c98d2a13
CW
253842010-02-07 Colin Watson <cjwatson@ubuntu.com>
25385
25386 * NEWS: Update.
25387
6e14234c
VS
253882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25391 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25392 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25393
b255e9cf
YB
253942010-02-07 Yves Blusseau <blusseau@zetam.org>
25395
6e14234c 25396 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25397
98e6959d
VS
253982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25399
25400 Fix warnings in grub-emu when compiling with maximum warning options.
25401
25402 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25403 (grub_arch_modules_addr): Return 0 and not NULL.
25404 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25405 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25406 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25407 of disk to dsk to avoid shadowing.
74e4934e
VS
25408 (find_free_slot): Fix prototype.
25409 * util/getroot.c (grub_util_is_dmraid): Make static.
25410 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25411 Add missing prototype.
25412 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25413
74e31b5c
VS
254142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25415
25416 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25417 appropriately.
25418
6b2ad14b
VS
254192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25420
25421 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25422 code out.
25423
8f891adc
VS
254242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25425
25426 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25427 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25428 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25429 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25430 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25431 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25432
74b45184
VS
254332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 * include/grub/err.h (grub_err_printf): Don't export.
25436
a4bced77
VS
254372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25438
25439 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25440
007d0695
VS
254412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25442
25443 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25444 * kern/misc.c (grub_gettext_dummy): Make static.
25445
b6c0d9c2
VS
254462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25447
25448 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25449 by non-valid ones.
25450 * kern/term.c (grub_putchar): Likewise.
25451
f51a90d0
VS
254522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25453
25454 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25455 buggy hook call and memory leak.
25456
6846cec5
VS
254572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25458
25459 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25460
468d69fe
VS
254612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25462
25463 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25464
51906b8c
VS
254652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25466
25467 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25468 modevar.
25469 Return grub_errno on allocation error.
25470
09706ce5
VS
254712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25472
25473 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25474
911df80c
YB
254752010-02-06 Yves Blusseau <blusseau@zetam.org>
25476
25477 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25478 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25479
3746a6bc
VS
254802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25481
25482 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25483 non-pxe disk.
25484 (grub_pxefs_open): Likewise.
25485
09706ce5
VS
254862010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25487
25488 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25489 * util/grub.d/10_kfreebsd.in: Likewise.
25490 * util/grub.d/10_linux.in: Likewise.
25491
7cc192d9
VS
254922010-02-06 Colin D Bennett <colin@gibibit.com>
25493
25494 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25495 (gfxmenu_mod_SOURCES): New variable.
25496 (gfxmenu_mod_CFLAGS): Likewise.
25497 (gfxmenu_mod_LDFLAGS): Likewise.
25498 * include/grub/term.h (grub_term_set_current_output): Declare
25499 argument as const.
25500 * docs/gfxmenu-theme-example.txt: New file.
25501 * gfxmenu/gfxmenu.c: Likewise.
25502 * gfxmenu/gui_box.c: Likewise.
25503 * gfxmenu/gui_canvas.c: Likewise.
25504 * gfxmenu/gui_circular_progress.c: Likewise.
25505 * gfxmenu/gui_image.c: Likewise.
25506 * gfxmenu/gui_label.c: Likewise.
25507 * gfxmenu/gui_list.c: Likewise.
25508 * gfxmenu/gui_progress_bar.c: Likewise.
25509 * gfxmenu/gui_string_util.c: Likewise.
25510 * gfxmenu/gui_util.c: Likewise.
25511 * gfxmenu/icon_manager.c: Likewise.
25512 * gfxmenu/model.c: Likewise.
25513 * gfxmenu/named_colors.c: Likewise.
25514 * gfxmenu/theme_loader.c: Likewise.
25515 * gfxmenu/view.c: Likewise.
25516 * gfxmenu/widget-box.c: Likewise.
25517 * include/grub/gfxmenu_model.h: Likewise.
25518 * include/grub/gfxmenu_view.h: Likewise.
25519 * include/grub/gfxwidgets.h: Likewise.
25520 * include/grub/gui.h: Likewise.
25521 * include/grub/gui_string_util.h: Likewise.
25522 * include/grub/icon_manager.h: Likewise.
25523
255242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25525
25526 Agglomerate scrolling in gfxterm.
25527
25528 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25529 (grub_virtual_screen_setup): Initialise 'total_screen'.
25530 (write_char): Split to ...
25531 (paint_char): ... this ...
25532 (write_char): ... and this.
25533 (paint_char): Handle delayed scrolling.
25534 (draw_cursor): Likewise.
25535 (scroll_up): Split to ...
25536 (real_scroll): ... this ...
25537 (scroll_up): ... and this.
25538 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25539 characters.
25540 (grub_gfxterm_refresh): Call real_scroll.
25541
255422010-02-06 Colin D Bennett <colin@gibibit.com>
25543
25544 * include/grub/misc.h (grub_iscntrl): New inline function.
25545 (grub_isalnum): Likewise.
25546 (grub_strtol): Likewise.
25547
255482010-02-06 Colin D Bennett <colin@gibibit.com>
25549
25550 * normal/menu_text.c (get_entry_number): Move from here ...
25551 * normal/menu.c (get_entry_number): ... moved here.
25552 * include/grub/menu.h (grub_menu_get_default_entry_index):
25553 New prototype.
25554 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25555 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25556 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25557 (grub_menu_viewer_should_return): Likewise.
25558 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25559 * normal/menu_text.c (run_menu): Enable menu switching.
25560 * normal/menu_viewer.c (should_return): New variable.
25561 (menu_viewer_changed): Likewise.
25562 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25563 (grub_menu_viewer_should_return): New function.
25564 (menuviewer_write_hook): Likewise.
25565 (grub_menu_viewer_init): Likewise.
25566
255672010-02-06 Colin D Bennet <colin@gibibit.com>
255682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25569
25570 Support for gfxterm in a window.
25571
25572 * include/grub/gfxterm.h: New file.
25573 * include/grub/video.h (struct grub_video_rect): New declaration.
25574 (grub_video_rect_t): Likewise.
25575 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25576 (refcount): New variable.
25577 (render_target): Likewise.
25578 (window): Likewise.
25579 (repaint_callback): Likewise.
25580 (grub_virtual_screen_setup): Use 'render_target'.
25581 (init_window): New function.
25582 (grub_gfxterm_init_window): Likewise.
25583 (grub_gfxterm_init): Check reference counter.
25584 Use init_window.
25585 (destroy_window): New function.
25586 (grub_gfxterm_destroy_window): Likewise.
25587 (grub_gfxterm_fini): Check reference counter.
25588 Use destroy_window.
25589 (redraw_screen_rect): Restore viewport.
25590 Use 'render_target' and 'window'.
25591 Call 'repaint_callback'.
25592 (write_char): Use 'render_target'.
25593 (draw_cursor): Likewise.
25594 (scroll_up): Restore viewport.
25595 Use 'render_target' and 'window'.
25596 Call 'repaint_callback'.
25597 (grub_gfxterm_cls): Likewise.
25598 (grub_gfxterm_refresh): Use 'window'.
25599 (grub_gfxterm_set_repaint_callback): New function.
25600 (grub_gfxterm_background_image_cmd): Use 'window'.
25601 (grub_gfxterm_get_term): New function.
25602 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25603
256042010-02-06 Colin D Bennett <colin@gibibit.com>
25605
25606 Bitmap scaling support.
25607
25608 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25609 (bitmap_scale_mod_SOURCES): New variable.
25610 (bitmap_scale_mod_CFLAGS): Likewise.
25611 (bitmap_scale_mod_LDFLAGS): Likewise.
25612 * include/grub/bitmap_scale.h: New file.
25613 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25614 (background_image_cmd_options): New variable.
25615 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25616 (cmd): Rename and change type to ...
25617 (background_image_cmd_handle): ... this. All users updated.
25618 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25619 * video/bitmap_scale.c: New file.
25620
256212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25622
25623 SDL support.
25624
25625 * Makefile.in (LIBSDL): New variable.
25626 (enable_grub_emu_sdl): Likewise.
25627 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25628 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25629 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25630 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25631 * util/sdl.c: New file.
25632
256332010-02-06 Colin D Bennett <colin@gibibit.com>
256342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25635
25636 Double buffering support.
25637
25638 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25639 * include/grub/video.h: Update comment.
25640 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25641 New type.
25642 (grub_video_fb_doublebuf_blit_init): New prototype.
25643 * term/gfxterm.c (scroll_up): Support double buffering.
25644 (grub_gfxterm_refresh): Likewise.
25645 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25646 (grub_video_fb_doublebuf_blit_init): Likewise.
25647 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25648 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25649 'displayed_page', 'render_page' and 'update_screen'.
25650 (grub_video_vbe_fini): Free offscreen buffer.
25651 (doublebuf_pageflipping_commit): New function.
25652 (doublebuf_pageflipping_update_screen): Likewise.
25653 (doublebuf_pageflipping_init): Likewise.
25654 (double_buffering_init): Likewise.
25655 (grub_video_vbe_setup): Enable doublebuffering.
25656 (grub_video_vbe_swap_buffers): Implement.
25657 (grub_video_vbe_set_active_render_target): Handle double buffering.
25658 (grub_video_vbe_get_active_render_target): Likewise.
25659 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25660 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25661 (grub_video_vbe_enable_double_buffering): Likewise.
25662 (grub_video_vbe_swap_buffers): Use update_screen.
25663 (grub_video_set_mode): Use double buffering.
25664
256652010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25666
25667 * maintainance/gentrigtables.py: Remove.
25668 * lib/trig.c: Likewise.
25669
25670 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25671
25672 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25673 `trigtables.c'.
25674 (trigtables.c): New rule.
25675 (gentrigtables): Likewise.
25676 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25677
256782010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25679
25680 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25681 integer constants.
25682
256832010-02-06 Colin D Bennet <colin@gibibit.com>
25684
25685 Trigonometry support.
25686
25687 * include/grub/trig.h: New file.
25688 * lib/trig.c: Likewise.
25689 * maintainance/gentrigtables.py: Likewise.
25690 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25691 (trig_mod_SOURCES): New variable.
25692 (trig_mod_CFLAGS): Likewise.
25693 (trig_mod_LDFLAGS): Likewise.
25694
5562834e
VS
256952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25696
25697 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25698 disk devices.
25699
4f8528fc
VS
257002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25703 error.
25704
2b4068e9
VS
257052010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25706
25707 * util/hostdisk.c (open_device): Don't use partition device when reading
25708 before the partition.
25709 (grub_util_biosdisk_read): Don't read from partition and before the
25710 partition in single operation.
25711 (grub_util_biosdisk_write): Don't write to partition and before the
25712 partition in single operation.
25713
399f6e4d
TL
257142010-02-03 Torsten Landschoff <torsten@debian.org>
25715
25716 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25717 last sectors.
25718
996649b0
VS
257192010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25722 CDROM reads.
25723 (grub_biosdisk_write): Refuse to write to CDROM.
25724
3b205d4d
VS
257252010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25726
25727 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25728
61e89d9d
VS
257292010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25730
25731 * font/font.c (find_glyph): Check that bmp_idx is available before
25732 using it.
25733 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25734 with (font == NULL).
25735
bf7fcba2
CS
257362010-01-28 Christian Schmitt <chris@ilovelinux.de>
25737
25738 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25739
f45d2663
BC
257402010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25741
25742 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25743 * util/grub-script-check.c (getline): Fix empty lines case.
25744
ec1444e6
RM
257452010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25746
25747 * Makefile.in (check): Exit with fail status when one of the tests
25748 fails.
25749 * tests/example_functional_test.c (example_test): Fix reversed assert.
25750 * tests/example_unit_test.c (example_test): Likewise.
25751
2e1cb9bb
CW
257522010-01-28 Colin Watson <cjwatson@ubuntu.com>
25753
25754 * util/grub.d/10_linux.in: This script does not use any of the
25755 contents of gettext.sh, only the external command `gettext', so stop
25756 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25757 the same prefix as GRUB.)
25758 * util/grub.d/10_kfreebsd.in: Likewise.
25759
63533ab0
VS
257602010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25761
25762 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25763 of the line.
25764
989e1f93
VS
257652010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25766
25767 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25768 last sectors.
25769
e709ebe2
VS
257702010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25771
25772 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25773 having a 4KiB and not 32KiB buffer size.
25774
27dea7ed
RM
257752010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25776
25777 * util/hostfs.c: Include `<errno.h>'.
25778 (grub_hostfs_read): Handle errors from fseeko() and fread().
25779
67667b9c
RM
257802010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25781
25782 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25783 loop when using read hooks on files whose size isn't sector-aligned.
25784
c294d9d8
RM
257852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25786
25787 Remove unused parameter.
25788
25789 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25790 (grub_iso9660_open): Remove initialization of `data->length'.
25791
af75a9f1
RM
257922010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25793
25794 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25795 memleak conditions.
25796
254e2ce5 257972010-01-27 Carles Pina i Estany <carles@pina.cat>
25798
25799 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25800 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25801
b510928c 258022010-01-26 Carles Pina i Estany <carles@pina.cat>
25803
25804 * util/bin2h.c (usage): Fix warning (space after backslash).
25805
aa2f9dd2 258062010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25807
25808 * font/font.c: Include `grub/fontformat.h.
25809 Remove font file format constants.
25810 (grub_font_load): Use the new macros.
25811 * include/grub/fontformat.h: New file.
25812 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25813 (write_font_pf2): Use the new macros.
25814
94e7e712
RM
258152010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25816
25817 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25818 does.
25819
3973a59a
RM
258202010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25821
25822 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25823
25824 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25825 (_start): Macroify `0x7F'.
25826
25827 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25828 (make_install_device): Use "(pxe)" as fallback prefix when booting
25829 via PXE.
25830
42e0cba3
GS
258312010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25832
25833 * configure.ac: Reset LIBS after check for libgcc symbols.
25834
847effd8
CW
258352010-01-25 Colin Watson <cjwatson@ubuntu.com>
25836
25837 * util/hostdisk.c (open_device): Add trailing newline to debug
25838 message.
25839
ea4a7e35
GS
258402010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25841
25842 * configure.ac: Check for `limits.h'.
25843 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25844
67951a53
RM
258452010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25846
25847 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25848 capitalize error strings.
25849
c273d4ce
ST
258502010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25851
25852 * util/grub.d/10_hurd.in: Add a recovery mode.
25853
69be5b74
VS
258542010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25855
25856 * configure.ac: Check for libgcc symbols with -nostdlib.
25857
fc9e5810
BC
258582010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25859
25860 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25861
4b358c0a
VS
258622010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25863
25864 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25865 stack since heap may be unavailable at that point.
25866 (grub_ofconsole_gotoxy): Likewise.
25867
454fcd1c
VS
258682010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25869
25870 * configure.ac: Check for _restgpr_14_x.
25871 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25872 and _savegpr_* prototypes.
25873
566863ca
RM
258742010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25875
25876 Use generic grub_reboot() for i386-efi.
25877
25878 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25879 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25880 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25881
bf86e59a
VS
258822010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25883
25884 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25885 presence of "prefix" variable as it breaks when normal.mod is
25886 embedded.
25887
d645e0f8
VS
258882010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25889
25890 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25891 stack since heap is unavailable at that point.
25892
f9ab2e25
VS
258932010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25894
25895 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25896 (grub_freebsd_bootinfo): Rewritten.
25897 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25898
01fc7054
VS
258992010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25900
25901 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25902
caab4fd6
RM
259032010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25904
25905 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25906 domain now.
25907
67eb1427
FZ
259082010-01-20 Felix Zielcke <fzielcke@z-51.de>
25909
25910 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25911 around for handling "/" to the correct fix. Fix a memory leak. Use
25912 xstrdup instead of strdup.
25913
a9ed4ff3
VS
259142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25915
25916 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25917
259182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25919
25920 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25921
25922 * font/font.c (struct grub_font): New member 'bmp_idx'.
25923 (font_init): Initialise 'bmp_idx'.
25924 (load_font_index): Fill 'bmp_idx'.
25925 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25926
48209f4f
VS
259272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25928
25929 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25930 unnecessary calls.
25931
9f0a4bb7
VS
259322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25933
25934 Move context handling out of the kernel.
25935
25936 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25937 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25938 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25939 * conf/i386-efi.rmk: Likewise.
25940 * conf/i386-ieee1275.rmk: Likewise.
25941 * conf/i386-pc.rmk: Likewise.
25942 * conf/powerpc-ieee1275.rmk: Likewise.
25943 * conf/sparc64-ieee1275.rmk: Likewise.
25944 * conf/x86_64-efi.rmk: Likewise.
25945 * include/grub/env.h: Include grub/menu.h.
25946 (grub_env_var_type): Removed.
25947 (grub_env_var): Replaced field 'type' with 'global'.
25948 (grub_env_find): New prototype.
25949 (grub_env_context_open): Remove EXPORT_FUNC.
25950 (grub_env_context_close): Likewise.
25951 (grub_env_export): Likewise.
25952 (grub_env_set_data_slot): Removed.
25953 (grub_env_get_data_slot): Likewise.
25954 (grub_env_unset_data_slot): Likewise.
25955 (grub_env_unset_menu): New prototype.
25956 (grub_env_set_menu): Likewise.
25957 (grub_env_get_menu): Likewise.
25958 * include/grub/env_private.h: New file.
25959 * include/grub/normal.h (grub_context_init): New prototype.
25960 (grub_context_fini): Likewise.
25961 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25962 * normal/context.c (grub_cmd_export): ... to here.
25963 * kern/env.c: Include env_private.h.
25964 (HASHSZ): Moved to include/grub/env_private.h.
25965 (grub_env_context): Likewise.
25966 (grub_env_sorted_var): Likewise.
25967 (current_context): Renamed from this ...
25968 (grub_current_context): ...to this. 'static' removed. All users updated.
25969 (grub_env_find): Removed 'static'.
25970 (grub_env_context_open): Moved to normal/context.c.
25971 (grub_env_context_close): Likewise.
25972 (grub_env_export): Likewise.
25973 (mangle_data_slot_name): Removed.
25974 (grub_env_set_data_slot): Likewise.
25975 (grub_env_get_data_slot): Likewise.
25976 (grub_env_unset_data_slot): Likewise.
25977 * kern/main.c (grub_set_root_dev): Don't export root.
25978 It will be done later.
25979 (grub_main): Don't export prefix.
25980 It will be done later.
25981 * normal/context.c: New file.
25982 * normal/main.c (free_menu): Use grub_env_unset_menu.
25983 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25984 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25985 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25986 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25987
8dd35b8c
VS
259882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25989
25990 setpci support.
25991
25992 * commands/setpci.c: New file.
25993 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25994 (setpci_mod_SOURCES): New variable.
25995 (setpci_mod_CFLAGS): Likewise.
25996 (setpci_mod_LDFLAGS): Likewise.
25997
449193d5
VS
259982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25999
26000 Byte-addressable PCI configuration space.
26001
26002 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26003 dword address.
26004 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26005 GRUB_PCI_REG_CACHELINE.
26006 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26007 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26008 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26009 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26010 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26011 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26012 grub_pci_make_address.
26013 (lock_rom_area): Likewise.
26014 * commands/lspci.c (grub_lspci_iter): Use macroses
26015 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26016 of grub_pci_make_address.
26017 * disk/ata.c (grub_ata_pciinit): Likewise.
26018 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26019 (GRUB_PCI_REG_VENDOR): Likewise.
26020 (GRUB_PCI_REG_DEVICE): Likewise.
26021 (GRUB_PCI_REG_COMMAND): Likewise.
26022 (GRUB_PCI_REG_STATUS): Likewise.
26023 (GRUB_PCI_REG_REVISION): Likewise.
26024 (GRUB_PCI_REG_CLASS): Likewise.
26025 (GRUB_PCI_REG_CACHELINE): Likewise.
26026 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26027 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26028 (GRUB_PCI_REG_BIST): Likewise.
26029 (GRUB_PCI_REG_ADDRESSES): Likewise.
26030 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26031 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26032 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26033 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26034 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26035 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26036 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26037 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26038 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26039 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26040 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26041 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26042 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26043 (GRUB_PCI_REG_MIN_GNT): Likewise.
26044 (GRUB_PCI_REG_MAX_LAT): Likewise.
26045 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26046 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26047 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26048 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26049 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26050 space.
26051
96d73208
RM
260522010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26053
26054 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26055 can be reliably determined to be supported.
26056
d4484482
RM
260572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26058
26059 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26060 that VESA is supported.
26061 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26062 supported.
26063
00308ecf
VS
260642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26065
26066 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26067
f66924a4
RM
260682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26069
26070 * util/misc.c (make_system_path_relative_to_its_root): Work around
26071 special-casing of "/", as previous incarnation of this routine did.
26072
cbca0ada
VS
260732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26074
26075 Fix any-emu compilation.
26076
26077 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26078 * grub_bin2h_SOURCES: New variable.
26079
34a66d99
RM
260802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26081
26082 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26083
94fabf58
RM
260842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26085
26086 * util/grub.d/00_header.in: Fix handling of locale_dir.
26087
02cf98ca
VS
260882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26089
26090 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26091 as possible unifont location (Gentoo).
26092 Reported by: Alexander Brüning
26093
327dbcd7
VS
260942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26095
26096 Don't try to generate lists for kernel.img.
26097
26098 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26099 (pkglib_MODULES): Remove kernel.img.
26100 (kernel_img_EXPORTS): Removed.
26101 (kernel_img_RELOCATABLE): New variable.
26102 * conf/x86_64-efi.rmk: Likewise.
26103 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26104
ca467290
VS
261052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26106
26107 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26108 grub_xasprintf or grub_snprintf.
26109 (grub_vsprintf): Likewise.
26110 (grub_snprintf): New proto.
26111 (grub_vsnprintf): Likewise.
26112 (grub_xasprintf): Likewise.
26113 (grub_xvasprintf): Likewise.
26114 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26115 (grub_sprintf): Removed.
26116 (grub_vsnprintf): New function.
26117 (grub_snprintf): Likewise.
26118 (grub_xvasprintf): Likewise.
26119 (grub_xasprintf): Likewise.
26120 (grub_vsprintf): Renamed to ...
26121 (grub_vsnprintf_real): ...this. New argument max_len.
26122
aca655fd
BC
261232010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26124
26125 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26126 fix grub-script-check warning.
26127
7ee92c32
VS
261282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26129
26130 * include/grub/font.h (grub_font_load): Fix prototype.
26131
f80927ca
VS
261322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26133
26134 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26135
119c50ea
VS
261362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26137
26138 * include/grub/x86_64/at_keyboard.h: New file.
26139
47d5f3c1
VS
261402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 * loader/mips/linux.c: Include missing grub/i18n.h.
26143
55ff5266
RM
261442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26145
26146 * normal/menu.c (notify_execution_failure): Clarify error message.
26147
c893cc87
RM
261482009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26149
26150 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26151 return value (and revert all return statements). Update users.
26152
917dd370
CW
261532010-01-20 Dan Merillat <debian@dan.merillat.org>
26154
26155 * kern/device.c (grub_device_iterate): Allocate new part_ent
26156 structure based on sizeof (*p) rather than sizeof (p->next), to
26157 account for structure padding.
26158
26159 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26160 disk is NULL, which might happen for LVM physical volumes with no
26161 LVM signature.
26162
d4a4ee57
RM
261632009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26164
26165 * loader/mips/linux.c (grub_cmd_initrd)
26166 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26167
261682009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26169
26170 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26171 (grub_video_video_init, grub_video_bitmap_init)
26172 (grub_font_manager_init, grub_term_gfxterm_init)
26173 (grub_at_keyboard_init): New extern declarations.
26174 (grub_machine_init): Initialize gfxterm and at_keyboard.
26175
26176 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26177
26178 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26179 `gfxterm.mod' into core image.
26180
26181 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26182 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26183 (kernel_img_FORMAT): Copy to ...
26184
26185 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26186 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26187 (kernel_img_FORMAT): ... here, and ...
26188
26189 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26190 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26191 (kernel_img_FORMAT): ... here.
26192
26193 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26194 and input (at_keyboard) terminals in kernel.
26195 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26196
26197 (pkglib_MODULES): Remove `pci.mod'.
26198 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26199 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26200 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26201 (at_keyboard_mod_LDFLAGS): Remove variables.
26202
262032010-01-11 Felix Zielcke <fzielcke@z-51.de>
26204
26205 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26206
262072009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26208
26209 * include/grub/mips/libgcc.h: Only export symbols for functions
26210 that libgcc provides.
26211
262122009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26213
26214 MIPS support.
26215
26216 * bus/bonito.c: New file.
26217 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26218 GRUB_PCI_NUM_DEVICES.
26219 * term/i386/pc/serial.c: Move to ...
26220 * term/serial.c: ... here. All users updated.
26221 * util/i386/pc/grub-mkimage.c: Move to ...
26222 * util/grub-mkrawimage.c: ... here. All users updated.
26223 * term/i386/pc/at_keyboard.c: Move to ...
26224 * term/at_keyboard.c: ... here. All users updated.
26225 * conf/mips-qemu-mips.rmk: New file.
26226 * conf/mips-yeeloong.rmk: Likewise.
26227 * conf/mips.rmk: Likewise.
26228 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26229 mipsel-qemu-mips.
26230 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26231 to port addresses.
26232 (grub_ata_pciinit): Support CS5536.
26233 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26234 * font/font_cmd.c (loadfont_command): Open file before passing it to
26235 grub_font_load.
26236 (pseudo_file_read): New function.
26237 (pseudo_file_close): Likewise.
26238 (pseudo_fs): New structure.
26239 (load_font_module): New function.
26240 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26241 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26242 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26243 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26244 * include/grub/i386/at_keyboard.h: Split into ...
26245 * include/grub/at_keyboard.h: ... this ...
26246 * include/grub/i386/at_keyboard.h: ... and this.
26247 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26248 New prototype.
26249 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26250 updated.
26251 (grub_elf64_size): Likewise.
26252 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26253 filename.
26254 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26255 * include/grub/i386/coreboot/serial.h: Rewritten.
26256 * include/grub/i386/ieee1275/serial.h: Include
26257 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26258 * include/grub/i386/pc/serial.h: Moved from here ...
26259 * include/grub/serial.h: ... to here. All users updated.
26260 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26261 (GRUB_PCI_NUM_BUS): Likewise.
26262 (GRUB_PCI_NUM_DEVICES): Likewise.
26263 (grub_pci_device_map_range): Add missing volatile keyword.
26264 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26265 * include/grub/mips/at_keyboard.h: New file.
26266 * include/grub/mips/cache.h: Likewise.
26267 * include/grub/mips/io.h: Likewise.
26268 * include/grub/mips/kernel.h: Likewise.
26269 * include/grub/mips/libgcc.h: Likewise.
26270 * include/grub/mips/pci.h: Likewise.
26271 * include/grub/mips/qemu-mips/boot.h: Likewise.
26272 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26273 * include/grub/mips/qemu-mips/loader.h: Likewise.
26274 * include/grub/mips/qemu-mips/memory.h: Likewise.
26275 * include/grub/mips/qemu-mips/serial.h: Likewise.
26276 * include/grub/mips/qemu-mips/time.h: Likewise.
26277 * include/grub/mips/relocator.h: Likewise.
26278 * include/grub/mips/time.h: Likewise.
26279 * include/grub/mips/types.h: Likewise.
26280 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26281 * include/grub/mips/yeeloong/boot.h: Likewise.
26282 * include/grub/mips/yeeloong/kernel.h: Likewise.
26283 * include/grub/mips/yeeloong/loader.h: Likewise.
26284 * include/grub/mips/yeeloong/memory.h: Likewise.
26285 * include/grub/mips/yeeloong/pci.h: Likewise.
26286 * include/grub/mips/yeeloong/serial.h: Likewise.
26287 * include/grub/mips/yeeloong/time.h: Likewise.
26288 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26289 * kern/elf.c (grub_elf32_size): New parameter. All users
26290 updated.
26291 (grub_elf64_size): Likewise.
26292 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26293 Load modules before saying "Welcome to GRUB!".
26294 Call grub_refresh after saying "Welcome to GRUB!".
26295 * kern/mips/cache.S: New file.
26296 * kern/mips/cache_flush.S: Likewise.
26297 * kern/mips/dl.c: Likewise.
26298 * kern/mips/init.c: Likewise.
26299 * kern/mips/qemu-mips/init.c: Likewise.
26300 * kern/mips/startup.S: Likewise.
26301 * kern/mips/yeeloong/init.c: Likewise.
26302 * kern/term.c (grub_putcode): Handle NULL terminal.
26303 (grub_getcharwidth): Likewise.
26304 (grub_getkey): Likewise.
26305 (grub_checkkey): Likewise.
26306 (grub_getkeystatus): Likewise.
26307 (grub_getxy): Likewise.
26308 (grub_getwh): Likewise.
26309 (grub_gotoxy): Likewise.
26310 (grub_cls): Likewise.
26311 (grub_setcolorstate): Likewise.
26312 (grub_setcolor): Likewise.
26313 (grub_getcolor): Likewise.
26314 (grub_refresh): Likewise.
26315 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26316 (write_jump): Add hatch nop.
26317 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26318 * lib/mips/setjmp.S: New file.
26319 * loader/mips/linux.c: Likewise.
26320 * term/i386/pc/at_keyboard.c: Move from here ...
26321 * term/at_keyboard.c: ... to here.
26322 * term/i386/pc/serial.c: Moved from here ...
26323 * term/serial.c: ... to here. All users updated.
26324 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26325 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26326 (serial_translate_key_sequence): Avoid deadlock.
26327 (grub_serial_getkey): Handle backspace.
26328 (grub_serial_putchar): Fix newline handling.
26329 * util/i386/pc/grub-mkimage.c: Move from here ...
26330 * util/grub-mkrawimage.c: ... to here. All users updated.
26331 (generate_image): New parameters 'font_path' and 'format'.
26332 Support embedding font.
26333 Use grub_host_to_target* instead of grub_cpu_to_le*.
26334 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26335 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26336 (options): New option "--font".
26337 (usage): Likewise.
26338 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26339 (main): Handle "--font".
26340 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26341 (grub_virtual_screen_setup): Set bg_color_display.
26342 (redraw_screen_rect): Use bg_color_display instead of incorrect
26343 bg_color.
26344 (grub_gfxterm_cls): Likewise.
26345 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26346 Support embedding config file.
26347 (add_segments): Likewise.
26348 (options): New option "--config".
26349 (main): Handle "--config".
26350 * video/sm712.c: New file.
26351
25c2b5b3
RM
263522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26353
26354 Fix parallel builds.
26355
26356 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26357 font.c depend on ascii.h).
26358
263592010-01-12 Carles Pina i Estany <carles@pina.cat>
26360
26361 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26362
263632010-01-11 Carles Pina i Estany <carles@pina.cat>
26364
26365 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26366 By default: disabled.
26367 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26368 parameter.
26369
263702010-01-10 Carles Pina i Estany <carles@pina.cat>
26371
26372 * font/font.c: Update copyright years.
26373 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26374
263752010-01-10 Carles Pina i Estany <carles@pina.cat>
26376
26377 * font/font.c: Include `ascii.h'.
26378 (ASCII_BITMAP_SIZE): New macro.
26379 (ascii_font_glyph): Define.
26380 (ascii_glyph_lookup): New function.
26381 (grub_font_get_string_width): Change comment. If glyph not found, use
26382 ascii_glyph_lookup.
26383 (grub_font_get_glyph_with_fallback): If glyph not available returns
26384 ascii_glyph_lookup.
26385 * util/grub-mkfont.c (file_formats): New enum.
26386 (options): Add `ascii-bitmaps' new option.
26387 (usage): Add `asii-bitmaps' new option.
26388 (write_font_ascii_bitmap): New function.
26389 (write_font): Rename to ...
26390 (write_font_p2): ... this. Remove print_glyphs call.
26391 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26392 used. Call print_glyphs.
26393 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26394
263952010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26396
26397 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26398 (grub_bin2h_SOURCES): New variable.
26399 * util/bin2h.c: New file.
26400
915fc1b8
VS
264012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26402
26403 * include/multiboot.h: Resynced with spec.
26404 * include/multiboot2.h: Likewise.
26405 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26406 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26407
9444b678
RM
264082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26409
26410 * include/grub/term.h (grub_term_register_input,
26411 grub_term_register_output): Check return of terminal init()
26412 routines, and abort if errors are raised.
26413
26414 * commands/terminal.c: Update copyright year.
26415
cba98e8d
RM
264162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26417
26418 * commands/terminal.c (grub_cmd_terminal_input)
26419 (grub_cmd_terminal_output): Check return of terminal init()
26420 routines, and abort if errors are raised.
26421
6f7db5d6
VS
264222010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26423
26424 * include/grub/i386/bsd.h: Fix include pathes.
26425
262bff8d
VS
264262010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26427
26428 Add missing *BSD copyright headers.
26429
26430 * include/grub/aout.h: Add BSD licence.
26431 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26432 * include/grub/i386/freebsd_linker.h: ... here,
26433 * include/grub/i386/freebsd_reboot.h: ... here,
26434 * include/grub/i386/netbsd_bootinfo.h: ... here,
26435 * include/grub/i386/netbsd_reboot.h: ... here,
26436 * include/grub/i386/openbsd_bootarg.h: ... here,
26437 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26438 licence to each file.
26439
b2cab848
RM
264402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26441
26442 * acinclude.m4: Remove `nop' assembly instruction; it's not
26443 implemented by all architectures.
26444
2cb6be4b
RM
264452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26446
26447 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26448 ELILO. This is no longer necessary.
26449
a2eaee15
BC
264502010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26451
26452 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26453
26454 * util/grub-script-check.c: grub-script-check tool.
26455 * conf/common.rmk: Make rules for grub-script-check.
26456
88d17012
RM
264572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26458
26459 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26460 spotting it back in 2008. Shame on me for forgetting he did.
26461
26462 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26463
8040619d
RM
264642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26465
26466 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26467 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26468 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26469 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26470 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26471 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26472
a0c2a0f6
RM
264732010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26474
26475 * include/grub/test.h: Add license header.
26476 * tests/example_functional_test.c: Likewise.
26477 * tests/example_unit_test.c: Likewise.
26478 * tests/lib/functional_test.c: Likewise.
26479 * tests/lib/test.c: Likewise.
26480 * tests/lib/unit_test.c: Likewise.
26481
b0b13907
VS
264822010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26483
26484 Use flag-based instead of hook-based video mode selection and "auto"
26485 keyword.
26486
26487 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26488 (grub_video_set_mode): Changed prototype. All users updated.
26489 (grub_video_check_mode_flag): New inline function.
26490 * video/video.c (parse_modespec): New function.
26491 (grub_video_set_mode): Parse flags and keywords.
26492
ea379330 264932010-01-17 Carles Pina i Estany <carles@pina.cat>
26494
26495 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26496 fprintf call.
26497
e15c215e
FZ
264982010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26499
26500 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26501
409ae1c9 265022010-01-16 Carles Pina i Estany <carles@pina.cat>
26503
26504 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26505 string.
26506 * util/grub-emu.c (usage): Likewise.
26507 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26508 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26509 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26510 * util/i386/pc/grub-setup.c (usage): Likewise.
26511
70a14d3d 265122010-01-16 Carles Pina i Estany <carles@pina.cat>
26513
26514 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26515 the message.
26516 (grub_util_info): Likewise.
26517 (grub_util_error): Likewise.
26518 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26519 and/or new lines in `grub_util_warna', `grub_util_info',
26520 `grub_util_error' calls.
26521 * util/getroot.c: Likewise.
26522 * util/grub-editenv.c: Likewise.
26523 * util/grub-emu.c: Likewise.
26524 * util/grub-fstest.c: Likewise.
26525 * util/grub-mkdevicemap.c: Likewise.
26526 * util/grub-mkfont.c: Likewise.
26527 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26528 * util/grub-mkrelpath.c: Likewise.
26529 * util/grub-pe2elf.c: Likewise.
26530 * util/grub-probe.c: Likewise.
26531 * util/hostdisk.c: Likewise.
26532 * util/i386/efi/grub-mkimage.c: Likewise.
26533 * util/i386/pc/grub-mkimage.c: Likewise.
26534 * util/i386/pc/grub-setup.c: Likewise.
26535 * util/ieee1275/ofpath.c: Likewise.
26536 * util/mkisofs/eltorito.c: Likewise.
26537 * util/mkisofs/rock.c: Likewise.
26538 * util/mkisofs/write.c: Likewise.
26539 * util/raid.c: Likewise.
26540 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26541 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26542
a0b766fc
VS
265432010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26544
26545 Enable multiboot on non-pc.
26546
26547 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26548 multiboot.mod and multiboot2.mod to ...
26549 * conf/i386.rmk (pkglib_MODULES): ... here.
26550 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26551 Moved to ...
26552 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26553 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26554 Moved to ...
26555 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26556 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26557 Moved to ...
26558 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26559 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26560 Moved to ...
26561 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26562 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26563 relocator.mod.
26564 (ata_mod_SOURCES): Removed.
26565 (ata_mod_CFLAGS): Likewise.
26566 (ata_mod_LDFLAGS): Likewise.
26567 (relocator_mod_SOURCES): Removed.
26568 (relocator_mod_CFLAGS): Likewise.
26569 (relocator_mod_ASFLAGS): Likewise.
26570 (relocator_mod_LDFLAGS): Likewise.
26571 Include i386.mk.
26572 * include/grub/x86_64/multiboot.h: New file.
26573 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26574 Terminate EFI.
26575
884ade56
VS
265762010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 Video multiboot support.
26579
26580 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26581 New prototype.
26582 * include/multiboot.h: Resynced with multiboot specification.
26583 * include/multiboot2.h: Likewise.
26584 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26585 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26586 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26587 (HAS_VGA_TEXT): Likewise.
26588 (accepts_video): New variable.
26589 (grub_multiboot_set_accepts_video): New function.
26590 (grub_multiboot_get_mbi_size): Account for video structures.
26591 (set_video_mode): New function.
26592 (retrieve_video_parameters): Likewise.
26593 (grub_multiboot_make_mbi): Fill video fields.
26594
0d90e8a6
VS
265952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26596
26597 Video driver ids.
26598
26599 * include/grub/video.h (grub_video_driver_id): New type.
26600 (grub_video_adapter): New member 'id'. All users updated.
26601 (grub_video_get_driver_id): New proto.
26602 * video/video.c (grub_video_get_driver_id): New function.
26603
5c71db1b 266042010-01-14 Carles Pina i Estany <carles@pina.cat>
26605
26606 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26607 `var=val'.
26608
cca15b52 266092010-01-14 Carles Pina i Estany <carles@pina.cat>
26610
26611 * normal/cmdline.c (print_completion): Gettextizze.
26612
c586fbb2 266132001-01-14 Carles Pina i Estany <carles@pina.cat>
26614
26615 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26616
ba2f6848 266172010-01-14 Carles Pina i Estany <carles@pina.cat>
26618
26619 * gettext/gettext.c (grub_gettext_translate): Push and pop
26620 grub_errno.
26621 (grub_gettext_delete_list): Change comment style.
26622 * kern/err.c (grub_error): Gettextizze.
26623 (grub_fatal): Gettextizze.
26624
0a46429a
RM
266252010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26626
26627 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26628 (grub_linux16_real_boot): ... this.
26629 * kern/i386/loader.S: Likewise.
26630 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26631 (grub_linux16_boot): New function. Switches to text mode and calls
26632 grub_linux16_real_boot().
26633
26634 * loader/i386/bsd.c: Include `<grub/video.h>'.
26635 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26636 text mode before calling grub_unix_real_boot().
26637
26638 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26639 (grub_multiboot_boot): Switch to text mode before calling
26640 grub_relocator32_boot().
26641
26642 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26643 (grub_chainloader_boot): Switch to text mode before calling
26644 grub_chainloader_real_boot().
26645
d6f93a66
RM
266462010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266472010-01-05 Colin Watson <cjwatson@ubuntu.com>
26648
26649 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26650 non-empty value.
26651
266522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266532010-01-05 Colin Watson <cjwatson@ubuntu.com>
26654
26655 * util/grub.d/00_header.in: Define a "savedefault" function for use
26656 in menu entries.
26657 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26658
266592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266602010-01-05 Colin Watson <cjwatson@ubuntu.com>
26661
26662 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26663 saved_entry if boot_once is unset.
26664 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26665 previous saved entry (i.e. grub-reboot).
26666
266672009-12-08 Colin Watson <cjwatson@ubuntu.com>
26668
26669 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26670
266712009-12-08 Colin Watson <cjwatson@ubuntu.com>
26672
26673 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26674 `var=val'.
26675 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26676
266772009-12-08 Colin Watson <cjwatson@ubuntu.com>
26678
26679 * util/grub-reboot.in: Fix --version output.
26680 * util/grub-set-default.in: Likewise.
26681
266822009-12-08 Colin Watson <cjwatson@ubuntu.com>
26683
26684 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26685 blocks.
26686
266872009-12-08 Colin Watson <cjwatson@ubuntu.com>
26688
26689 * util/grub.d/00_header.in: Quote the value assigned to `default',
26690 in case it contains spaces.
26691
266922009-12-08 Colin Watson <cjwatson@ubuntu.com>
26693
26694 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26695 `save_default_entry' call from the macosx case to the linux case.
26696
266972009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
266982009-10-25 Colin Watson <cjwatson@ubuntu.com>
26699
26700 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26701 in `chosen' environment variable.
26702 * normal/menu_text.c (get_entry_number): Check if the variable
26703 matches the title of a menu entry.
26704 (run_menu): Pass menu to get_entry_number.
26705
26706 * util/grub-reboot.in: New file.
26707 * util/grub-set-default.in: New file.
26708 * conf/common.rmk (grub-reboot): New utility.
26709 (grub-set-default): New utility.
26710
26711 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26712 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26713 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26714 move it to `saved_entry' for the next boot. Load environment on
26715 initialisation.
26716 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26717 * util/grub.d/10_hurd.in: Likewise.
26718 * util/grub.d/10_linux.in (linux_entry): Likewise.
26719 * util/grub.d/10_windows.in: Likewise.
26720 * util/grub.d/30_os-prober.in: Likewise.
26721
26722 * util/grub-install.in: Create environment block.
26723 * util/i386/efi/grub-install.in: Likewise.
26724 * util/ieee1275/grub-install.in: Likewise.
26725 * util/sparc64/ieee1275/grub-install.in: Likewise.
26726
0934d184
BC
267272010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26728
26729 Unit testing framework for GRUB.
26730
26731 * Makefile.in: Test framework build rules for 'make check'.
26732 * conf/tests.rmk: Build rules for individual tests and framework.
26733
26734 * include/grub/test.h: Header file for whitebox tests.
26735 * tests/lib/functional_test.c: Framework support for whitebox
26736 functional tests.
26737 * tests/lib/test.c: Common whitebox testing code for unit and
26738 functional tests.
26739 * tests/lib/unit_test.c: Framework support for whitebox unit
26740 tests.
26741
26742 * tests/util/grub-shell-tester.in: Support utility for grub-script
26743 tests.
26744 * tests/util/grub-shell.in: Utility to execute grub-script
26745 commands in a Qemu instance.
26746
26747 * tests/example_functional_test.c: Example whitebox functional
26748 test.
26749 * tests/example_grub_script_test.in: Example grub-script test.
26750 * tests/example_scripted_test.in: Example scripted test.
26751 * tests/example_unit_test.c: Example whitebox unit test.
26752
9c4ffeeb
VS
267532010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26754
26755 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26756 Add loader/i386/multiboot_mbi.c.
26757 (multiboot2_mod_SOURCES): Likewise.
26758 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26759 (multiboot2_mod_SOURCES): Likewise.
26760 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26761 (grub_multiboot_make_mbi): Likewise.
26762 (grub_multiboot_free_mbi): Likewise.
26763 (grub_multiboot_init_mbi): Likewise.
26764 (grub_multiboot_add_module): Likewise.
26765 (grub_multiboot_set_bootdev): Likewise.
26766 * loader/i386/multiboot.c (mbi): Removed.
26767 (mbi_dest): Likewise.
26768 (alloc_mbi): New variable.
26769 (grub_multiboot_payload_size): Removed. All users updated.
26770 (grub_multiboot_pure_size): New variable.
26771 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26772 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26773 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26774 (grub_fill_multiboot_mmap): Likewise.
26775 (grub_multiboot_get_bootdev): Likewise.
26776 (grub_multiboot): Use multiboot_mbi functions.
26777 * loader/i386/multiboot_mbi.c: New file.
26778
17383dfe
VS
267792010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26780
26781 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26782 it would result in module crash.
26783
c1f28820
VS
267842010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26787 (grub_ofconsole_getwh): Split to ...
26788 (grub_ofconsole_getwh): ... this.
26789 (grub_ofconsole_dimensions): ...and this.
26790 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26791
58655a16
RM
267922010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26793
26794 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26795
10891398
VS
267962010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26797
26798 * loader/i386/pc/multiboot2.c: Removed stalled file.
26799
0b8a223c
VS
268002010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26801
26802 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26803 Reported by: Grégoire Sutre
26804
92ab12b0
RM
268052010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26806
26807 * util/misc.c (canonicalize_file_name): New function.
26808 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26809 instead of realpath().
26810
a788afb6
CW
268112010-01-11 Colin Watson <cjwatson@ubuntu.com>
26812
26813 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26814 and make it clearer that it's optional. Based on confusion
26815 witnessed on IRC.
26816
ffa8e3d2
VS
268172010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26818
26819 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26820 in premature implicit newline.
26821
e9060a9d
VS
268222010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26823
26824 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26825 which resulted in garbled command line at the end of screen.
26826
f0d0c0b7
RM
268272010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26828
26829 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26830 initialization with similar approach as with other Linux loaders.
26831
0e60bae7
RM
268322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26833
26834 Fix i386-ieee1275 build.
26835
26836 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26837 and grub_term_height() for video_{width,height} initialization.
26838
268392010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26840
26841 Fix grub-emu build.
26842
26843 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26844
cdb3f378
RM
268452010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
268462010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26847
26848 Support for multiple terminals.
26849
26850 * Makefile.in (pkglib_DATA): terminal.lst.
26851 (terminal.lst): New target.
26852 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26853 (GRUB_MOD_INIT(handler)): Likewise.
26854 (GRUB_MOD_FINI(handler)): Likewise.
26855 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26856 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26857 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26858 (grub_cmd_sleep): Use grub_term_save_pos.
26859 * commands/terminal.c: New file.
26860 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26861 commands/terminal.c and lib/charset.c.
26862 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26863 (pkglib_MODULES): Add terminal.mod.
26864 (terminal_mod_SOURCES): New variable.
26865 (terminal_mod_CFLAGS): Likewise.
26866 (terminal_mod_LDFLAGS): Likewise.
26867 * genhandlerlist.sh: Don't handle terminals.
26868 * genmk.rb: Generate terminal-*.lst.
26869 * genterminallist.sh: New file.
26870 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26871 (grub_is_valid_utf8): Likewise.
26872 (grub_utf8_to_ucs4_alloc): Likewise.
26873 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26874 (grub_menu_register_viewer): Changed argument.
26875 (grub_menu_try_text): New proto.
26876 (grub_gfxmenu_try_hook): New declaration.
26877 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26878 (grub_menu_init_page): Additional argument term.
26879 (grub_normal_init_page): Likewise.
26880 (grub_cmdline_get): Arguments simplified.
26881 (grub_utf8_to_ucs4_alloc): Removed.
26882 (grub_print_ucs4): Additional argument term.
26883 (grub_getstringwidth): Likewise.
26884 (grub_print_message_indented): Likewise.
26885 (grub_menu_text_register_instances): New proto.
26886 (grub_show_menu): Likewise.
26887 (read_terminal_list): Likewise.
26888 (grub_set_more): Likewise.
26889 * include/grub/parser.h: Include handler.h.
26890 * include/grub/reader.h: Rewritten.
26891 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26892 (GRUB_TERM_WIDTH): Changed to function.
26893 (GRUB_TERM_HEIGHT): Likewise.
26894 (GRUB_TERM_BORDER_WIDTH): Likewise.
26895 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26896 (GRUB_TERM_NUM_ENTRIES): Likewise.
26897 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26898 (GRUB_TERM_CURSOR_X): Likewise.
26899 (grub_term_input_class): Likewise.
26900 (grub_term_output_class): Likewise.
26901 (grub_term_outputs_disabled): New declaration.
26902 (grub_term_inputs_disabled): Likewise.
26903 (grub_term_outputs): Likewise.
26904 (grub_term_inputs): Likewise.
26905 (grub_term_register_input): Rewritten.
26906 (grub_term_register_output): Likewise.
26907 (grub_term_unregister_input): Likewise.
26908 (grub_term_unregister_output): Likewise.
26909 (FOR_ACTIVE_TERM_INPUTS): New macro.
26910 (FOR_DISABLED_TERM_INPUTS): Likewise.
26911 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26912 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26913 * include/grub/terminfo.h: Add oterm argument to all protypes.
26914 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26915 Use grub_rescue_run.
26916 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26917 All users updated.
26918 * kern/reader.c: Removed. All users updated.
26919 * kern/rescue_reader.c (grub_rescue_init): Removed.
26920 (grub_rescue_reader): Likewise.
26921 (grub_register_rescue_reader): Likewise.
26922 (grub_rescue_run): New function based on kern/reader.c.
26923 * kern/term.c: Adapted for multiterm.
26924 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26925 (grub_is_valid_utf8): Likewise.
26926 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26927 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26928 right terminal.
26929 * loader/i386/linux.c (grub_linux_boot): Likewise.
26930 * normal/auth.c (grub_username_get): New function.
26931 (grub_auth_check_authentication): Use grub_username_get.
26932 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26933 * normal/color.c: Adapt for multiterm.
26934 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26935 (grub_normal_init_page): Additional argument term.
26936 (read_lists): Call read_terminal_lists.
26937 (grub_enter_normal_mode): Call grub_cmdline_run.
26938 Handle grub_normal_exit_level.
26939 (grub_cmd_normal): Make reentrant.
26940 (grub_cmd_normal_exit): New function.
26941 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26942 * normal/menu.c: Adapt for multiterm.
26943 * normal/menu_entry.c: Likewise.
26944 * normal/menu_text.c: Likewise.
26945 * normal/menu_viewer.c: Removed. All users updated.
26946 * normal/term.c: New file.
26947 * util/console.c: Change order of includes to workaround a bug in
26948 ncurses headers.
26949 * term/terminfo.c: New argument oterm on all exported functions.
26950 All users updated.
26951 * util/grub-editenv.c (grub_term_input_class): Removed.
26952 (grub_term_output_class): Likewise.
26953
1a064917
RM
269542010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26955
26956 Make loader output a bit more user-friendly.
26957
26958 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26959 is being loaded. Likewise for the Hurd.
26960
26961 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26962 that kernel of FreeBSD ${version} is being loaded.
26963
26964 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26965 grub_dprintf().
26966 (grub_cmd_initrd): Likewise.
26967 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26968 that Linux ${version} is being loaded. Likewise for initrd.
26969
5ce0a83a 269702010-01-09 Carles Pina i Estany <carles@pina.cat>
26971
26972 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26973
809bbfeb 269742010-01-08 Carles Pina i Estany <carles@pina.cat>
26975
26976 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26977 (GRUB_MOD_INIT): Gettextizze.
26978 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26979 (GRUB_MOD_INIT): Gettextizze.
26980 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26981 (grub_cmd_linux): Capitalise Linux.
26982 (GRUB_MOD_INIT): Gettextizze.
26983 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26984 (grub_cmd_linux): Capitalise Linux.
26985 (GRUB_MOD_INIT): Gettextizze.
26986 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26987 (grub_cmd_linux): Capitalise Linux.
26988 (GRUB_MOD_INIT): Gettextizze.
26989 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26990 (GRUB_MOD_INIT): Gettextizze.
26991 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26992 (grub_cmd_linux): Capitalise Linux.
26993 (GRUB_MOD_INIT): Gettextizze.
26994 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26995 (grub_cpu_xnu_init): Gettextizze.
26996 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26997 (GRUB_MOD_INIT): Gettextizze.
26998 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26999 (GRUB_MOD_INIT): Gettextizze.
27000 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27001 (grub_linux_load64): Capitalise Linux.
27002 (GRUB_MOD_INIT): Gettextizze.
27003 * loader/xnu.c: Include `<grub/i18n.h>'.
27004 (GRUB_MOD_INIT): Gettextizze.
27005 * po/POTFILES: Add `loader/efi/appleloader.c',
27006 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27007 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27008 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27009 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27010 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27011 and `loader/xnu.c'.
27012
b394b2ca
RM
270132010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27014
27015 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27016
270172010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27018
27019 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27020 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27021 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27022
bc8b32b3
RM
270232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27024
27025 Reset Multiboot 2 support. New loader implements the draft in
27026 /branches/multiboot2 and shares as much code as possible with the
27027 production Multiboot 1 implementation.
27028
27029 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27030 * loader/multiboot2.c: Likewise.
27031 * loader/i386/multiboot_helper.S: Likewise.
27032 * include/multiboot2.h: Replace with latest version from the draft
27033 in /branches/multiboot2.
27034
27035 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27036 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27037 and `loader/multiboot2.c'.
27038 (pkglib_MODULES): Add `multiboot2.mod'.
27039 (multiboot2_mod_SOURCES): New variable.
27040 (multiboot2_mod_LDFLAGS): Likewise.
27041 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27042
27043 * conf/i386-pc.rmk: Likewise.
27044
27045 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27046 (multiboot_mod_SOURCES): Remove variable.
27047 (multiboot_mod_LDFLAGS): Likewise.
27048 (multiboot_mod_CFLAGS): Likewise.
27049
27050 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27051 `<multiboot2.h>' instead of `<multiboot.h>'.
27052 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27053 (MULTIBOOT_HEADER_MAGIC): New macros.
27054
27055 * loader/multiboot_loader.c (module_version_status): Remove variable.
27056 (find_multi_boot2_header): Remove function.
27057 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27058 logic. Always check for the Multiboot version we're compiling for.
27059 (grub_cmd_module_loader): Likewise.
27060 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27061 command instead of `multiboot'.
27062
5d2c52b8
RM
270632010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27064
27065 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27066 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27067 all users.
27068
53108d92
RM
270692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
270702010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27071
27072 Fix breakage introduced with previous commit.
27073
27074 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27075 commands.
27076 * normal/handler.c (read_handler_list): Revert part of previous commit
27077 affecting this file.
27078 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27079 (grub_normal_execute): ... here.
27080
e2e936b2
RM
270812010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27082
27083 Merge prefix-redefinition-fix branch.
27084
27085 * normal/autofs.c (read_fs_list): Make function capable of being
27086 run multiple times, gracefuly replacing the previous data
27087 structures.
27088 * normal/dyncmd.c (read_command_list): Likewise.
27089 * normal/handler.c (read_handler_list): Likewise.
27090 * normal/main.c (read_lists): New function. Calls all the
27091 list reading functions.
27092 (grub_normal_execute): Use read_lists() instead of calling all
27093 list reading functions explicitly. Register read_lists() as a
27094 variable hook attached to ${prefix}.
27095
607a3701
VS
270962010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27097
27098 Merge crypto branch.
27099
27100 * Makefile.in (pkglib_DATA): Add crypto.lst.
27101 (crypto.lst): New target.
27102 * commands/hashsum.c: New file.
27103 * commands/password.c (check_password): Use grub_crypto_memcmp.
27104 * commands/password_pbkdf2.c: New file.
27105 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27106 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27107 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27108 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27109 -I$(srcdir)/lib/libgcrypt_wrap.
27110 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27111 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27112 password_pbkdf2.mod.
27113 (crypto_mod_SOURCES): New variable.
27114 (crypto_mod_CFLAGS): Likewise.
27115 (crypto_mod_LDFLAGS): Likewise.
27116 (hashsum_mod_SOURCES): New variable.
27117 (hashsum_mod_CFLAGS): Likewise.
27118 (hashsum_mod_LDFLAGS): Likewise.
27119 (pbkdf2_mod_SOURCES): New variable.
27120 (pbkdf2_mod_CFLAGS): Likewise.
27121 (pbkdf2_mod_LDFLAGS): Likewise.
27122 (password_pbkdf2_mod_SOURCES): New variable.
27123 (password_pbkdf2_mod_CFLAGS): Likewise.
27124 (password_pbkdf2_mod_LDFLAGS): Likewise.
27125 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27126 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27127 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27128 Include conf/gcry.rmk.
27129 * include/grub/auth.h: Rewritten.
27130 * include/grub/crypto.h: New file.
27131 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27132 * include/grub/normal.h (read_crypto_list): New prototype.
27133 * lib/crypto.c: New file.
27134 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27135 * lib/pbkdf2.c: Likewise.
27136 * normal/auth.c (grub_auth_strcmp): Removed.
27137 (grub_iswordseparator): Likewise.
27138 (grub_auth_strword): Likewise.
27139 (is_authenticated): Use grub_strword.
27140 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27141 and grub_strword. Pass entered password to authentication callback.
27142 * normal/crypto.c: New file.
27143 * normal/main.c: Call read_crypto_list.
27144 * util/grub-mkpasswd-pbkdf2.c: New file.
27145 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27146
42841caa
VS
271472010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27148
27149 Fix descent and ascent calculation.
27150
27151 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27152 (options): New option "asce".
27153 (usage): Likewise.
27154 (add_char): Ignore invalid glyphs for descent calculation.
27155 Calculate ascent from actual content.
27156 (print_glyphs): Use 'asce'.
27157 (write_font): Likewise. Allow ascent override.
27158 (main): Handle "asce" option.
27159
e7730de7 271602010-01-06 Carles Pina i Estany <carles@pina.cat>
27161
27162 * kern/err.c: Include `<grub/i18n.h>'.
27163 (grub_print_error): Add full stop. Gettextizze.
27164 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27165 (grub_bsd_load_elf): Capitalise ELF.
27166 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27167 (grub_cmd_freebsd_module): Likewise.
27168 (grub_cmd_freebsd_module_elf): Likewise.
27169 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27170
40e3a41f 271712010-01-06 Carles Pina i Estany <carles@pina.cat>
27172
27173 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27174 * commands/search_file.c (HELP_MESSAGE): New macro.
27175 * commands/search_label.c (HELP_MESSAGE): Likewise.
27176 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27177 * po/POTFILES: Add `commands/search_file.c',
27178 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27179 `commands/search.c'.
27180
83507e68
RM
271812010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27182
27183 * config.rpath: Update from Gnulib.
27184
465c787b
YB
271852010-01-05 Yves Blusseau <blusseau@zetam.org>
27186
27187 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27188
6581dd3a
YB
271892010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27190
27191 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27192
3bff18c5
CW
271932010-01-05 Colin Watson <cjwatson@ubuntu.com>
27194
27195 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27196 arguments to fread so that we get a return value in bytes, rather
27197 than something that will normally be rounded down to 0.
27198 Adjust error handling to avoid producing garbage when size_t is not
27199 the same size as long long.
27200
a1368118
CW
272012010-01-05 Colin Watson <cjwatson@ubuntu.com>
27202
27203 * util/mkisofs/write.c (padblock_write): Check return value of
27204 fread.
27205
7c302978
RM
272062010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27207
27208 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27209 floppy images now.
27210
27211 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27212
e33ace06
RM
272132010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27214
27215 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27216 instead of manual alignment.
27217 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27218 verbose). Avoid attempts to read past end of the device
27219 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27220 but GRUB_DISK_CACHE_SIZE may exceed that).
27221
4b856776
RM
272222010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27223
27224 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27225 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27226 it to upper layer.
27227
52c2d97f
VS
272282010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27229
27230 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27231 New constant.
27232 (grub_efi_piwg_device_path): New structure
27233 (grub_efi_piwg_device_path_t): New type.
27234 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27235 (devpath_1): Transform to a structure. All users updated.
27236 (devpath_2): Likewise.
27237 (devpath_3): Likewise.
27238 (devpath_4): Likewise.
27239 (devpath_5): Likewise.
27240
98ff6a54
VS
272412010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27242
27243 * loader/efi/appleloader.c: Restored. Update all users.
27244
3a73dcb6
RM
272452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27246
27247 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27248
27249 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27250 (struct boot_blocklist): Move from here ...
27251 * include/grub/i386/pc/boot.h [ASM_FILE]
27252 (struct grub_boot_blocklist): ... to here. Update all users.
27253 (setup): Only initialize `start' member of `first_block'
27254 structure. Add assert() calls to verify the other members.
27255
27256 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27257 (generate_image): Fix broken blocklist length initialization.
27258 Add assert() call to verify blocklist `segment' field.
27259
ab0eeb0c
RM
272602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27261
27262 * loader/efi/appleloader.c: Remove. Update all users.
27263
58bc8bd5
RM
272642010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27265
27266 * boot/i386/pc/boot.S: Update copyright year.
27267 * boot/i386/pc/cdboot.S: Likewise.
27268 * boot/i386/pc/diskboot.S: Likewise.
27269 * boot/i386/pc/lnxboot.S: Likewise.
27270 * boot/i386/pc/pxeboot.S: Likewise.
27271 * bus/pci.c: Likewise.
27272 * commands/cmp.c: Likewise.
27273 * commands/help.c: Likewise.
27274 * commands/hexdump.c: Likewise.
27275 * commands/i386/pc/halt.c: Likewise.
27276 * commands/i386/pc/play.c: Likewise.
27277 * commands/i386/pc/vbeinfo.c: Likewise.
27278 * commands/ls.c: Likewise.
27279 * commands/test.c: Likewise.
27280 * disk/dmraid_nvidia.c: Likewise.
27281 * disk/i386/pc/biosdisk.c: Likewise.
27282 * disk/ieee1275/nand.c: Likewise.
27283 * disk/ieee1275/ofdisk.c: Likewise.
27284 * disk/lvm.c: Likewise.
27285 * disk/raid.c: Likewise.
27286 * disk/raid6_recover.c: Likewise.
27287 * disk/scsi.c: Likewise.
27288 * fs/affs.c: Likewise.
27289 * fs/cpio.c: Likewise.
27290 * fs/ext2.c: Likewise.
27291 * fs/hfs.c: Likewise.
27292 * fs/iso9660.c: Likewise.
27293 * fs/ntfs.c: Likewise.
27294 * fs/sfs.c: Likewise.
27295 * fs/udf.c: Likewise.
27296 * fs/ufs.c: Likewise.
27297 * fs/xfs.c: Likewise.
27298 * gencmdlist.sh: Likewise.
27299 * genmk.rb: Likewise.
27300 * include/grub/disk.h: Likewise.
27301 * include/grub/efi/api.h: Likewise.
27302 * include/grub/efi/efi.h: Likewise.
27303 * include/grub/efi/pe32.h: Likewise.
27304 * include/grub/elf.h: Likewise.
27305 * include/grub/fs.h: Likewise.
27306 * include/grub/i386/at_keyboard.h: Likewise.
27307 * include/grub/i386/pc/memory.h: Likewise.
27308 * include/grub/i386/pc/vbe.h: Likewise.
27309 * include/grub/i386/pci.h: Likewise.
27310 * include/grub/i386/tsc.h: Likewise.
27311 * include/grub/ieee1275/ieee1275.h: Likewise.
27312 * include/grub/ntfs.h: Likewise.
27313 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27314 * include/grub/sparc64/libgcc.h: Likewise.
27315 * include/grub/symbol.h: Likewise.
27316 * include/grub/types.h: Likewise.
27317 * include/multiboot2.h: Likewise.
27318 * io/gzio.c: Likewise.
27319 * kern/device.c: Likewise.
27320 * kern/disk.c: Likewise.
27321 * kern/efi/efi.c: Likewise.
27322 * kern/efi/mm.c: Likewise.
27323 * kern/elf.c: Likewise.
27324 * kern/file.c: Likewise.
27325 * kern/i386/dl.c: Likewise.
27326 * kern/i386/pc/init.c: Likewise.
27327 * kern/i386/pc/startup.S: Likewise.
27328 * kern/ieee1275/ieee1275.c: Likewise.
27329 * kern/ieee1275/init.c: Likewise.
27330 * kern/main.c: Likewise.
27331 * kern/mm.c: Likewise.
27332 * kern/powerpc/dl.c: Likewise.
27333 * kern/sparc64/dl.c: Likewise.
27334 * kern/x86_64/dl.c: Likewise.
27335 * lib/hexdump.c: Likewise.
27336 * loader/efi/appleloader.c: Likewise.
27337 * loader/i386/ieee1275/linux.c: Likewise.
27338 * loader/i386/pc/chainloader.c: Likewise.
27339 * loader/i386/pc/linux.c: Likewise.
27340 * loader/i386/pc/multiboot2.c: Likewise.
27341 * loader/ieee1275/multiboot2.c: Likewise.
27342 * loader/multiboot2.c: Likewise.
27343 * loader/multiboot_loader.c: Likewise.
27344 * loader/powerpc/ieee1275/linux.c: Likewise.
27345 * normal/completion.c: Likewise.
27346 * normal/menu_entry.c: Likewise.
27347 * partmap/apple.c: Likewise.
27348 * util/grub.d/10_hurd.in: Likewise.
27349 * util/hostfs.c: Likewise.
27350 * video/readers/png.c: Likewise.
27351
e2d70b5c
CW
273522010-01-03 Colin Watson <cjwatson@ubuntu.com>
27353
27354 * include/grub/misc.h (GNUC_PREREQ): New macro.
27355 (ATTRIBUTE_ERROR): New macro.
27356 * include/grub/list.h (grub_bad_type_cast_real): Use
27357 ATTRIBUTE_ERROR.
27358
a173283f 273592010-01-03 Carles Pina i Estany <carles@pina.cat>
27360
27361 * normal/menu_text.c (print_message): Change messages.
27362
7fa7ff74 273632010-01-03 Carles Pina i Estany <carles@pina.cat>
27364
27365 * normal/menu_entry.c (store_completion): Gettextizze.
27366
136d24f6 273672010-01-03 Carles Pina i Estany <carles@pina.cat>
27368
27369 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27370
f936862e 273712010-01-03 Carles Pina i Estany <carles@pina.cat>
27372
27373 * po/POTFILES: Sort correctly.
27374
29c44ad1 273752010-01-03 Carles Pina i Estany <carles@pina.cat>
27376
27377 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27378 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27379 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27380 full stop.
27381 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27382 summary. Gettextizze the strings.
27383 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27384 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27385 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27386 full stop.
27387 (GRUB_MOD_INIT): Remove command name from summary.
27388 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27389 summary.
27390 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27391 * term/i386/pc/serial.c (options): Add full stops.
27392 (GRUB_MOD_INIT): Remove command name from the summary.
27393
77a79592 273942010-01-03 Carles Pina i Estany <carles@pina.cat>
27395
27396 * commands/acpi.c: Gettextizze help strings and/or options. Include
27397 `grub/i18n.h' if needed.
27398 * commands/blocklist.c: Likewise.
27399 * commands/boot.c: Likewise.
27400 * commands/cat.c: Likewise.
27401 * commands/cmp.c: Likewise.
27402 * commands/configfile.c: Likewise.
27403 * commands/crc.c: Likewise.
27404 * commands/date.c: Likewise.
27405 * commands/echo.c: Likewise.
27406 * commands/efi/fixvideo.c: Likewise.
27407 * commands/efi/loadbios.c: Likewise.
27408 * commands/gptsync.c: Likewise.
27409 * commands/halt.c: Likewise.
27410 * commands/handler.c: Likewise.
27411 * commands/hdparm.c: Likewise.
27412 * commands/hexdump.c: Likewise.
27413 * commands/i386/cpuid.c: Likewise.
27414 * commands/i386/pc/drivemap.c: Likewise.
27415 * commands/i386/pc/halt.c: Likewise.
27416 * commands/i386/pc/pxecmd.c: Likewise.
27417 * commands/i386/pc/vbeinfo.c: Likewise.
27418 * commands/i386/pc/vbetest.c: Likewise.
27419 * commands/ieee1275/suspend.c: Likewise.
27420 * commands/keystatus.c: Likewise.
27421 * commands/loadenv.c: Likewise.
27422 * commands/ls.c: Likewise.
27423 * commands/lsmmap.c: Likewise.
27424 * commands/lspci.c: Likewise.
27425 * commands/memrw.c: Likewise.
27426 * commands/minicmd.c: Likewise.
27427 * commands/parttool.c: Likewise.
27428 * commands/password.c: Likewise.
27429 * commands/probe.c: Likewise.
27430 * commands/read.c: Likewise.
27431 * commands/reboot.c: Likewise.
27432 * commands/search.c: Likewise.
27433 * commands/sleep.c: Likewise.
27434 * commands/test.c: Likewise.
27435 * commands/true.c: Likewise.
27436 * commands/usbtest.c: Likewise.
27437 * commands/videotest.c: Likewise.
27438 * commands/xnu_uuid.c: Likewise.
27439 * disk/loopback.c: Likewise.
27440 * hello/hello.c: Likewise.
27441 * loader/i386/bsd.c: Likewise.
27442 * term/i386/pc/serial.c: Likewise.
27443 * po/POTFILES: Add new files.
27444
da8d5c53
CW
274452010-01-02 Colin Watson <cjwatson@ubuntu.com>
27446
27447 * term/i386/pc/at_keyboard.c
27448 (keyboard_controller_wait_untill_ready): Rename to ...
27449 (keyboard_controller_wait_until_ready): ... this. Update all users.
27450
33937904 274512010-01-01 Carles Pina i Estany <carles@pina.cat>
27452
27453 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27454 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27455 string using string width.
27456 * normal/menu_text.c (grub_print_message_indented): Use
27457 grub_print_spaces and not print_spaces.
27458 (print_timeout): Likewise.
27459 (print_spaces): Move to...
27460 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27461
3fd3b8d8
RM
274622010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27463
27464 Import from Gnulib.
27465
27466 * gnulib/getdelim.c: New file.
27467 * gnulib/getline.c: Likewise.
27468
33433555
VS
274692009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27470
27471 * include/grub/list.h (grub_assert_fail): Removed.
27472 (grub_bad_type_cast_real): New function.
27473 (grub_bad_type_cast): New macro.
27474 (GRUB_AS_LIST): Use grub_bad_type_cast.
27475 (GRUB_AS_LIST_P): Likewise.
e44721e8 27476 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27477 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27478 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27479 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27480 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27481
f5a51306
VS
274822009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27483
27484 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27485 Fix syntax error.
27486
90d1e879
RM
274872009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27488
27489 * configure.ac: Check for TARGET_CFLAGS initialization before we
27490 initialize it ourselves (sigh).
27491 Move a few modifications to TARGET_CFLAGS to be unconditional
27492 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27493 eh_frame)
27494
27495 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27496 * term/i386/pc/at_keyboard.c
27497 (keyboard_controller_wait_untill_ready): Likewise.
27498 (keyboard_controller_led): Rename `led_status' paramter to avoid
27499 name conflict.
27500
465b5a81 275012009-12-28 Carles Pina i Estany <carles@pina.cat>
27502
27503 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27504 quotes.
27505
c181849b
VS
275062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27507
27508 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27509
9c8739a4
VS
275102009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27511
27512 * normal/menu_text.c (grub_print_message_indented): Prevent
27513 past-the-end-of-array dereference.
27514
3e74249c
VS
275152009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27516
27517 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27518 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27519
64fd18ed 275202009-12-27 Carles Pina i Estany <carles@pina.cat>
27521
27522 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27523 * normal/main.c (grub_normal_read_line): Remove a space from the
27524 default prompt.
27525
714af9b9 275262009-12-27 Carles Pina i Estany <carles@pina.cat>
27527
27528 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27529 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27530 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27531 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27532 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27533 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27534 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27535
82f3e412 275362009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27537
27538 * video/readers/jpeg.c (cmd): Declare.
27539 (grub_cmd_jpegtest): Use `grub_command_t' type.
27540 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27541 Assign to `cmd'.
27542 (GRUB_MOD_FINI): Use `cmd' to unregister.
27543 * video/readers/png.c (cmd): Declare.
27544 (grub_cmd_pngtest): Use `grub_command_t' type.
27545 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27546 Assign to `cmd'.
27547 (GRUB_MOD_FINI): Use `cmd' to unregister.
27548 * video/readers/tga.c (cmd): Declare.
27549 (grub_cmd_tgatest): Use `grub_command_t' type.
27550 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27551 Assign to `cmd'.
27552 (GRUB_MOD_FINI): Use `cmd' to unregister.
27553
82f3e412 275542009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27555
27556 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27557 stops.
27558 * kern/corecmd.c (grub_register_core_commands): Likewise.
27559 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27560 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27561 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27562 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27563 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27564 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27565 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27566 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27567 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27568 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27569 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27570 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27571 * normal/handler.c (insert_handler): Likewise.
27572 * normal/main.c (GRUB_MOD_INIT): Likewise.
27573 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27574
fdcdbb66 275752009-12-26 Carles Pina i Estany <carles@pina.cat>
27576
27577 * commands/help.c (grub_cmd_help): Print the command name before the
27578 summary.
27579 (GRUB_MOD_INIT): Remove command name from the summary.
27580 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27581 string as summary.
fdcdbb66 27582 * lib/arg.c (find_long): Print the command name before the summary.
27583 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27584 summary.
27585 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27586 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27587 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27588 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27589 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27590 * commands/date.c (GRUB_MOD_INIT): Likewise.
27591 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27592 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27593 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27594 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27595 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27596 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27597 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27598 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27599 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27600 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27601 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27602 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27603 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27604 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27605 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27606 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27607 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27608 * commands/password.c (GRUB_MOD_INIT): Likewise.
27609 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27610 * commands/read.c (GRUB_MOD_INIT): Likewise.
27611 * commands/search.c (GRUB_MOD_INIT): Likewise.
27612 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27613 * commands/test.c (GRUB_MOD_INIT): Likewise.
27614 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27615 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27616 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27617 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27618 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27619 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27620 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27621 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27622 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27623 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27624 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27625 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27626 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27627 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27628
9c288be2
VS
276292009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27630
27631 Use search command for preliminar UUID search.
27632
27633 * commands/search.c: Split into ...
27634 * commands/search_wrap.c: ...this
27635 * commands/search.c: ...and this.
27636 * commands/search_file.c: New file.
27637 * commands/search_label.c: New file.
27638 * commands/search_uuid.c: New file.
27639 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27640 Add commands/search_wrap.c, commands/search_file.c,
27641 commands/search_label.c and commands/search_uuid.c.
27642 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27643 (search_mod_SOURCES): Set to commands/search_wrap.c.
27644 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27645 search_label.mod.
27646 (search_fs_file_mod_SOURCES): New variable.
27647 (search_fs_file_mod_CFLAGS): Likewise.
27648 (search_fs_file_mod_LDFLAGS): Likewise.
27649 (search_label_mod_SOURCES): Likewise.
27650 (search_label_mod_CFLAGS): Likewise.
27651 (search_label_mod_LDFLAGS): Likewise.
27652 (search_fs_uuid_mod_SOURCES): New variable.
27653 (search_fs_uuid_mod_CFLAGS): Likewise.
27654 (search_fs_uuid_mod_LDFLAGS): Likewise.
27655 (fs_file_mod_SOURCES): Removed.
27656 (fs_file_mod_CFLAGS): Likewise.
27657 (fs_file_mod_LDFLAGS): Likewise.
27658 (fs_uuid_mod_SOURCES): Removed.
27659 (fs_uuid_mod_CFLAGS): Likewise.
27660 (fs_uuid_mod_LDFLAGS): Likewise.
27661 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27662 Set to util/grub-install.in.
27663 * disk/fs_file.c: Removed.
27664 * disk/fs_uuid.c: Likewise.
27665 * include/grub/search.h: New file.
27666 * util/grub-install.in: Handle sparc64.
27667 Create and use load.cfg.
27668 * util/sparc64/ieee1275/grub-install.in: Removed.
27669
db943399
VS
276702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27671
27672 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27673 Ignore return status if CF is cleared.
27674 (grub_biosdisk_get_diskinfo_standard): Likewise.
27675
3fdae612
RM
276762009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27677
27678 * term/i386/pc/at_keyboard.c
27679 (keyboard_controller_wait_untill_ready): New function.
27680 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27681 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27682 for keyboard polling, rather than duplicate the same loop. This
27683 saves a few bytes in code size.
27684
7ebaa2b4
VS
276852009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27686
27687 Support for (pxe[:server[:gateway]]) syntax and
27688 use environment variable for PXE.
27689
27690 * commands/i386/pc/pxecmd.c (options): Removed.
27691 (print_ip): Removed.
27692 (grub_cmd_pxe): Removed
27693 (grub_cmd_pxe_unload): New function.
27694 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27695 (grub_pxe_your_ip): Made static.
27696 (grub_pxe_default_server_ip): Likewise.
27697 (grub_pxe_default_gateway_ip): Likewise.
27698 (grub_pxe_blksize): Likewise.
27699 (parse_ip): New function.
27700 (grub_pxe_open): Support server and gateway specification.
27701 (grub_pxe_close): Free disk->data.
27702 (grub_pxefs_open): Use disk->data.
27703 (grub_pxefs_read): Likewise.
27704 (grub_env_write_readonly): New function.
27705 (set_mac_env): Likewise.
27706 (set_env_limn_ro): Likewise.
27707 (parse_dhcp_vendor): Likewise.
27708 (grub_pxe_detect): Set the environment variables.
27709 (set_ip_env): New function.
27710 (write_ip_env): Likewise.
27711 (grub_env_write_pxe_default_server): Likewise.
27712 (grub_env_write_pxe_default_gateway): Likewise.
27713 (grub_env_write_pxe_blocksize): Likewise.
27714 (GRUB_MOD_INIT(pxe)): Set environment variables.
27715 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27716 (grub_pxe_mac_addr_t): ... this. All users updated.
27717 (grub_pxe_your_ip): Removed.
27718 (grub_pxe_server_ip): Likewise.
27719 (grub_pxe_gateway_ip): Likewise.
27720 (grub_pxe_blksize): Likewise.
27721
ec5f98ab 277222009-12-25 Carles Pina i Estany <carles@pina.cat>
27723
27724 * commands/help.c: Include `<grub/i18n.h>'.
27725 (grub_cmd_help): Gettextizze.
27726 (GRUB_MOD_INIT): Likewise.
27727 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27728 (GRUB_MOD_INIT): Gettextizze.
27729 * commands/search.c: Include `<grub/i18n.h>'.
27730 (options): Gettextizze.
27731 (GRUB_MOD_INIT): Gettextizze.
27732 * lib/arg.c: Include `<grub/i18n.h>'.
27733 (help_options): Gettextizze.
27734 (find_long): Likewise.
27735 (grub_arg_show_help): Likewise.
27736 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27737 (read_command_list): Gettextizze.
27738 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27739 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27740
22815526
RM
277412009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27742
27743 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27744 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27745 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27746 (led_status): New variable.
27747 (keyboard_controller_led): New function.
27748 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27749 update led status for caps lock, num lock and scroll lock.
27750
0ad46fd7
FZ
277512009-12-25 Felix Zielcke <fzielcke@z-51.de>
27752
27753 * util/hostdisk.c (open_device): Fix a comment.
27754
d0e158c2
RM
277552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27756
27757 * util/grub-install.in (host_os): New variable.
27758 * util/i386/efi/grub-install.in (host_os): Likewise.
27759
401c0ad6
RM
277602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27761
27762 * util/mkisofs/write.c (padblock_write): Abort when given an
27763 excedingly large embed image, instead of silently truncating it.
27764
d14d3370
RM
277652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27766
27767 * include/multiboot.h: Indentation fixes.
27768
eeed10b4
RM
277692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27770
27771 * include/multiboot.h (struct multiboot_aout_symbol_table)
27772 (struct multiboot_elf_section_header_table): New structure
27773 declarations (stolen from GRUB Legacy).
27774 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27775 table information.
27776
27777 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27778 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27779 type aliases.
27780
681c70ab
RM
277812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27782
27783 * include/multiboot.h: Make comments src2texi-friendly.
27784
e4d47d8d
RM
277852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27786
27787 For consistency with [multiboot]/docs/boot.S.
27788
27789 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27790 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27791 (MULTIBOOT_MAGIC2): Rename from this ...
27792 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27793
a0b70bda
RM
277942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27795
27796 * include/multiboot.h: Remove `<grub/types.h>'.
27797 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27798 types. Update all users.
27799
61ba42be 278002009-12-25 Carles Pina i Estany <carles@pina.cat>
27801
27802 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27803 `couldn't' and `can not' by `cannot'.
27804 * commands/i386/pc/drivemap.c: Likewise.
27805 * disk/ata.c: Likewise.
27806 * disk/ieee1275/nand.c: Likewise.
27807 * fs/affs.c: Likewise.
27808 * fs/fat.c: Likewise.
27809 * fs/hfs.c: Likewise.
27810 * fs/hfsplus.c: Likewise.
27811 * fs/iso9660.c: Likewise.
27812 * fs/jfs.c: Likewise.
27813 * fs/minix.c: Likewise.
27814 * fs/reiserfs.c: Likewise.
27815 * fs/sfs.c: Likewise.
27816 * fs/udf.c: Likewise.
27817 * fs/ufs.c: Likewise.
27818 * fs/xfs.c: Likewise.
27819 * loader/powerpc/ieee1275/linux.c: Likewise.
27820 * loader/sparc64/ieee1275/linux.c: Likewise.
27821 * util/grub-probe.c: Likewise.
27822 * util/misc.c: Likewise.
27823
7fd0baee 278242009-12-24 Carles Pina i Estany <carles@pina.cat>
27825
27826 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27827 grub_errno calls.
27828 * commands/acpi.c: Likewise.
27829 * commands/blocklist.c: Likewise.
27830 * commands/efi/loadbios.c: Likewise.
27831 * commands/i386/pc/drivemap.c: Likewise.
27832 * commands/loadenv.c: Likewise.
27833 * commands/memrw.c: Likewise.
27834 * commands/password.c: Likewise.
27835 * commands/videotest.c: Likewise.
27836 * disk/ata.c: Likewise.
27837 * disk/ata_pthru.c: Likewise.
27838 * disk/dmraid_nvidia.c: Likewise.
27839 * disk/ieee1275/nand.c: Likewise.
27840 * disk/ieee1275/ofdisk.c: Likewise.
27841 * disk/loopback.c: Likewise.
27842 * disk/lvm.c: Likewise.
27843 * disk/mdraid_linux.c: Likewise.
27844 * disk/raid.c: Likewise.
27845 * disk/raid6_recover.c: Likewise.
27846 * disk/scsi.c: Likewise.
27847 * efiemu/main.c: Likewise.
27848 * efiemu/mm.c: Likewise.
27849 * efiemu/pnvram.c: Likewise.
27850 * efiemu/symbols.c: Likewise.
27851 * font/font.c: Likewise.
27852 * fs/cpio.c: Likewise.
27853 * fs/hfsplus.c: Likewise.
27854 * fs/iso9660.c: Likewise.
27855 * fs/jfs.c: Likewise.
27856 * fs/minix.c: Likewise.
27857 * fs/ntfs.c: Likewise.
27858 * fs/ntfscomp.c: Likewise.
27859 * fs/reiserfs.c: Likewise.
27860 * fs/ufs.c: Likewise.
27861 * fs/xfs.c: Likewise.
27862 * gettext/gettext.c: Likewise.
27863 * include/grub/auth.h: Likewise.
27864 * kern/elf.c: Likewise.
27865 * kern/file.c: Likewise.
27866 * kern/ieee1275/init.c: Likewise.
27867 * kern/ieee1275/mmap.c: Likewise.
27868 * kern/ieee1275/openfw.c: Likewise.
27869 * kern/powerpc/dl.c: Likewise.
27870 * kern/sparc64/dl.c: Likewise.
27871 * lib/arg.c: Likewise.
27872 * loader/i386/bsd.c: Likewise.
27873 * loader/i386/bsdXX.c: Likewise.
27874 * loader/i386/efi/linux.c: Likewise.
27875 * loader/i386/efi/xnu.c: Likewise.
27876 * loader/i386/ieee1275/linux.c: Likewise.
27877 * loader/i386/linux.c: Likewise.
27878 * loader/i386/multiboot.c: Likewise.
27879 * loader/i386/pc/linux.c: Likewise.
27880 * loader/i386/pc/multiboot2.c: Likewise.
27881 * loader/i386/xnu.c: Likewise.
27882 * loader/ieee1275/multiboot2.c: Likewise.
27883 * loader/macho.c: Likewise.
27884 * loader/machoXX.c: Likewise.
27885 * loader/multiboot2.c: Likewise.
27886 * loader/multiboot_loader.c: Likewise.
27887 * loader/powerpc/ieee1275/linux.c: Likewise.
27888 * loader/sparc64/ieee1275/linux.c: Likewise.
27889 * loader/xnu.c: Likewise.
27890 * loader/xnu_resume.c: Likewise.
27891 * mmap/i386/pc/mmap.c: Likewise.
27892 * normal/menu_viewer.c: Likewise.
27893 * partmap/acorn.c: Likewise.
27894 * partmap/amiga.c: Likewise.
27895 * partmap/apple.c: Likewise.
27896 * script/lexer.c: Likewise.
27897 * term/gfxterm.c: Likewise.
27898 * term/i386/pc/serial.c: Likewise.
27899 * term/i386/pc/vga.c: Likewise.
27900 * term/ieee1275/ofconsole.c: Likewise.
27901 * term/terminfo.c: Likewise.
27902 * video/bitmap.c: Likewise.
27903 * video/efi_gop.c: Likewise.
27904 * video/efi_uga.c: Likewise.
27905 * video/fb/video_fb.c: Likewise.
27906 * video/i386/pc/vbe.c: Likewise.
27907 * video/readers/tga.c: Likewise.
27908 * video/video.c: Likewise.
27909
0ad46fd7 279102009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27911
27912 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27913 * commands/lspci.c: Likewise.
27914 * commands/probe.c: Likewise.
27915 * commands/xnu_uuid.c: Likewise.
27916 * conf/i386-coreboot.rmk: Likewise.
27917 * conf/i386-efi.rmk: Likewise.
27918 * conf/i386-ieee1275.rmk: Likewise.
27919 * conf/i386-pc.rmk: Likewise.
27920 * conf/powerpc-ieee1275.rmk: Likewise.
27921 * conf/sparc64-ieee1275.rmk: Likewise.
27922 * conf/x86_64-efi.rmk: Likewise.
27923 * fs/i386/pc/pxe.c: Likewise.
27924 * gettext/gettext.c: Likewise.
27925 * include/grub/efi/graphics_output.h: Likewise.
27926 * include/grub/i386/pc/memory.h: Likewise.
27927 * kern/env.c: Likewise.
27928 * kern/i386/qemu/startup.S: Likewise.
27929 * lib/i386/pc/biosnum.c: Likewise.
27930 * lib/i386/relocator.c: Likewise.
27931 * lib/i386/relocator_asm.S: Likewise.
27932 * lib/relocator.c: Likewise.
27933 * loader/i386/bsd.c: Likewise.
27934 * loader/i386/multiboot.c: Likewise.
27935 * loader/i386/pc/chainloader.c: Likewise.
27936 * loader/i386/xnu.c: Likewise.
27937 * loader/xnu.c: Likewise.
27938 * normal/main.c: Likewise.
27939 * normal/menu_text.c: Likewise.
27940 * util/getroot.c: Likewise.
27941 * util/grub-mkconfig_lib.in: Likewise.
27942 * util/grub.d/00_header.in: Likewise.
27943 * util/i386/pc/grub-mkimage.c: Likewise.
27944 * util/mkisofs/eltorito.c: Likewise.
27945 * util/mkisofs/exclude.h: Likewise.
27946 * util/mkisofs/hash.c: Likewise.
27947 * util/mkisofs/iso9660.h: Likewise.
27948 * util/mkisofs/joliet.c: Likewise.
27949 * util/mkisofs/mkisofs.c: Likewise.
27950 * util/mkisofs/mkisofs.h: Likewise.
27951 * util/mkisofs/multi.c: Likewise.
27952 * util/mkisofs/name.c: Likewise.
27953 * util/mkisofs/rock.c: Likewise.
27954 * util/mkisofs/tree.c: Likewise.
27955 * util/mkisofs/write.c: Likewise.
27956 * video/efi_gop.c: Likewise.
27957
009ec743
VS
279582009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27959
27960 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27961 size counting.
27962
0ad46fd7 279632009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27964
27965 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27966 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27967
d3d30ea0
VS
279682009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27969
27970 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27971 (GRUB_MOD_INIT(memrw)): Update help line.
27972
a34f5c70
VS
279732009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27974
27975 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27976 Use grub_extcmd_t. All users updated.
27977 (options): New variable.
27978 (grub_cmd_read): Restructure for readability. Support "-v" option.
27979 (grub_cmd_write): Restructure for readability.
27980
0ad46fd7 279812009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27982
27983 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27984
0ad46fd7 279852009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27986
27987 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27988 with the actual contents of the correspondending make variable.
27989 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27990 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27991 specifying `*.lst' and `efiemu??.o'
27992
0ad46fd7 279932009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27994
27995 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27996 after function name.
27997 Noticed by Rene Engelhard <rene@debian.org>.
27998
dc77a799
VS
279992009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28000
28001 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28002 (options): New variable.
28003 (iospace): Likewise.
28004 (grub_lspci_iter): List IO spaces if "-i" was given.
28005 (grub_cmd_lspci): Parse options.
28006 (GRUB_MOD_INIT(lspci)): Use extcmd.
28007 (GRUB_MOD_FINI(lspci)): Likewise.
28008
0ad46fd7 280092009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28010
28011 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28012 `function' keyword.
28013 Patch by Tony Mancill <tmancill@debian.org>.
28014
b5d5993b
VS
280152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28016
28017 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28018 (grub_uhci_portstatus): Likewise.
28019 (grub_uhci_portstatus): Add necessary delay.
11d18281 28020 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28021
941903f2 280222009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28023
941903f2 28024 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28025 (GRUB_MOD_INIT): Likewise.
28026 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28027 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28028 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28029 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28030 (enable_rom_area): Likewise.
28031 (GRUB_MOD_INIT): Likewise.
28032 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28033 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28034 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28035 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28036 * commands/hexdump.c (options): Likewise.
28037 * commands/i386/cpuid.c (options): Likewise.
28038 (GRUB_MOD_INIT): Likewise.
28039 * commands/i386/pc/drivemap.c (options): Likewise.
28040 (GRUB_MOD_INIT): Likewise.
28041 * commands/i386/pc/halt (options): Likewise.
28042 (GRUB_MOD_INIT): Likewise.
28043 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28044 * commands/i386/pc/pxecmd.c (options): Likewise.
28045 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28046 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28047 * commands/keystatus.c (options): Likewise.
28048 (GRUB_MOD_INIT): Likewise.
28049 * commands/loadenv.c (options): Likewise.
28050 * commands/ls.c (options): Likewise.
28051 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28052 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28053 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28054 * commands/parttool.c (helpmsg): Likewise.
28055 * commands/probe.c (options): Likewise.
28056 * commands/read.c (GRUB_MOD_INIT): Likewise.
28057 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28058 * commands/search.c (options): Likewise.
28059 * commands/sleep.c (options): Likewise.
28060 * commands/test.c (GRUB_MOD_INIT): Likewise.
28061 * commands/true.c (GRUB_MOD_INIT): Likewise.
28062 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28063 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28064 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28065 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28066 `$(XGETTEXT)'.
98a50553 28067 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28068
0ad46fd7 280692009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28070
ef3c2c3a 28071 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28072 instead of specifying them explicit.
28073
7922f68b
RM
280742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28075
28076 * NEWS: Add grub-probe support for GNU/Hurd.
28077
537ce47f
RM
280782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28079
28080 * NEWS: gettext was added after 1.97.
28081
9b214e3a
RM
280822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28083
28084 * util/mkisofs/msdos_partition.h: New file (based on
28085 include/grub/msdos_partition.h).
28086 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28087 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28088 (ld_options, main): Recognize --protective-msdos-label.
28089 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28090 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28091 (padblock_write): If `use_protective_msdos_label' is set, patch a
28092 protective DOS-style label in the output image.
28093
28094 * util/grub-mkrescue.in: Use --protective-msdos-label.
28095
e9309813
RM
280962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28097
28098 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28099 boot.
28100
0ae56929
RM
281012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28102
28103 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28104 variables.
28105 (ld_options, main): Recognize `--embedded-boot'.
28106 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28107 declarations.
28108 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28109 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28110 (padblock_write): Likewise. Rewrite to support embedded boot image.
28111
28112 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28113 for BIOS-based disk boot instead of only ElTorito.
28114
b15937b1
RM
281152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28116
28117 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28118 build (not needed for bootstrap).
28119
52cc3ce0
RM
281202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28121
28122 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28123 from i386-pc build (not needed for bootstrap).
28124 Rewrite a pair of strings.
28125
36f5ff04
RM
281262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28127
28128 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28129
973c6c85 281302009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28131
28132 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28133
05d21547
AB
281342009-12-21 Andreas Born <futur.andy@googlemail.com>
28135
28136 * kern/env.c (grub_env_context_open): Mark exported variable for
28137 reexport.
28138
0175d51f
AB
281392009-12-21 Andreas Born <futur.andy@googlemail.com>
28140
28141 * kern/env.c (grub_env_export): Create nonexistent variables before
28142 exporting.
28143
7f39d92f 281442009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28145
7f39d92f 28146 * include/grub/auth.h: Include `<grub/i18n.h>'.
28147 (GRUB_GET_PASSWORD): Gettextizze string.
28148 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28149 menu_text.c.
28150 (grub_utf8_to_ucs4_alloc): Fix indentation.
28151 (grub_print_ucs4): Likewise.
28152 (grub_getstringwidth): Likewise.
28153 (print_message_indented): New declaration.
28154 * normal/auth.c: Include `<grub/i18n.h>'.
28155 (grub_auth_check_authentication): Gettexttize string.
28156 * normal/cmdline.c: Include `<grub/i18n.h>'.
28157 (grub_cmdline_get): Gettextizze.
28158 * normal/color.c: Include `<grub/i18n.h>'.
28159 (grub_parse_color_name_pair): Gettexttize strings.
28160 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28161 string (use `print_message_indented').
28162 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28163 `include/grub/normal.h'.
28164 (print_message_indented): Renamed to ...
28165 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28166 used in normal/main.c).
28167 (print_message): Use `grub_print_message_indented' instead of
28168 `print_message_indented'.
28169 (print_timeout): Likewise.
28170 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28171 (grub_normal_print_device_info): Gettexttize strings.
28172 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28173
3041d898
VS
281742009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28175
28176 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28177 of arguments. Return number of tokens and not arguments. All users
28178 updated.
28179
de15bf8e
VS
281802009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28183 non-MSDOS paritions.
28184
e0a6ca52
VS
281852009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28186
28187 * include/grub/types.h (UNUSED): Removed since it conflicts with
28188 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28189 Reported by Grégoire Sutre.
28190
b99518d1 281912009-12-19 Carles Pina i Estany <carles@pina.cat>
28192
28193 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28194 (grub_print_ucs4_alloc): Likewise.
28195 (grub_getstringwidth): Likewise.
28196 * normal/main.c (grub_normal_init_page): Gettextize version string.
28197 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28198 (getstringwidth): Renamed to ...
28199 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28200 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28201 (grub_print_ucs4): Remove `static' qualifer (now used in
28202 normal/main.c).
28203 * po/POTFILES: Add normal/main.c.
28204
bfd5e52b 282052009-12-19 Carles Pina i Estany <carles@pina.cat>
28206
28207 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28208 (print_message_indented): Add `margin_left' and `margin_right'
28209 parameters.
28210 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28211 strings.
28212 (print_timeout): Use `print_message_indented' to print the message.
28213 Deletes `second_stage' parameter.
28214 (run_menu): Update `print_timeout' calls.
28215
5a1ad2b9
VS
282162009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28217
28218 Fix console palette on OpenFirmware.
28219
28220 * term/ieee1275/ofconsole.c (MAX): Removed.
28221 (colors): Redone based on VGA palette.
28222 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28223 colors are supported.
28224 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28225
b045f00a
VS
282262009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28227
28228 Fix potential EfiEmu double prepare.
28229
28230 * efiemu/main.c (prepared): New variable
28231 (grub_efiemu_unload): Set prepare to '0'.
28232 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28233
28234 set_virtual_address_map support.
28235
28236 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28237 prototype.
28238 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28239 prototype.
28240 (grub_efiemu_crc32): Likewise.
28241 (grub_efiemu_crc64): Likewise.
28242 (grub_efiemu_set_virtual_address_map): Likewise.
28243 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28244 New definition.
28245 (grub_autoefi_set_virtual_address_map): Likewise.
28246 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28247 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28248 Restructure flow to accomodate it.
28249 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28250 (grub_efiemu_crc): Recompute CRC32.
28251 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28252 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28253 * efiemu/symbols.c (relocated_handle): New variable.
28254 (grub_efiemu_free_syms): Free relocated_handle.
28255 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28256 (grub_efiemu_write_sym_markers): New function.
28257 (grub_efiemu_set_virtual_address_map): Likewise.
28258
28259 Newer XNU parameters.
28260
28261 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28262 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28263 (grub_xnu_fill_devicetree): New prototype.
28264 (grub_xnu_heap_real_start): New variable.
28265 * loader/xnu.c (get_name_ptr): New function.
28266 (grub_xnu_load_driver): Fill namelen and name.
28267
28268 64-bit xnu support.
28269
28270 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28271 and 'loader/macho64.c'.
28272 * conf/i386-pc.rmk: Likewise.
28273 * conf/x86_64-efi.rmk: Likewise.
28274 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28275 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28276 * include/grub/macho.h (grub_macho_segment64): New structure.
28277 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28278 (grub_macho_size32): ... to this.
28279 (grub_macho32_get_entry_point): Renamed from ...
28280 (grub_macho_get_entry_point32): ... to this.
28281 (grub_macho_contains_macho64): New prototype.
28282 (grub_macho_size64): Likewise.
28283 (grub_macho_get_entry_point64): Likewise.
28284 (grub_macho32_load): Renamed from ...
28285 (grub_macho_load32): ... to this.
28286 (grub_macho32_filesize): Renamed from ...
28287 (grub_macho_filesize32): ... to this.
28288 (grub_macho32_readfile): Renamed from ...
28289 (grub_macho_readfile32): ... to this.
28290 (grub_macho_filesize64): New prototype.
28291 (grub_macho_readfile64): Likewise.
28292 (grub_macho_parse32): Likewise.
28293 (grub_macho_parse64): Likewise.
28294 * loader/macho.c: Split into ...
28295 * loader/machoXX.c: ... and this. Replace 32 with XX.
28296 * loader/macho32.c: New file.
28297 * loader/macho64.c: Likewise.
28298 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28299 (grub_cmd_xnu_kernel): Make 32-bit only.
28300 (grub_cmd_xnu_kernel64): New function.
28301 (grub_xnu_load_driver): Support Mach-O 64.
28302 (grub_cmd_xnu_mkext): Likewise.
28303 * util/grub.d/30_os-prober.in (osx_entry): New function.
28304 Generate entries for 64-bit boot too.
28305
28306 Eliminate ad-hoc tree format in XNU and EfiEmu.
28307
28308 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28309 * efiemu/pnvram.c: Rewritten to use environment variables.
28310 All users updated.
28311
28312 Inline utf16_to_utf8.
28313
28314 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28315 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28316 All users updated.
28317 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28318
28319 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28320 * commands/usbtest.c (grub_usb_get_string): ... move here.
28321 (usb_print_str): Fix error handling.
28322 * include/grub/usb.h (grub_usb_get_string): Remove.
28323
28324 UTF-8 to UTF-16 transformation.
28325
28326 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28327 (charset_mod_SOURCES): New variable.
28328 (charset_mod_CFLAGS): Likewise.
28329 (charset_mod_LDFLAGS): Likewise.
28330 * include/grub/utf.h: New file.
28331 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28332
28333 Support for device properties.
28334
28335 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28336 (grub_xnu_devprop_device_header): Likewise.
28337 (grub_xnu_devprop_device_descriptor): Likewise.
28338 (grub_xnu_devprop_add_device): New prototype.
28339 (grub_xnu_devprop_remove_device): Likewise.
28340 (grub_xnu_devprop_remove_property): Likewise.
28341 (grub_xnu_devprop_add_property_utf8): Likewise.
28342 (grub_xnu_devprop_add_property_utf16): Likewise.
28343 (grub_cpu_xnu_init): Likewise.
28344 (grub_cpu_xnu_fini): Likewise.
28345 (grub_cpu_xnu_unload): Likewise.
28346 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28347 (property_descriptor): Likewise.
28348 (devices): New variable.
28349 (grub_xnu_devprop_remove_property): New function.
28350 (grub_xnu_devprop_add_device): Likewise.
28351 (grub_xnu_devprop_remove_device): Likewise.
28352 (grub_xnu_devprop_add_property): Likewise.
28353 (grub_xnu_devprop_add_property_utf8): Likewise.
28354 (grub_xnu_devprop_add_property_utf16): Likewise.
28355 (hextoval): Likewise.
28356 (grub_cpu_xnu_fill_devprop): Likewise.
28357 (grub_cmd_devprop_load): Likewise.
28358 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28359 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28360 (cmd_devprop_load): New variable.
28361 (grub_cpu_xnu_init): New function.
28362 (grub_cpu_xnu_fini): Likewise.
28363 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28364 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28365 (grub_cmd_xnu_devtree): Likewise.
28366 (hextoval): New function.
28367 (unescape): Likewise.
28368 (grub_xnu_fill_devicetree): Likewise.
28369
28370 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28371 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28372
0945f181
VS
283732009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28374
28375 Workaround for broken ATI VBE.
28376
28377 * video/i386/pc/vbe.c (last_set_mode): New variable.
28378 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28379 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28380 (grub_video_vbe_setup): Don't check for reserved flag.
28381
0ad46fd7 283822009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28383
28384 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28385 the `find' command.
28386
c179ebe4
VS
283872009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28388
28389 UUID support for HFS.
28390
28391 * fs/hfs.c (grub_hfs_uuid): New function.
28392 (grub_hfs_fs): New value .uuid.
28393 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28394
0ad46fd7 283952009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28396
28397 Fix a segfault with parsing unknown long options.
28398
28399 * util/grub-mkrelpath.c (options): Zero terminate it.
28400
c4a3e41a
CPE
284012009-12-13 Carles Pina i Estany <carles@pina.cat>
28402
28403 * include/grub/misc.h (grub_puts): New declaration.
28404 (grub_puts_): Likewise.
a22008a6 28405 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28406 (grub_puts_): Likewise.
28407
2e8a7602
RM
284082009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28409
28410 * util/grub-probe.c (probe): Improve error message.
28411
b50b77b9
RM
284122009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28413
28414 * loader/i386/multiboot_elfxx.c
28415 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28416 initialization.
28417
284182009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28419
28420 Relocator framework
28421
28422 * loader/i386/xnu_helper.S: Removed. All users updated.
28423 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28424 (relocator_mod_SOURCES): New variable.
28425 (relocator_mod_CFLAGS): Likewise.
28426 (relocator_mod_LDFLAGS): Likewise.
28427 (relocator_mod_ASFLAGS): Likewise.
28428 * conf/x86_64.rmk: Likewise.
28429 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28430 (grub_multiboot_payload_entry_offset): Likewise.
28431 (grub_multiboot_forward_relocator): Likewise.
28432 (grub_multiboot_forward_relocator_end): Likewise.
28433 (grub_multiboot_backward_relocator): Likewise.
28434 (grub_multiboot_backward_relocator_end): Likewise.
28435 (grub_multiboot_payload_eip): New variable.
28436 (grub_multiboot_payload_orig): Likewise.
28437 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28438 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28439 * include/grub/i386/memory.h
28440 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28441 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28442 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28443 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28444 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28445 * include/grub/i386/relocator.h: New file.
28446 * include/grub/x86_64/relocator.h: Likewise.
28447 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28448 (XNU_RELOCATOR): New macro.
28449 (grub_xnu_launcher_start): Remove.
28450 (grub_xnu_launcher_end): Likewise.
28451 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28452 (grub_xnu_heap_real_start): Remove.
28453 (grub_xnu_heap_start): Change to void *. All users updated.
28454 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28455 * lib/i386/relocator.c: New file.
28456 * lib/i386/relocator_asm.S: Likewise.
28457 * lib/i386/relocator_backward.S: Likewise.
28458 * lib/mips/relocator.c: Likewise.
28459 * lib/mips/relocator_asm.S: Likewise.
28460 * lib/relocator.c: Likewise.
28461 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28462 (entry): Removed.
28463 (playground): Likewise.
28464 (grub_multiboot_payload_orig): New variable.
28465 (grub_multiboot_payload_dest): Likewise.
28466 (grub_multiboot_payload_size): Likewise.
28467 (grub_multiboot_payload_eip): Likewise.
28468 (grub_multiboot_payload_esp): Likewise.
28469 (grub_multiboot_boot): Use grub_relocator32_boot.
28470 (grub_multiboot_unload): Free relocators.
28471 (grub_multiboot): Setup stack. Use relocators.
28472 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28473 (grub_multiboot_load_elfXX): Use relocators.
28474 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28475 (grub_multiboot_payload_size): Likewise.
28476 (grub_multiboot_payload_dest): Likewise.
28477 (grub_multiboot_payload_entry_offset): Likewise.
28478 (grub_multiboot_forward_relocator): Likewise.
28479 (grub_multiboot_backward_relocator): Likewise.
28480 (grub_multiboot_real_boot): Likewise.
28481 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28482 (grub_xnu_entry_point): Likewise.
28483 (grub_xnu_arg1): Likewise.
28484 (grub_xnu_stack): Likewise.
28485 (grub_xnu_launch): Removed.
28486 (grub_xnu_boot_resume): New function.
28487 (grub_xnu_boot): Use relocators.
28488 * loader/i386/xnu_helper.S: Removed.
28489 * loader/xnu.c (grub_xnu_heap_start): New variable.
28490 (grub_xnu_heap_size): Likewise.
28491 (grub_xnu_heap_malloc): Use relocators.
28492 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28493
29eb90c6
VS
284942009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28495
28496 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28497 anything.
28498
31027430
CPE
284992009-12-13 Carles Pina i Estany <carles@pina.cat>
28500
28501 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28502 GRUB_ERR_NONE before calling grub_env_set.
28503
dc0c71d9
RM
285042009-12-12 Robert Millan <rmh@aybabtu.com>
28505
28506 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28507 * genmk.rb (video): New variable.
28508 (CLEANFILES, VIDEOFILES): Add #{video}.
28509 (#{video}): New target rule.
28510 * genvideolist.sh: New file.
28511 * Makefile.in (pkglib_DATA): Add video.lst.
28512 (video.lst): New target rule.
28513 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28514 `video.lst'.
28515 * util/grub.d/30_os-prober.in: Replace `vbe' with
28516 ${GRUB_VIDEO_BACKEND}.
28517
2a4bfcf0
RM
285182009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28519
28520 * THANKS: Add David Miller.
28521
2a3aa4d5
RM
285222009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28523
28524 libpciaccess support.
28525
28526 * Makefile.in (LIBPCIACCESS): New variable.
28527 (enable_grub_emu_pci): Likewise.
28528 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28529 util/pci.c and commands/lspci.c.
28530 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28531 * configure.ac (grub-emu-pci): New option.
28532 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28533 (grub_pci_device_unmap_range): Likewise.
28534 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28535 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28536 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28537 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28538 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28539 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28540 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28541 * include/grub/pciutils.h: New file.
28542 * util/pci.c: Likewise.
28543
0ad46fd7 285442009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28545
28546 * util/misc.c: Don't include <errno.h> twice.
28547
0ad46fd7 285482009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28549
28550 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28551 name in an error message.
28552 (grub_biosdisk_rw): Likewise.
28553
2e59983c
VS
285542009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28555
28556 Eliminate NTFS 4Gib barrier.
28557
28558 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28559 (read_run_data): Likewise.
28560 (grub_ntfs_read_run_list): Likewise.
28561 (grub_ntfs_read_block): Likewise.
28562 (grub_ntfs_iterate_dir): Likewise.
28563 (read_mft): Likewise.
28564 (read_data): Likewise.
28565 Use COM_LOG_LEN.
28566 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28567 to avoid 64-bit division
28568 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28569 (grub_ntfs_rlst): Use grub_disk_addr_t.
28570
71ee178a
VS
285712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28572
28573 Eliminate grub-fstest 4Gib barrier.
28574
28575 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28576 (read_file): Fix error reporting.
28577
2520d4b8
VS
285782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28579
28580 Eliminate hexdump 4Gib barrier.
28581
28582 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28583 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28584
e1f27065
VS
285852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28586
28587 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28588 Fixes amarsh bug.
28589
1a0f7f45
RM
285902009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28591
28592 Remove miscellaneous files in distclean target.
28593
28594 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28595
c631d9fb
CW
285962009-12-09 Colin Watson <cjwatson@ubuntu.com>
28597
28598 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28599 if they're already set. This resolves the conflict between my
28600 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28601 fixing the --grub-probe option again.
28602 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28603 change on 2009-10-06, so that we now once again source
28604 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28605
7c7b6106
RM
286062009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28607
28608 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28609 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28610 `util/devicemap.c'.
28611
e3069ec1
CPE
286122009-12-08 Carles Pina i Estany <carles@pina.cat>
28613
28614 * include/grub/misc.h (grub_printf_): New declaration.
28615 * kern/misc.c (grub_printf_): New definition.
28616 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28617 instead of `grub_printf' and `_'.
28618 * normal/menu_entry.c (store_completion): Likewise.
28619 (run): Likewise.
28620 (grub_menu_entry_run): Likewise.
28621 * normal/menu_text.c (grub_wait_after_message): Likewise.
28622 (notify_booting): Likewise.
28623 (notify_fallback): Likewise.
28624 (notify_execution_failure): Likewise.
28625
d6ceebf1
CW
286262009-12-07 Colin Watson <cjwatson@ubuntu.com>
28627
28628 * configure.ac: Check for vasprintf.
28629 * util/misc.c (asprintf): Move allocation from here ...
28630 (vasprintf): ... to here. New function.
28631 (xasprintf): New function.
28632 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28633 prototypes.
28634 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28635 * util/grub-mkfont.c (write_font): Likewise.
28636 * util/grub-probe.c (probe): Likewise.
28637 * util/hostdisk.c (make_device_name): Likewise.
28638
de6daa8b
DM
286392009-12-06 David S. Miller <davem@sunset.davemloft.net>
28640
28641 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28642 anything even prefixed with 'cdrom' as a cdrom.
28643
0ad46fd7 286442009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28645
28646 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28647 mount points.
28648
98d3dc02
CPE
286492009-12-05 Carles Pina i Estany <carles@pina.cat>
28650
28651 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28652 grub_gettext_msg_list.
28653 (grub_gettext_gettranslation_from_position): Return const char *
28654 and not char *.
a2c1332b 28655 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28656 returns from the list if existing there.
28657 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28658 (grub_gettext_delete_list): Delete the list.
28659 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28660 lang environment variable is changed.
28661 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28662
b283f108
VS
286632009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28664
28665 Rename kernel.mod to kernel.img.
28666
28667 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28668 (kernel_mod_EXPORTS): Rename to ...
28669 (kernel_img_EXPORTS): ... this.
28670 (kernel_mod_SOURCES): Rename to ...
28671 (kernel_img_SOURCES): ... this.
28672 (kernel_mod_HEADERS): Rename to ...
28673 (kernel_img_HEADERS): ... this. All users updated.
28674 (kernel_mod_CFLAGS): Rename to ...
28675 (kernel_img_CFLAGS): ... this.
28676 (kernel_mod_ASFLAGS): Rename to ...
28677 (kernel_img_ASFLAGS): ... this.
28678 (kernel_mod_LDFLAGS): Rename to ...
28679 (kernel_img_LDFLAGS): ... this.
28680 * conf/x86_64-efi.rmk: Likewise.
28681 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28682 (read_kernel_image): ... this. All users updated.
28683 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28684
69055f8a
CPE
286852009-12-05 Carles Pina i Estany <carles@pina.cat>
28686
28687 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28688 (print_spaces): New function.
28689 (grub_print_ucs4): New function.
28690 (getstringwidth): New function.
28691 (print_message_indented): New function.
28692 (print_message): Gettexttize strings using print_message_indented.
28693 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28694 width.
28695 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 28696 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
28697 Gettextize.
28698 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28699 string.
28700 (run): Likewise.
28701 (grub_menu_entry_run): Likewise.
28702 * PO/POTFILES: Add normal/menu_entry.c.
28703
f616f51c
VS
287042009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28705
28706 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28707
57bbe3be
CPE
287082009-12-05 Carles Pina i Estany <carles@pina.cat>
28709
28710 * util/grub-install.in: Install gettext .mo files.
28711 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28712
013d67a1
CPE
287132009-12-05 Carles Pina i Estany <carles@pina.cat>
28714
28715 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28716 grub_dprintf.
28717
fb954db0
RM
287182009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28719
28720 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28721 non-firmware-dependant one in realmode.S takes precedence.
28722
6b8474f8
RM
287232009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28724
28725 * commands/halt.c: Replace misc arch-specific headers with
28726 `<grub/misc.h>'.
28727 * commands/reboot.c: Likewise.
28728 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28729 `<grub/misc.h>'.
28730 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28731 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28732 (kernel_img_SOURCES): ... to here.
28733
28734 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28735 * include/grub/i386/pc/init.h: Likewise.
28736 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28737 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28738
28739 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28740
28741 * include/grub/i386/halt.h: Remove.
28742 * include/grub/i386/reboot.h: Likewise.
28743
28744 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28745
4b2e6ca2
DM
287462009-12-03 David S. Miller <davem@sunset.davemloft.net>
28747
28748 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28749 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28750 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28751 "progname.h"
28752 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28753 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28754 (usage): Add missing comma in printf.
28755
5239348f
RM
287562009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28757
28758 Use the same reboot approach on i386 coreboot and qemu as we do on
28759 BIOS.
28760
28761 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28762 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28763 * kern/i386/reboot.c: Remove.
28764 * include/grub/i386/reboot.h (grub_reboot): Export function.
28765 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28766 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28767 0xf000:0xfff0 instead of 0xffff:0x0000.
28768 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28769 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28770
ef34cbd4
RM
287712009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28772
28773 Fix $srcdir != $objdir build.
28774
28775 * Makefile.in (po/%.po): Rewrite as ...
28776 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28777
dc9837ea
ST
287782009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28779
28780 Fix GNU/Hurd grub-install crash.
28781 * util/grub-probe.c (probe): Try to access `path' only when it is not
28782 NULL.
28783
2f857f98
VS
287842009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28785
28786 Correct module naming.
28787
28788 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28789 (GRUB_MOD_INIT(efi_uga)): ... to this
28790 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28791 (GRUB_MOD_FINI(efi_uga)): ... to this
28792 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28793 (GRUB_MOD_INIT(efi_gop)): ... to this
28794 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28795 (GRUB_MOD_FINI(efi_gop)): ... to this
28796
c5448046
RM
287972009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28798
28799 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28800 translatable.
28801 (usage): Translate `arg' strings using gettext().
28802 Thanks to Jordi Mallach for the suggestion.
28803
c85184ad
VS
288042009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28805
28806 GOP support. Based on patch from Bean
28807 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28808
28809 * video/efi_gop.c: New file.
28810 * include/grub/efi/graphics_output.h: Likewise.
28811 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28812 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28813 variables.
28814 * conf/x86_64-efi.rmk: Likewise.
28815
8a4c48d8
VS
288162009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28817
28818 Rename efi_fb to efi_uga.
28819
28820 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28821 'efi_uga.mod'.
28822 (efi_fb_mod_SOURCES): Rename this ...
28823 (efi_uga_mod_SOURCES): ... to this.
28824 (efi_fb_mod_CFLAGS): Rename this ...
28825 (efi_uga_mod_CFLAGS): ... to this.
28826 (efi_fb_mod_LDFLAGS): Rename this ...
28827 (efi_uga_mod_LDFLAGS): ... to this.
28828 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28829 'efi_uga.mod'.
28830 (efi_fb_mod_SOURCES): Rename this ...
28831 (efi_uga_mod_SOURCES): ... to this.
28832 (efi_fb_mod_CFLAGS): Rename this ...
28833 (efi_uga_mod_CFLAGS): ... to this.
28834 (efi_fb_mod_LDFLAGS): Rename this ...
28835 (efi_uga_mod_LDFLAGS): ... to this.
28836 * video/efi_fb.c: Move this ...
28837 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28838
fb6c1a7b
RM
288392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28840
28841 * po/README: New file. Explain our PO file workflow.
28842
3bc7896c
RM
288432009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28844
28845 * po/ChangeLog: Remove. Move relevant entries back to ...
28846 * ChangeLog: ... here.
28847 * po/ca.po: Remove (now handled by TLP).
28848 * po/id.po: Likewise.
28849 * po/zh_CN.po: Likewise.
28850 * Makefile.in (LINGUAS): Initialize in a way that supports
28851 empty set.
28852
9ed4841d
RM
288532009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28854
28855 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28856 reliing on po/LINGUAS.
28857 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28858 (po/%.po): ... this.
28859
0ad46fd7 288602009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28861
28862 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28863 (main): Use `program_name' instead of nonexistent `progname'.
28864
e30dd392
FZ
288652009-11-26 Felix Zielcke <fzielcke@z-51.de>
28866
28867 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28868 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28869
7656de4f
RM
288702009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28871
28872 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28873 commit.
28874 * conf/i386-efi.rmk: Likewise.
28875 * conf/i386-ieee1275.rmk: Likewise.
28876 * conf/powerpc-ieee1275.rmk: Likewise.
28877 * conf/sparc64-ieee1275.rmk: Likewise.
28878 * conf/x86_64-efi.rmk: Likewise.
28879
db77c4d4
FZ
288802009-11-26 Felix Zielcke <fzielcke@z-51.de>
28881
28882 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28883
a755bb04
FZ
288842009-11-26 Felix Zielcke <fzielcke@z-51.de>
28885
28886 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28887
8a4c07fd
RM
288882009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28889
28890 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28891 (grub_mkdevicemap_SOURCES): New variable.
28892 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28893 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28894 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28895 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28896 (grub_mkdevicemap_SOURCES): Remove.
28897 * conf/i386-efi.rmk: Likewise.
28898 * conf/i386-ieee1275.rmk: Likewise.
28899 * conf/i386-pc.rmk: Likewise.
28900 * conf/powerpc-ieee1275.rmk: Likewise.
28901 * conf/sparc64-ieee1275.rmk: Likewise.
28902 * conf/x86_64-efi.rmk: Likewise.
28903 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28904 (usage): Fix strings to use `program_name'.
28905 (main): Initialize gettext.
28906 * util/grub-editenv.c: Likewise.
28907 * util/grub-emu.c: Likewise.
28908 * util/grub-fstest.c: Likewise.
28909 * util/grub-mkdevicemap.c: Likewise.
28910 * util/grub-mkfont.c: Likewise.
28911 * util/grub-mkrelpath.c: Likewise.
28912 * util/grub-pe2elf.c: Likewise.
28913 * util/grub-probe.c: Likewise.
28914 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28915 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28916 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28917
28918 * util/misc.c: Include `"progname.h"'.
28919 (progname): Remove variable.
28920 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28921
6f61ed55
FZ
289222009-11-25 Felix Zielcke <fzielcke@z-51.de>
28923
28924 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28925 printf and print a newline after the menuentry header line.
28926 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28927
f022876b
FZ
289282009-11-25 Felix Zielcke <fzielcke@z-51.de>
28929
28930 autoconf >= 2.60 support $(localedir).
28931
28932 * INSTALL: Note that autoconf 2.60 is required.
28933 * configure.ac (AC_PREREQ): Bump to 2.60.
28934 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28935 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28936
6717926e
YB
289372009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28938
28939 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28940 aclocal is run.
28941
08806a54
RM
289422009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28943
28944 * normal/main.c (grub_normal_read_line): Fix off-by-one
28945 buffer overflow.
28946
13b33fba
RM
289472009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28948
28949 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28950 "parser.grub" in grub_command_execute() call.
28951
4a8572e9
CPE
289522009-11-24 Carles Pina i Estany <carles@pina.cat>
28953
28954 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28955 * conf/i386-efi.rmk: Likewise.
28956 * conf/i386-ieee1275.rmk: Likewise.
28957 * conf/i386-pc.rmk: Likewise.
28958 * conf/powerpc-ieee1275.rmk: Likewise.
28959 * conf/sparc64-ieee1275.rmk: Likewise.
28960 * conf/x86_64-efi.rmk: Likewise.
28961 * gettext/gettex.c: Include <grub/i18n.h>.
28962 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28963 here ...
28964 * include/grub/i18n.h: ... to here
28965 * include/grub/i18n.h: ... to here.
28966 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28967 (grub_gettext_dummy): Move above user.
4a8572e9 28968
bee48093
FZ
289692009-11-24 Felix Zielcke <fzielcke@z-51.de>
28970
28971 * util/Makefile.in (install-local): Convert a `for' into a normal
28972 shell expansion.
28973
a031e91c
RM
289742009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28975
28976 * autogen.sh: Add automake call.
28977 * config.guess: Remove.
28978 * config.sub: Likewise.
28979 * install-sh: Likewise.
28980
26bec39d
FZ
289812009-11-24 Felix Zielcke <fzielcke@z-51.de>
28982
28983 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28984
8e2532fd
FZ
289852009-11-24 Felix Zielcke <fzielcke@z-51.de>
28986
28987 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28988 function to a normal shell `for'.
28989
fefa1b7d
FZ
289902009-11-24 Felix Zielcke <fzielcke@z-51.de>
28991
28992 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28993
4501250b
FZ
289942009-11-24 Felix Zielcke <fzielcke@z-51.de>
28995
28996 * util/grub-mkrelpath.c: New file.
28997 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28998 (grub_mkrelpath_SOURCES): New variable.
28999 * include/grub/util/misc.h: New function prototype.
29000 * util/misc.c (make_system_path_relative_to_its_root): New function.
29001
29002 * util/grub-mkconfig_lib.in (bindir): New variable.
29003 (grub_mkrelpath): Likewise.
29004 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29005
29006 * util/probe.c (probe): Make the file path relative to its root.
29007 Change a info message to use the GRUB path. Enable again the
29008 check if we can read the file with GRUB facilities.
29009
29010 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29011 to its root.
29012
11d9778b
FZ
290132009-11-24 Felix Zielcke <fzielcke@z-51.de>
29014
29015 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29016 platform.
29017
4465287d
FZ
290182009-11-24 Felix Zielcke <fzielcke@z-51.de>
29019
29020 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29021 strncmp().
29022
62b47f22
FZ
290232009-11-24 Felix Zielcke <fzielcke@z-51.de>
29024
29025 * util/getroot.c (grub_util_is_dmraid): New function.
29026 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29027 devices as normal ones, not as LVM.
29028
1eafb9b9 290292009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29030
29031 * conf/common.rmk: Add grub-gettext_lib target and updates
29032 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29033 LDFLAGS.
29034 * gettext/gettext.c: New file. (Reads mo files).
29035 * include/grub/file.h (grub_file_pread): New prototype.
29036 * include/grub/i18n.h (_): New prototype.
29037 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29038 prototypes.
29039 * kern/misc.c (grub_gettext_dummy): New function.
29040 * normal/menu_text.c: Include <grub/i18n.h>.
29041 * normal/menu_text.c (print_timeout): Gettexttize string.
29042 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29043 * po/POTFILES: Add `normal/menu_text.c'.
29044 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29045 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29046 gettext module and defines locale_dir and lang in grub.cfg.
29047 * NEWS: Add gettext support.
29048
0fdb2568
RM
290492009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29050
29051 * util/hostdisk.c: Include `<grub/i18n.h>'.
29052 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29053 (make_device_name): Rewrite using asprintf.
29054 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29055 (find_system_device): If a device is not found, generate one just
29056 by reusing the OS path name.
29057 (read_device_map): Make it permissible for device.map not to exist.
29058
f515aa62
RM
290592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29060
29061 * script/sh/execute.c: Move from here ...
29062 * script/execute.c: ... to here. Update all users.
29063 * script/sh/function.c: Move from here ...
29064 * script/function.c: ... to here. Update all users.
29065 * script/sh/lexer.c: Move from here ...
29066 * script/lexer.c: ... to here. Update all users.
29067 * script/sh/main.c: Move from here ...
29068 * script/main.c: ... to here. Update all users.
29069 * script/sh/parser.y: Move from here ...
29070 * script/parser.y: ... to here. Update all users.
29071 * script/sh/script.c: Move from here ...
29072 * script/script.c: ... to here. Update all users.
29073
f84b481b
RM
290742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29075
29076 * configure.ac: Detect all `emu' platforms. Define
29077 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29078 --enable-grub-emu logic. Disable include/grub/machine
29079 symlink on `emu' platforms.
29080
29081 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29082 * gensymlist.sh.in: Likewise.
29083
29084 * include/grub/i386/coreboot/machine.h: Remove file.
29085 * include/grub/i386/efi/machine.h: Likewise.
29086 * include/grub/i386/ieee1275/machine.h: Likewise.
29087 * include/grub/i386/pc/machine.h: Likewise.
29088 * include/grub/i386/qemu/machine.h: Likewise.
29089 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29090 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29091 * include/grub/x86_64/efi/machine.h: Likewise.
29092
29093 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29094 * commands/halt.c: Likewise.
29095 * commands/reboot.c: Likewise.
29096 * include/grub/autoefi.h: Likewise.
29097 * include/grub/i386/at_keyboard.h: Likewise.
29098 * include/grub/i386/kernel.h: Likewise.
29099 * include/grub/i386/loader.h: Likewise.
29100 * include/grub/i386/pc/memory.h: Likewise.
29101 * kern/dl.c: Likewise.
29102 * kern/i386/coreboot/init.c: Likewise.
29103 * loader/i386/bsd.c: Likewise.
29104 * loader/i386/linux.c: Likewise.
29105 * loader/multiboot_loader.c: Likewise.
29106 * term/i386/pc/serial.c: Likewise.
29107 * term/usb_keyboard.c: Likewise.
29108
29109 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29110 `<grub/machine/machine.h>'
29111 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29112 * util/misc.c: Remove `<grub/machine/machine.h>' and
29113 `<grub/machine/time.h>'.
29114
29115 * Makefile.in (enable_grub_emu): Remove variable.
29116 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29117
29118 * conf/any-emu.rmk: New file.
29119 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29120 (grub_emu_init.c): Move from here ...
29121 * conf/any-emu.rmk: ... to here.
29122
29123 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29124 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29125 * conf/any-emu.rmk: ... to here.
29126
4efeab03
RM
291272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29128
29129 * include/grub/parser.h (grub_parser_register): Document need
29130 of `name' parameter.
29131 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29132 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29133 "sh" to "grub".
29134
ea1dd8bf
RM
291352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29136
29137 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29138 `$(XGETTEXT)'.
29139 * include/grub/i18n.h (N_): New macro.
29140 * util/mkisofs/mkisofs.h: Likewise.
29141 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29142 around N_().
29143 (usage): Use gettext() to translate help strings when printing them.
29144
0c140626
RM
291452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29146
29147 Based on patch from Bean
29148 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29149
29150 * video/efi_fb.c: New file.
29151 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29152 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29153 variables.
29154 * conf/x86_64-efi.rmk: Likewise.
29155
87d58298
RM
291562009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29157
29158 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29159 * util/i386/pc/grub-setup.c: Likewise.
29160
994cc3a3
ST
291612009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29162
29163 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29164 <hurd/fs.h>
29165 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29166 file_get_storage_info to implement grub_guess_root_device.
29167
26a61d6a
FZ
291682009-11-21 Felix Zielcke <fzielcke@z-51.de>
29169
29170 * Makefile.in (target): Use make's builtin $(shell) function
29171 instead of calling directly $(SHELL) to create the locale directories,
29172 inside the $(foreach) function.
29173
74ff1dd5
FZ
291742009-11-21 Felix Zielcke <fzielcke@z-51.de>
29175
29176 * util/grub-mkrescue.in: Print an error and usage if output option
29177 has not been given.
29178
0b787d0e
FZ
291792009-11-21 Felix Zielcke <fzielcke@z-51.de>
29180
29181 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29182 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29183 root and /boot are on different devices.
29184
1164b270
RM
291852009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29186
29187 Fix build for srcdir != objdir.
29188
29189 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29190 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29191 $(srcdir).
29192 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29193 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29194 reference for input.
29195
13774a2f
RM
291962009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29197
29198 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29199 or hardlinking it). Remove -J option, Joliet is not compatible with
29200 multiple source directories.
29201
efda854e
RM
292022009-11-21 Carles Pina i Estany <carles@pina.cat>
292032009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29204
29205 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29206 (process_input_dir): New function. Process an arbitrary input
29207 directory.
29208 Misc adjustments to support both "override mode" and system-wide mode.
29209
6c09890c
FZ
292102009-11-20 Felix Zielcke <fzielcke@z-51.de>
29211
29212 * configure.ac (UNIFONT_BDF): Rename to ...
29213 (FONT_SOURCE): ... this. Update all users.
29214
a797824f
FZ
292152009-11-20 Felix Zielcke <fzielcke@z-51.de>
29216
29217 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29218 to the list of unifont files to look for.
29219
cd4f42b0
RM
292202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29221
29222 Patch from Joe Auricchio <jauricchio@gmail.com>
29223 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29224 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29225 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29226
393c783d
FZ
292272009-11-19 Felix Zielcke <fzielcke@z-51.de>
29228
29229 * Makefile.in (install-local): Add a missing backslash.
29230
b2f1e327
FZ
292312009-11-19 Felix Zielcke <fzielcke@z-51.de>
29232
29233 * include/grub/x86_64/io.h: New file.
29234
f577f7a0
RM
292352009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29236
29237 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29238 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29239 Include `"progname.h"'.
29240 (main): Initialize gettext.
29241 * util/i386/pc/grub-setup.c: Gettexttize.
29242 * util/i386/pc/grub-mkimage.c: Likewise.
29243
29244 * Makefile.in (po/*.po): Redefine as ...
29245 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29246
3bc7896c
RM
29247 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29248
c37943b6
RM
292492009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29250
29251 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29252 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29253 (program_name): Remove.
29254 (main): Initialize gettext support.
6323f705
RM
29255 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29256 Include `<libintl.h>'.
29257 (_): New macro.
c37943b6
RM
29258
29259 * util/mkisofs/eltorito.c: Gettexttize.
29260 * util/mkisofs/joliet.c: Likewise.
29261 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29262 * util/mkisofs/multi.c: Likewise.
29263 * util/mkisofs/rock.c: Likewise.
29264 * util/mkisofs/tree.c: Likewise.
29265 * util/mkisofs/write.c: Likewise.
29266
3bc7896c
RM
29267 * po/POTFILES: Update with new files.
29268
5ce77c6e
RM
292692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29270
29271 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29272 * util/mkisofs/iso9660.h: Likewise.
29273 * util/mkisofs/joliet.c: Likewise.
29274 * util/mkisofs/mkisofs.c: Likewise.
29275 * util/mkisofs/mkisofs.h: Likewise.
29276 * util/mkisofs/rock.c: Likewise.
29277 * util/mkisofs/tree.c: Likewise.
29278 * util/mkisofs/write.c: Likewise.
29279
29280 * util/mkisofs/eltorito.c (rcsid): Remove.
29281 * util/mkisofs/hash.c: Likewise.
29282 * util/mkisofs/joliet.c: Likewise.
29283 * util/mkisofs/name.c: Likewise.
29284 * util/mkisofs/rock.c: Likewise.
29285 * util/mkisofs/tree.c: Likewise.
29286 * util/mkisofs/write.c: Likewise.
29287
1dabbc77
RM
292882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29289
29290 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29291 instead of static allocation.
29292 * util/mkisofs/match.h: Likewise.
29293
633877cb
RM
292942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29295
3bc7896c
RM
29296 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29297 and `util/grub.d/10_linux.in'.
633877cb
RM
29298 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29299 translatable Shell files.
29300
af1c0c85
RM
293012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29302
29303 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29304
769ae37b
RM
293052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29306
29307 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29308 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29309 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29310 Add gettext initialization.
29311 (kfreebsd_entry): Make menuentry output translatable.
29312
293132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29314
29315 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29316 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29317 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29318 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29319 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29320 * po/LINGUAS: New file.
769ae37b
RM
29321
293222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29323
29324 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29325 other things).
29326 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29327 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29328 bindtextdomain() calls for gettext initialization.
29329
293302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29331
29332 * gnulib/progname.c: New file (imported from Gnulib).
29333 * gnulib/progname.h: Likewise.
29334 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29335 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29336 (usage): Replace `progname' with `program_name'.
29337 (main): Use set_program_name() for program name initialization.
29338
293392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29340
29341 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29342 from here ...
29343 * Makefile.in (CPPFLAGS): ... to here.
29344
293452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29346
29347 * aclocal.m4: Move from here ...
29348 * acinclude.m4: ... to here.
29349 * autogen.sh: Add call to `aclocal'.
29350 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29351
293522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29353
29354 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29355 (LINGUAS): New variable.
29356 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29357 (install-local): Install MO files.
29358 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29359 * include/grub/i18n.h: New file.
3bc7896c
RM
29360 * po/POTFILES: New file.
29361 * po/ca.po: New file.
769ae37b
RM
29362 * util/grub.d/10_linux.in (bindir): New variable.
29363 Add gettext initialization.
29364 (linux_entry): Make menuentry output translatable.
29365 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29366 (usage): Make --help output translatable.
29367 (main): Initialize gettext.
29368
02c0a6ad
RM
293692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29370
29371 * import_gcry.py: New file (written by Vladimir with minor
29372 adjustments).
29373 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29374 ciphers.
29375 * INSTALL: Document that Python is required for bootstrap.
29376
293772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29378
29379 Import ciphers from libgcrypt 1.4.4.
29380
29381 * lib/libgcrypt/cipher/ChangeLog
29382 * lib/libgcrypt/cipher/ac.c
29383 * lib/libgcrypt/cipher/arcfour.c
29384 * lib/libgcrypt/cipher/bithelp.h
29385 * lib/libgcrypt/cipher/blowfish.c
29386 * lib/libgcrypt/cipher/camellia-glue.c
29387 * lib/libgcrypt/cipher/camellia.c
29388 * lib/libgcrypt/cipher/camellia.h
29389 * lib/libgcrypt/cipher/cast5.c
29390 * lib/libgcrypt/cipher/cipher.c
29391 * lib/libgcrypt/cipher/crc.c
29392 * lib/libgcrypt/cipher/des.c
29393 * lib/libgcrypt/cipher/dsa.c
29394 * lib/libgcrypt/cipher/ecc.c
29395 * lib/libgcrypt/cipher/elgamal.c
29396 * lib/libgcrypt/cipher/hash-common.c
29397 * lib/libgcrypt/cipher/hash-common.h
29398 * lib/libgcrypt/cipher/hmac-tests.c
29399 * lib/libgcrypt/cipher/md.c
29400 * lib/libgcrypt/cipher/md4.c
29401 * lib/libgcrypt/cipher/md5.c
29402 * lib/libgcrypt/cipher/primegen.c
29403 * lib/libgcrypt/cipher/pubkey.c
29404 * lib/libgcrypt/cipher/rfc2268.c
29405 * lib/libgcrypt/cipher/rijndael-tables.h
29406 * lib/libgcrypt/cipher/rijndael.c
29407 * lib/libgcrypt/cipher/rmd.h
29408 * lib/libgcrypt/cipher/rmd160.c
29409 * lib/libgcrypt/cipher/rsa.c
29410 * lib/libgcrypt/cipher/seed.c
29411 * lib/libgcrypt/cipher/serpent.c
29412 * lib/libgcrypt/cipher/sha1.c
29413 * lib/libgcrypt/cipher/sha256.c
29414 * lib/libgcrypt/cipher/sha512.c
29415 * lib/libgcrypt/cipher/tiger.c
29416 * lib/libgcrypt/cipher/twofish.c
29417 * lib/libgcrypt/cipher/whirlpool.c
29418
af2f93ac
RM
294192009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29420
29421 Fix build for systems without error().
29422
29423 * gnulib/error.c: New file (imported from Gnulib).
29424 * gnulib/error.h: Likewise.
29425 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29426 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29427 (this variable is now used by error()).
29428
73fb3dd5
FZ
294292009-11-16 Felix Zielcke <fzielcke@z-51.de>
29430
814f5e96
FZ
29431 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29432 instead of relying that char is signed.
73fb3dd5 29433
a691ca33
VS
294342009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29435
29436 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29437 blocksize different from specified.
29438 (grub_pxefs_read): Likewise.
29439
2af8f0f4
FZ
294402009-11-16 Felix Zielcke <fzielcke@z-51.de>
29441
29442 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29443
29444 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29445 (grub_ata_readwrite): Likewise. Update 2 format strings.
29446 (grub_atapi_read): Likewise.
29447
29448 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29449 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29450 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29451 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29452 (ata_mod_LDFLAGS): Move from here ...
29453 * conf/i386.rmk: ... to here ...
29454 * conf/x86_64-efi.rmk: ... and here.
29455 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29456 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29457
83bdecaf
RM
294582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29459
29460 Relicense multiboot.h, with RMS' blessing.
29461
29462 * include/multiboot.h: Change to X11 license.
29463
fd6fd3d7
RM
294642009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29465
29466 Support --version in grub-mkisofs.
29467
29468 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29469 (OPTION_VERSION): New macro.
29470 (ld_options): Recognize --version.
29471 (usage): Move `program_name' from here ...
29472 (program_name): ... to here. Add `static' qualifier.
29473 (main): Recognize `OPTION_VERSION'.
29474
16a88c49
FZ
294752009-11-15 Felix Zielcke <fzielcke@z-51.de>
29476
29477 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29478 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29479
a4158476
RM
294802009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 Fix help2man generation for mkisofs.
29483
29484 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29485 (usage): Send output to stdout (rather than stderr).
29486
fc2208b0
RM
294872009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29488
29489 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29490 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29491 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29492 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29493 (bin_SCRIPTS): Add `grub-mkfloppy'.
29494 (grub_mkfloppy_SOURCES): New variable.
29495
29496 * util/grub-mkrescue.in: New file.
29497 * util/i386/pc/grub-mkfloppy.in: New file.
29498
29499 * util/i386/coreboot/grub-mkrescue.in: Remove.
29500 * util/i386/pc/grub-mkrescue.in: Remove.
29501
8d0edf4a
RM
295022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29503
29504 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29505 from here ...
29506 * include/multiboot.h (struct multiboot_header): ... to here. Update
29507 all users.
29508 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29509 from here ...
29510 * include/multiboot.h (struct multiboot_info): ... to here. Update
29511 all users.
29512 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29513 from here ...
29514 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29515 Update all users.
29516 * include/grub/multiboot.h (struct grub_mod_list): Move
29517 from here ...
29518 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29519 Update all users.
29520
a73f5969
RM
295212009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29522
29523 * include/multiboot2.h (multiboot_word): Rename from this ...
29524 (multiboot2_word): ... to this. Update all users.
29525 (multiboot_header): Rename from this ...
29526 (multiboot2_header): ... to this. Update all users.
29527 (multiboot_tag_header): Rename from this ...
29528 (multiboot2_tag_header): ... to this. Update all users.
29529 (multiboot_tag_start): Rename from this ...
29530 (multiboot2_tag_start): ... to this. Update all users.
29531 (multiboot_tag_name): Rename from this ...
29532 (multiboot2_tag_name): ... to this. Update all users.
29533 (multiboot_tag_module): Rename from this ...
29534 (multiboot2_tag_module): ... to this. Update all users.
29535 (multiboot_tag_memory): Rename from this ...
29536 (multiboot2_tag_memory): ... to this. Update all users.
29537 (multiboot_tag_unused): Rename from this ...
29538 (multiboot2_tag_unused): ... to this. Update all users.
29539 (multiboot_tag_end): Rename from this ...
29540 (multiboot2_tag_end): ... to this. Update all users.
29541
1c8927f0
RM
295422009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29543
29544 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29545 this platform we should support Multiboot1 first.
29546
29547 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29548 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29549 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29550
6e1e0d89
RM
295512009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29552
29553 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29554 of write calls (converting them to fwrite() if they aren't already).
29555 (get_torito_desc): Likewise.
29556 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29557
7f2b34d8
RM
295582009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29559
29560 * util/i386/pc/grub-install.in: Move from here ...
29561 * util/grub-install.in: ... to here. Update all users.
29562
c0ef3311
CW
295632009-11-11 Colin Watson <cjwatson@ubuntu.com>
29564
29565 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29566
e1f240ff
RM
295672009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29568
29569 Support for El Torito without floppy emulation.
29570
29571 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29572 (init_boot_catalog): Improve error handling.
29573 (get_torito_desc): Don't use floppy emulation unless requested by
29574 user. Patch boot information table when requested via
29575 `-boot-info-table'.
29576 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29577 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29578 (use_boot_info_table): New variables.
29579 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29580 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29581 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29582 `--eltorito-emul-floppy'.
29583 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29584 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29585 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29586 (use_boot_info_table, get_731): New prototypes.
29587 * util/mkisofs/write.c (get_731): New function.
29588
af7d4de5
FZ
295892009-11-11 Felix Zielcke <fzielcke@z-51.de>
29590
29591 Fix the generation of the man page.
29592
29593 * util/pc/i386/grub-install.in: Source
29594 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29595
2c55dbc0
RM
295962009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29597
29598 Large file support for grub-mkisofs.
29599
29600 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29601 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29602 (session_start): Upgrade type to `uint64_t'. Update all users.
29603 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29604 (struct directory_entry): Upgrade type of `starting_block' and
29605 `size' to `uint64_t'. Update all users.
29606 (struct deferred): Remove unused structure.
29607 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29608 Update all users.
29609 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29610 file is larger than `UINT32_MAX'.
29611 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29612 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29613 return value.
29614 (struct deferred_write): Upgrade type of `extent' and `size' to
29615 `uint64_t'. Update all users.
29616 (last_extent_written): Upgrade type to `uint64_t'. Update all
29617 users.
29618 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29619 Update all users. Upgrade type of `remain' to `int64_t' and
29620 `use' to `size_t'. Use error() to handle fread() errors.
29621 (write_files): Rely on write_one_file() rather than calling
29622 xfwrite() directly.
29623
6a9cead5
FZ
296242009-11-09 Felix Zielcke <fzielcke@z-51.de>
29625
29626 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29627
4825d790
RM
296282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29629
29630 * util/mkisofs/fnmatch.c: Remove.
29631 * util/mkisofs/getopt1.c: Likewise.
29632 * util/mkisofs/getopt.c: Likewise.
29633 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29634 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29635 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29636 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29637 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29638
29639 * configure.ac: Detect `mingw32msvc' host_os.
29640 Check for lstat(), getuid() and getgid().
29641
29642 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29643 instances of `u_char' with `uint8_t'.
29644
29645 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29646 [!HAVE_GETUID] (getuid): New function (stub).
29647 [!HAVE_GETGID] (getgid): Likewise.
29648 [!HAVE_LSTAT] (lstat): Likewise.
29649 [!S_IROTH] (S_IROTH): New macro (dummy).
29650 [!S_IRGRP] (S_IRGRP): Likewise.
29651
84b860d8
RM
296522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29653
29654 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29655 conditional expression).
29656
66e9b712
RM
296572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29658
29659 Import from Gnulib.
29660
29661 * gnulib/fnmatch.c: New file.
29662 * gnulib/fnmatch.h: Likewise.
29663 * gnulib/fnmatch_loop.c: Likewise.
29664 * gnulib/getopt.c: Likewise.
29665 * gnulib/getopt.h: Likewise.
29666 * gnulib/getopt1.c: Likewise.
29667 * gnulib/getopt_int.h: Likewise.
29668 * gnulib/gettext.h: Likewise.
29669
34f4a5b0
RM
296702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29671
29672 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29673 * normal/handler.c (read_handler_list): Likewise.
29674
ac451143
RM
296752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29676
29677 Misc cleanup.
29678
29679 * kern/command.c (grub_register_command_prio): Use
29680 grub_zalloc() instead of explicitly zeroing data.
29681 * kern/list.c: Include `<grub/mm.h>'.
29682 (grub_named_list_find): Replace `0' with `NULL'.
29683 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29684 (fs_module_list): Change type to `grub_named_list_t'. Update all
29685 users.
29686 * normal/dyncmd.c (read_command_list): Add space between function
29687 call and parenthesis.
29688 * normal/handler.c (read_handler_list): Likewise.
29689
4089b167
RM
296902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29691
29692 * normal/auth.c (punishment_delay): Moved from here ...
29693 (grub_auth_strcmp): ... to here (inside function).
29694
325f5037
RM
296952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29696
29697 * include/grub/list.h (struct grub_named_list): Remove `const'
29698 qualifier from `name'.
29699 (struct grub_prio_list): Likewise.
29700
7aea29a3
RM
297012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29702
29703 * normal/auth.c: Include `<grub/time.h>'.
29704 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29705
3fd6f044
RM
297062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29707
29708 * normal/auth.c (punishment_delay): New variable.
29709 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29710 (grub_auth_check_authentication): Punish failed login attempts with
29711 an incremental (2^N) delay.
29712
a4cd68e4
RM
297132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29714
29715 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29716 path with $(srcdir).
29717
7ad12f43
VS
297182009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29719
29720 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29721
c1129f03
RM
297222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29723
29724 * util/i386/coreboot/grub-mkrescue.in: New file.
29725 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29726 variables.
29727
29728 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29729 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29730 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29731 requirements.
29732 * util/mkisofs/defaults.h: New file.
29733 * util/mkisofs/eltorito.c: Likewise.
29734 * util/mkisofs/exclude.h: Likewise.
29735 * util/mkisofs/fnmatch.c: Likewise.
29736 * util/mkisofs/getopt.c: Likewise.
29737 * util/mkisofs/getopt1.c: Likewise.
29738 * util/mkisofs/hash.c: Likewise.
29739 * util/mkisofs/include/fctldefs.h: Likewise.
29740 * util/mkisofs/include/mconfig.h: Likewise.
29741 * util/mkisofs/include/prototyp.h: Likewise.
29742 * util/mkisofs/include/statdefs.h: Likewise.
29743 * util/mkisofs/iso9660.h: Likewise.
29744 * util/mkisofs/joliet.c: Likewise.
29745 * util/mkisofs/match.c: Likewise.
29746 * util/mkisofs/match.h: Likewise.
29747 * util/mkisofs/mkisofs.c: Likewise.
29748 * util/mkisofs/mkisofs.h: Likewise.
29749 * util/mkisofs/multi.c: Likewise.
29750 * util/mkisofs/name.c: Likewise.
29751 * util/mkisofs/rock.c: Likewise.
29752 * util/mkisofs/tree.c: Likewise.
29753 * util/mkisofs/write.c: Likewise.
29754
ec8bb77d
VS
297552009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29758 being insecure.
29759
3716b12c
RM
297602009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29761
29762 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29763 `grub-mkimage' (and use $0 when possible).
29764
b97b7b91
RM
297652009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29766
29767 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29768 error message for excessively large memory map.
29769
04114812
RM
297702009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29771
29772 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29773 executable bit.
29774
e4eb2373
RM
297752009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29776
29777 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29778 message for coreboot users.
29779
c926e1d5 297802009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29781
29782 Fix build with GNU gold.
29783
29784 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29785 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29786 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29787 link addresses.
29788 * aclocal.m4: Likewise.
29789
86e5b1db 297902009-11-04 Felix Zielcke <fzielcke@z-51.de>
29791
29792 * configure.ac (AC_PREREQ): Bump to 2.59d.
29793 * INSTALL: Make it more clear when Autoconf and Ruby are
29794 needed and when to run `./autogen.sh'.
29795
246cd78f 297962009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29797
29798 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29799 OSes.
29800
4f9dfb37 298012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29802
29803 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29804
b82bd5e1 298052009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29806
29807 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29808 giving it to GNU Mach.
29809
ff1a9bca 298102009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29811
29812 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29813 GNU partition number to get internal GRUB partition number.
29814
61697d9c 298152009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29816
29817 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29818 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29819
a50569e1 298202009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29821
29822 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29823 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29824 case.
29825
5b153867 298262009-11-01 Felix Zielcke <fzielcke@z-51.de>
29827
29828 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29829
d9e2cd70 298302009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29831
29832 Fix build problem.
29833
29834 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29835 `-isystem=$(srcdir)/include'.
29836
805111a4 298372009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29838
29839 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29840 checked (grub-install doesn't currently rely on it).
29841
fa6e945f 298422009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29843
29844 Revert SVN r2660.
29845
29846 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29847 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29848 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29849 * conf/i386-ieee1275.rmk: Likewise.
29850 * conf/i386-pc.rmk: Likewise.
29851 * conf/powerpc-ieee1275.rmk: Likewise.
29852 * conf/sparc64-ieee1275.rmk: Likewise.
29853 * conf/x86_64-efi.rmk: Likewise.
29854
cee15086 298552009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29856
29857 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29858
95b9239e 298592009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29860
29861 * include/grub/misc.h: Stop checking for APPLE_CC.
29862
2ed19dfd 298632009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29864
29865 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29866 doesn't cause an infinite call loop.
29867
fdcdde19 298682009-10-28 Felix Zielcke <fzielcke@z-51.de>
29869
29870 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29871 strings.
29872
cefabfe1 298732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29874
29875 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29876 variable.
29877 * Makefile.in: Likewise.
29878
ed96ab6d 298792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29880
29881 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29882
0579b753 298832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29884
29885 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29886
478df409 298872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29888
29889 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29890
083d1679 298912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29892
29893 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29894 from here ...
29895 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29896
5947ae32 298972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29898
29899 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29900 in $(MAKEINFO) invocation. This makes it clear in output that
29901 errors are being ignored.
29902
94180ff6 299032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29904
29905 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29906 from here ...
29907 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29908 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29909 * conf/i386-ieee1275.rmk: Likewise.
29910 * conf/i386-pc.rmk: Likewise.
29911 * conf/powerpc-ieee1275.rmk: Likewise.
29912 * conf/sparc64-ieee1275.rmk: Likewise.
29913 * conf/x86_64-efi.rmk: Likewise.
29914
9031b03a 299152009-10-26 Colin Watson <cjwatson@ubuntu.com>
29916
29917 * util/grub-editenv.c (main): If only a command is given, use
29918 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29919 (usage): FILENAME is now optional and has a default.
29920
e4f6809b 299212009-10-26 Colin Watson <cjwatson@ubuntu.com>
29922
29923 Improve grub-mkconfig performance when there are several menu
29924 entries on a single filesystem.
29925
29926 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29927 prepare_grub_to_access_device.
29928 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29929 * util/grub.d/30_os-prober.in: Likewise.
29930
67937d4d 299312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29932
29933 * util/grub.d/10_freebsd.in: Remove.
29934 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29935 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29936
ee3756cc 299372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29938
5c35048e 29939 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29940
4dea1c6f 299412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29942
29943 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29944 grub_util_error() call.
29945
042484d7 299462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29947
29948 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29949 `reserved_first_sector' member.
29950 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29951 `reserved_first_sector' to 1.
29952 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29953 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29954 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29955 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29956 filesystems which begin at first sector.
29957 (options): New option --skip-fs-probe.
29958 (main): Handle --skip-fs-probe and pass it to setup().
29959
d64448a7 299602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29961
29962 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29963 (memset): Fix function prototype.
29964
508d42ec 299652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
299662009-10-25 Vasily Averin <vvs@parallels.com>
29967
29968 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29969 `dirent.direntlen == 0'.
29970
b240e30c 299712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29972
29973 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29974 `cpio'.
29975 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29976
346e7fbe 299772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29978
29979 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29980 `__trampoline_setup' and `__ucmpdi2'.
29981 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29982 that libgcc provides.
29983
cdb308b0 299842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29985
29986 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29987 * include/grub/sparc64/libgcc.h (memset): Likewise.
29988 * include/grub/misc.h (memset, memcmp): New function prototypes.
29989
fb26abc2 299902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29991
29992 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29993 `cpio'.
29994 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29995
f6693890 299962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29997
29998 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29999 * docs/grub.cfg: Compensate for recent change in multiboot
30000 loader (since 2009-08-14 it won't pass filename to payload).
30001 * util/grub.d/10_hurd.in: Likewise.
30002
0933cdc0 300032009-10-21 Felix Zielcke <fzielcke@z-51.de>
30004
30005 * config.guess: Update to latest version from config git
30006 repository.
30007 * config.sub: Likewise.
30008
3b2fe8c2 300092009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30010
30011 Fix build on sparc64.
30012
30013 * configure.ac: Perform checks for libgcc symbols before
30014 adding `-nostdlib' to LDFLAGS.
30015
46695a62 300162009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30017
30018 Let user specify OpenBSD root device.
30019
30020 * loader/i386/bsd.c (openbsd_root): New variable.
30021 (openbsd_opts): New option 'root'.
30022 (OPENBSD_ROOT_ARG): New macro.
30023 (grub_openbsd_boot): Use 'openbsd_root'.
30024 (grub_cmd_openbsd): Fill 'openbsd_root'.
30025
d2b6b7fc 300262009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30027
30028 * NEWS: Misc adjustments.
30029
421bd7ac 300302009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30031
30032 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30033
f1d29d87 300342009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30035
30036 * configure.ac: Bump version to 1.97.
30037
6f3cd880 300382009-10-16 Colin Watson <cjwatson@ubuntu.com>
30039
30040 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30041 -mno-3dnow on x86 architectures. Some toolchains enable these
30042 features by default, but they rely on registers that aren't enabled
30043 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30044
035f7122 300452009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30046
30047 Make entry text a bit more readable.
30048
30049 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30050
44998e58 300512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30052
30053 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30054
cd2851b3 300552009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30056
30057 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30058 operations.
30059
c6f3b249 300602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30061
30062 * configure.ac: Add missing dollar.
30063
6b5886ba 300642009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30065
30066 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30067
30068 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30069 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30070 exports.
30071 * include/grub/sparc64/libgcc.h: Likewise. Use
30072 preprocessor conditionals.
30073
e9d66f6d 300742009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30075
30076 * conf/common.rmk (grub-dumpbios): Remove rule.
30077 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30078 * util/grub-dumpbios.in: Remove file.
30079
9155bc17 300802009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30081
30082 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30083 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30084
30085 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30086 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30087 users.
30088
30089 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30090 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30091 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30092 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30093 users.
30094
bf7f7a18 300952009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30096
30097 * term/tparm.c: Switch to GPLv3.
30098
86564c26 300992009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30100
30101 * include/grub/i386/cpuid.h: Add header protection.
30102
5c936493 301032009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30104
30105 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30106
30107 * include/grub/i386/cpuid.h: New file.
30108 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30109 (has_longmode): Rename to ...
30110 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30111 `static' attribute.
30112 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30113 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30114 on a CPU that doesn't implement AMD64 instruction set.
30115
186e7cf2 301162009-10-06 Colin Watson <cjwatson@ubuntu.com>
30117
30118 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30119 that version.texi is rebuilt on version number changes.
30120
83b65c4a 301212009-10-06 Colin Watson <cjwatson@ubuntu.com>
30122
30123 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30124 Fixes bug #27602.
30125
d244281c 301262009-10-06 Colin Watson <cjwatson@ubuntu.com>
30127
30128 * util/i386/pc/grub-install.in: Source
30129 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30130 that the --grub-probe option will work.
30131 * util/sparc64/ieee1275/grub-install.in: Likewise.
30132
da25306d 301332009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30134
30135 * configure.ac: Bump version to 1.97~beta4.
30136
e8ee83c0 301372009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30138
30139 Resync grub-mkdevicemap in x86_64-efi.
30140
30141 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30142 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30143 `util/devicemap.c'.
30144
50dcabcf 301452009-10-01 Colin Watson <cjwatson@ubuntu.com>
30146
30147 * util/grub-editenv.c (create_envblk_file): Write new block with a
30148 .new suffix and then rename it into place, to ensure atomic
30149 creation.
30150
0e51c3a7 301512009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30152
30153 Do not automatically install headers.
30154
30155 * Makefile.in (include_DATA): Remove. Update all users.
30156
31299a95 301572009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30158
30159 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30160 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30161
30162 * util/osdetect.lua: Remove.
30163 * script/lua/lauxlib.c: Likewise.
30164 * script/lua/ldebug.c: Likewise.
30165 * script/lua/grub_main.c: Likewise.
30166 * script/lua/lauxlib.h: Likewise.
30167 * script/lua/ldebug.h: Likewise.
30168 * script/lua/ltablib.c: Likewise.
30169 * script/lua/liolib.c: Likewise.
30170 * script/lua/lstrlib.c: Likewise.
30171 * script/lua/lualib.h: Likewise.
30172 * script/lua/ldo.c: Likewise.
30173 * script/lua/ldump.c: Likewise.
30174 * script/lua/ldo.h: Likewise.
30175 * script/lua/loslib.c: Likewise.
30176 * script/lua/lundump.c: Likewise.
30177 * script/lua/grub_lib.c: Likewise.
30178 * script/lua/ldblib.c: Likewise.
30179 * script/lua/lundump.h: Likewise.
30180 * script/lua/lmem.c: Likewise.
30181 * script/lua/grub_lib.h: Likewise.
30182 * script/lua/lmathlib.c: Likewise.
30183 * script/lua/lstate.c: Likewise.
30184 * script/lua/ltm.c: Likewise.
30185 * script/lua/lvm.c: Likewise.
30186 * script/lua/lmem.h: Likewise.
30187 * script/lua/lstate.h: Likewise.
30188 * script/lua/ltm.h: Likewise.
30189 * script/lua/ltable.c: Likewise.
30190 * script/lua/lvm.h: Likewise.
30191 * script/lua/llex.c: Likewise.
30192 * script/lua/lgc.c: Likewise.
30193 * script/lua/grub_lua.h: Likewise.
30194 * script/lua/loadlib.c: Likewise.
30195 * script/lua/lfunc.c: Likewise.
30196 * script/lua/lopcodes.c: Likewise.
30197 * script/lua/lparser.c: Likewise.
30198 * script/lua/ltable.h: Likewise.
30199 * script/lua/llex.h: Likewise.
30200 * script/lua/lgc.h: Likewise.
30201 * script/lua/lfunc.h: Likewise.
30202 * script/lua/lbaselib.c: Likewise.
30203 * script/lua/lopcodes.h: Likewise.
30204 * script/lua/lparser.h: Likewise.
30205 * script/lua/lzio.c: Likewise.
30206 * script/lua/linit.c: Likewise.
30207 * script/lua/lobject.c: Likewise.
30208 * script/lua/llimits.h: Likewise.
30209 * script/lua/lstring.c: Likewise.
30210 * script/lua/lzio.h: Likewise.
30211 * script/lua/lapi.c: Likewise.
30212 * script/lua/lcode.c: Likewise.
30213 * script/lua/lua.h: Likewise.
30214 * script/lua/lobject.h: Likewise.
30215 * script/lua/lstring.h: Likewise.
30216 * script/lua/lapi.h: Likewise.
30217 * script/lua/lcode.h: Likewise.
30218 * script/lua/luaconf.h: Likewise.
30219
cb8a2c38 302202009-09-26 Colin Watson <cjwatson@ubuntu.com>
30221
30222 * docs/grub.texi (Command-line and menu entry commands): Document
30223 date and echo commands.
30224
6b9b6276 302252009-09-24 Pavel Roskin <proski@gnu.org>
30226
30227 * include/grub/kernel.h (struct grub_module_header): Remove
30228 `grub_module_header_types'. Make `type' unsigned. Make `size'
30229 32-bit on all platforms.
30230 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30231 8-bit field. Use grub_host_to_target32() for `size'.
30232 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30233 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30234 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30235
4e5a02a7 302362009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30237
30238 Fix "lost keypress" bug in at_keyboard.
30239
30240 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30241 Checks for readyness of input buffer (without flushing it).
30242 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30243 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30244
c6dcedf6 302452009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30246
30247 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30248 size check within GRUB_MACHINE_PCBIOS section.
30249
74c958b1 302502009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30251
30252 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30253 return value.
30254 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30255 KEYBOARD_ISREADY check.
30256 (grub_at_keyboard_checkkey): Rename to ...
30257 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30258 Remove gratuitous cast.
30259
ff420223 302602009-09-23 Colin Watson <cjwatson@ubuntu.com>
30261
30262 * configure.ac: Call AC_PROG_MKDIR_P.
30263 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30264 version.texi in $(builddir) rather than $(srcdir).
30265 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30266 to makeinfo's @include search path.
30267
d96875df 302682009-09-23 Felix Zielcke <fzielcke@z-51.de>
30269
30270 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30271
9b3f8365 302722009-09-23 Felix Zielcke <fzielcke@z-51.de>
30273
30274 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30275 for `*.dpkg-new'.
30276
c44c90db 302772009-09-21 Colin Watson <cjwatson@ubuntu.com>
30278
30279 Build info documentation. Some code borrowed from Automake.
30280
30281 * configure.ac: Check for makeinfo.
30282 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30283 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30284 docs/version.texi.
30285 (MOSTLYCLEANFILES): Add vti.tmp.
30286 (docs/version.texi, docs/stamp-vti): Update automatically.
30287 (docs/grub.info): Build info documentation. Use --force and ignore
30288 errors for now.
30289 (all-local): Add $(INFOS).
30290 (install-local): Install info files.
30291 (uninstall): Uninstall info files.
30292 * docs/version.texi: Remove from revision control. This file is
30293 automatically generated on build now.
30294 * gendistlist.sh: Add `*.info'.
30295
e0b37bb5 302962009-09-21 Felix Zielcke <fzielcke@z-51.de>
30297
30298 * kern/term.c: Fix indentation.
30299
5a78865b 303002009-09-21 Felix Zielcke <fzielcke@z-51.de>
30301
30302 * util/hostdisk.c: Fix a comment.
30303
dace7e8a 303042009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30305
30306 Fix regression introduced in r2539.
30307
30308 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30309 to 0xA1.
30310
a83d079b 303112009-09-19 Colin Watson <cjwatson@ubuntu.com>
30312
30313 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30314 os-prober. Under normal operation, it does not print anything to
30315 stderr; if it does, we need to debug it, and throwing away stderr
30316 makes that excessively difficult.
a83d079b 30317
be94a509 303182009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30321
63f745e8 303222009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30323
30324 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30325 AC_LANG_PROGRAM from autoconf.
30326 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30327 prototypes (fixes warning).
30328
30329 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30330 `--disable-werror' was used.
30331
bbb2a70f 303322009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30333
30334 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30335 uninitialized `lastaddr'.
30336
77c24f1d 303372009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30338
0f0b8c87 30339 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30340
07197f23 303412009-09-14 Colin Watson <cjwatson@ubuntu.com>
30342
30343 * commands/test.c (get_fileinfo): Return immediately if
30344 grub_fs_probe fails.
30345
dabf1798 303462009-09-14 José Martínez <xosemp@gmail.com>
30347
30348 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30349
d52109a7 303502009-09-14 Colin Watson <cjwatson@ubuntu.com>
30351
30352 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30353 output.
30354
56532179 303552009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30356
30357 * configure.ac: Remove --enable-grub-pe2elf. Only build
30358 grub-pe2elf when needed by the build system itself.
30359 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30360
8ef070f5 303612009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30362
30363 * configure.ac: Bump version to 1.97~beta3.
30364 * docs/version.texi: Likewise.
30365
61229557 303662009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30367
30368 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30369 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30370 from here ...
30371 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30372 (grub_linux_setup_video): ... to here (with some adjustments).
30373
5c9f8d84 303742009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30375
30376 Fix memory corruption issue (spotted by Colin Watson).
30377
30378 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30379 causing returned size to be stored in an incorrect memory location.
30380 Fix use of uninitialized value when storing the returned size.
30381
e8f5d6e9 303822009-09-12 Yves Blusseau <blusseau@zetam.org>
30383
30384 Change clean rules to properly remove files
30385
30386 * genmk.rb: add new clean rules
30387 * Makefile.in (clean): add the new targets
30388 (mostlyclean): likewise
30389
cda2a409 303902009-09-11 Colin Watson <cjwatson@ubuntu.com>
30391
30392 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30393 to grub_uint64_t.
30394 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30395 non-resident files.
30396
86695375 303972009-09-11 Colin Watson <cjwatson@ubuntu.com>
30398
30399 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30400 part of bug #27349.
30401
8aa1541a 304022009-09-10 Felix Zielcke <fzielcke@z-51.de>
30403
30404 * util/grub-mkconfig.in: Make the created config mode 400 and
30405 print a warning if it fails.
30406
48d9bb0a 304072009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30408
30409 * util/grub.d/40_custom.in: Ask user to type custom entries below
30410 comment, rather than below 'exec tail' line.
30411
3b0521be 304122009-09-10 Colin Watson <cjwatson@ubuntu.com>
30413
30414 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30415 visible in grub.cfg.
30416
50051d55 304172009-09-10 Colin Watson <cjwatson@ubuntu.com>
30418
30419 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30420 file.
30421
c0d34387 304222009-09-10 Felix Zielcke <fzielcke@z-51.de>
30423
30424 * docs/grub.cfg: Add an example menu entry for memtest86+.
30425
80a608f3 304262009-09-09 Felix Zielcke <fzielcke@z-51.de>
30427
a2094832 30428 * config.guess: Update to latest version from config git.
80a608f3 30429 * config.sub: Likewise.
30430
99423078 304312009-09-08 Colin Watson <cjwatson@ubuntu.com>
30432
30433 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30434 unknown-command case. Fixes bug #27320.
30435
44454e4c 304362009-09-08 Felix Zielcke <fzielcke@z-51.de>
30437
30438 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30439 `help' if the command exists.
30440
e30d87ad 304412009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30442
30443 * INSTALL: Require GCC 4.1.3 or later.
30444
9a86f1ec 304452009-09-06 Yves Blusseau <blusseau@zetam.org>
30446
30447 * Makefile.in (RMKFILES): add i386-qemu.rmk
30448 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30449 $(srcdir)/stamp-h.in
30450
7f26d466 304512009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30452
30453 * util/grub-probe.c (probe): Comment out buggy codepath, which
30454 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30455 should be re-enabled after 1.97.
30456
3a613259 304572009-09-05 Felix Zielcke <fzielcke@z-51.de>
30458
30459 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30460 find searches for.
30461
197f76c7 304622009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30463
30464 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30465 unnecessary calls to grub_error.
30466
70ba68ce 304672009-09-04 Colin Watson <cjwatson@ubuntu.com>
30468
30469 * NEWS: Mention `keystatus' and Unicode fonts.
30470
4ff0d7a4 304712009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30472
30473 * configure.ac: Bump version to 1.97~beta2.
30474 * docs/version.texi: Likewise.
30475
77c55a87 304762009-09-03 Colin Watson <cjwatson@ubuntu.com>
30477
30478 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30479 containing unwind information in some cases where it previously did
30480 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30481 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30482 discussion.
30483
f79572cd 304842009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30485
30486 Embedding loadenv module into grub-emu
30487
30488 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30489 commands/loadenv.c
30490 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30491 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30492 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30494 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30495 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30496
93a81088 304972009-09-03 Magnus Granberg <zorry@ume.nu>
30498
30499 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30500 include -fPIE in the default specs.
30501 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30502 to TARGET_CFLAGS.
30503
160034b2 305042009-09-03 Felix Zielcke <fzielcke@z-51.de>
30505
30506 * INSTALL: Note that GNU Bison 2.3 or later is required.
30507
087c07c4 305082009-09-03 Colin Watson <cjwatson@ubuntu.com>
30509
30510 * kern/i386/pc/startup.S: Fix typo.
30511
cbf978c0 305122009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30513
30514 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30515 according to GCS.
30516
305172009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30518
30519 * docs/grub.texi (Naming convention): Describe one-based partition
30520 numbering.
30521 (Device syntax): Likewise.
30522 (File name syntax): Likewise.
30523 (Block list syntax): Likewise.
30524 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30525 menu.lst.
30526 (File name syntax): Likewise.
30527 (Command-line and menu entry commands): Document acpi, blocklist,
30528 crc, export, insmod, keystatus, ls, set, and unset commands.
30529
f3e8cdfd 305302009-09-02 Colin Watson <cjwatson@ubuntu.com>
30531
30532 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30533 to avoid implying that only one of --shift, --ctrl, or --alt may be
30534 used.
30535
c0bc232b 305362009-09-02 Colin Watson <cjwatson@ubuntu.com>
30537
30538 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30539 rather than comparing against S_IFREG, which will almost never work.
30540
aa0f752d 305412009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30542
30543 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30544 (write_blocklists): Likewise.
30545
ecb3166a 305462009-09-01 Colin Watson <cjwatson@ubuntu.com>
30547
30548 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30549 argument to grub_printf.
30550
c403a125 305512009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30552
30553 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30554 non GNU test.
31aba781 30555
b5e7312c 305562009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30557
30558 * kern/file.c (grub_file_read): Spelling fix
30559
fe00f472 305602009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30561
30562 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30563 loading of headers in some cases.
30564
cc55302e 305652009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30566
30567 * configure.ac: Bump version to 1.97~beta1.
30568 * docs/version.texi: Likewise.
30569
5c90cdd2 305702009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30571
30572 * include/grub/i386/xnu.h: Add license header.
30573 include grub/err.h explicitly.
30574
c90edae4 305752009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30576
30577 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30578 to `ufs' in the vfs.root.mountfrom kernel parameter.
30579
d8888b5c 305802009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30581
30582 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30583
30584 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30585 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30586
30587 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30588 `ARRAY_SIZE' macro.
30589
6f07b921 305902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30591
30592 * kern/file.c (grub_file_read): Check offset.
30593 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30594 * fs/jfs.c (grub_jfs_read_file): Likewise.
30595 * fs/ntfs.c (grub_ntfs_read): Likewise.
30596 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30597 * fs/minix.c (grub_minix_read_file): Correct offset check.
30598 * fs/ufs.c (grub_ufs_read_file): Likewise.
30599
b4f34077 306002009-08-28 Colin Watson <cjwatson@ubuntu.com>
30601
30602 * term/i386/pc/console.c (bios_data_area): Cast
30603 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30604
e7c69859 306052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30606
30607 1-bit optimised blitters.
30608
30609 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30610 prototype.
30611 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30612 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30613 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30614 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30615 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30616 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30617 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30618 function.
30619 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30620 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30621 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30622 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30623 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30624 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30625 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30626 when possible.
30627 * video/video.c (grub_video_get_blit_format): Return
30628 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30629
a57da43f 306302009-08-28 Colin Watson <cjwatson@ubuntu.com>
30631
30632 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30633 the first argument to grub_printf.
30634
4cbe67e5 306352009-08-28 Colin Watson <cjwatson@ubuntu.com>
306362009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30637
30638 Add `getkeystatus' terminal method. Add a new `keystatus' command
30639 to query it.
30640
30641 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30642 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30643 modifier key bitmasks.
30644 (struct grub_term_input): Add `getkeystatus' member.
30645 (grub_getkeystatus): Add prototype.
30646 * kern/term.c (grub_getkeystatus): New function.
30647
30648 * include/grub/i386/pc/memory.h
30649 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30650 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30651 Data Area layout.
30652 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30653 (grub_console_term_input): Set `getkeystatus' member.
30654 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30655 constants.
30656 (grub_usb_keyboard_getreport): Likewise.
30657 (grub_usb_keyboard_checkkey): Likewise.
30658 (grub_usb_keyboard_getkeystatus): New function.
30659 (grub_usb_keyboard_term): Set `getkeystatus' member.
30660
30661 * commands/keystatus.c: New file.
30662 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30663 (keystatus_mod_SOURCES): New variable.
30664 (keystatus_mod_CFLAGS): Likewise.
30665 (keystatus_mod_LDFLAGS): Likewise.
30666 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30667 commands/keystatus.c.
30668 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30669 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30670 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30672 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30673 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 30674
6e2a9085 306752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30676
30677 Split befs.mod and afs.mod into *_be.mod and *.mod
30678
30679 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30680 (grub_fstest_SOURCES): Likewise.
30681 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30682 (afs_be_mod_SOURCES): New variable.
30683 (afs_be_mod_CFLAGS): Likewise.
30684 (afs_be_mod_LDFLAGS): Likewise.
30685 (befs_be_mod_SOURCES): Likewise.
30686 (befs_be_mod_CFLAGS): Likewise.
30687 (befs_be_mod_LDFLAGS): Likewise.
30688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30689 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30690 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30691 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30692 (grub_emu_SOURCES): Likewise.
30693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30694 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30695 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30696 * fs/afs_be.c: New file.
30697 * fs/befs_be.c: New file.
30698 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30699 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30700 (U16): Replaced with ...
30701 (grub_afs_to_cpu16): ...this. All users updated.
30702 (U32): Replaced with ...
30703 (grub_afs_to_cpu32): ...this. All users updated.
30704 (U64): Replaced with ...
30705 (grub_afs_to_cpu64): ...this. All users updated.
30706 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30707 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 30708 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 30709 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30710 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30711 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30712 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30713 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30714 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30715 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30716 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30717
32a71655 307182009-08-26 Bean <bean123ch@gmail.com>
30719
30720 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30721 64-bit number.
30722 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30723 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30724 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30725
552bf6c5 307262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30727
30728 NetBSD memory map support.
30729
30730 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30731 (grub_netbsd_btinfo_mmap_header): New structure.
30732 (grub_netbsd_btinfo_mmap_entry): Likewise.
30733 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30734
1ae2078c 307352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30736
30737 Enable bsd.mod on coreboot.
30738
30739 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30740 (bsd_mod_SOURCES): New variable.
30741 (bsd_mod_CFLAGS): Likewise.
30742 (bsd_mod_LDFLAGS): Likewise.
30743 (bsd_mod_ASFLAGS): Likewise.
30744 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30745 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30746
beefc598 307472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30748
30749 Cleanup NetBSD root support.
30750
30751 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30752 grub_bsd_get_device.
30753 Fix typo.
30754
3b76e68b 307552009-08-25 Felix Zielcke <fzielcke@z-51.de>
30756
30757 * util/grub.d/00_header.in: Move check for the video backend of
30758 gfxterm from here ...
30759 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30760 a suitable video backend.
30761
aea664ea 307622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30763
30764 Fix breakage in grub-setup.
30765
30766 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30767 "msdos_partition_map".
30768
ff747d50 307692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30770
30771 Fix breakage in normal/auth.c.
30772
30773 * normal/auth.c (grub_iswordseparator): New function.
30774
e7e1f93f 307752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30776
30777 Authentication support.
30778
30779 * commands/password.c: New file.
30780 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30781 (password_mod_SOURCES): New variable.
30782 (password_mod_CFLAGS): Likewise.
30783 (password_mod_LDFLAGS): Likewise.
30784 (normal_mod_SOURCES): Add normal/auth.c.
30785 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30786 normal/auth.c.
30787 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30788 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30789 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30791 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30792 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30793 * include/grub/auth.h: New file.
30794 * include/grub/err.h (grub_err_t): New enum value
30795 GRUB_ERR_ACCESS_DENIED.
30796 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30797 'users'.
30798 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30799 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30800 users updated.
30801 * normal/auth.c: New file.
30802 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30803 (grub_cmdline_run): Don't allow to go to command line without
30804 authentication.
30805 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30806 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30807 menuentry without superuser rights.
30808 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30809 user isn't a superuser.
30810
70f1161d 308112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30812
30813 Save space by inlining misc.c functions.
30814
30815 * kern/misc.c (grub_iswordseparator): Made static.
30816 * kern/misc.c (grub_strcat): Moved from here ...
30817 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30818 * kern/misc.c (grub_strncat): Moved from here ...
30819 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30820 * kern/misc.c (grub_strcasecmp): Moved from here ...
30821 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30822 * kern/misc.c (grub_strncasecmp): Moved from here ...
30823 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30824 * kern/misc.c (grub_isalpha): Moved from here ...
30825 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30826 * kern/misc.c (grub_isdigit): Moved from here ...
30827 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30828 * kern/misc.c (grub_isgraph): Moved from here ...
30829 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30830 * kern/misc.c (grub_tolower): Moved from here ...
30831 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30832
48e40bff 308332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30834
30835 * script/sh/function.c (grub_script_function_find): Cut error message
30836 not to flood terminal.
30837 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30838 limit.
30839 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30840
c385bfc3 308412009-08-24 Colin Watson <cjwatson@ubuntu.com>
30842
30843 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30844 `report' grub_uint8_t *.
30845 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30846 Use a 50-millisecond timeout rather than just repeating
30847 grub_usb_keyboard_getreport 50 times.
30848 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30849
2d21e3e8 308502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30851
30852 Rename *_partition_map to part_*
30853
30854 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30855 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30856 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30857 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30858 All users updated.
30859 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30860 All users updated.
30861 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30862 * util/grub-probe.c (probe_partmap): Don't transform partition name
30863 to get module name.
30864
dd103c4e 308652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30866
30867 Fix OpenBSD and NetBSD support.
30868
30869 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30870 memory address conflict.
30871 (OPENBSD_MMAP_ACPI): New definition.
30872 (OPENBSD_MMAP_NVS): Likewise.
30873 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30874 and OPENBSD_MMAP_NVS.
30875 Add memory map terminator
30876 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30877 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30878
16c84d74 308792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30880
30881 Let user specify NetBSD root device.
30882
30883 * loader/i386/bsd.c (netbsd_root): New variable.
30884 (netbsd_opts): New option 'root'.
30885 (NETBSD_ROOT_ARG): New macro.
30886 (grub_netbsd_boot): Use 'netbsd_root'.
30887 (grub_bsd_unload): Free 'netbsd_root'.
30888 (grub_cmd_netbsd): Fill 'netbsd_root'.
30889
adb29902 308902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30891
30892 Support for 64-bit NetBSD.
30893
30894 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30895 point when booting non-FreeBSD.
30896
f5ae9f74 308972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30898
30899 Support --no-smp and --no-acpi for NetBSD.
30900
30901 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30902 (NETBSD_AB_NOACPI): Likewise.
30903 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30904 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30905
de74f136 309062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30907
30908 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30909 errors.
30910 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30911 errors. Call grub_error when needed.
30912
e9a925da 309132009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30914
30915 * commands/search.c (search_fs): Try searching without autoload first.
30916 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30917 filesystem module explicitly for faster booting.
30918
5174302b 309192009-08-23 Colin Watson <cjwatson@ubuntu.com>
30920
30921 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30922
c8c80635 309232009-08-23 Colin Watson <cjwatson@ubuntu.com>
30924
30925 * util/grub.d/30_os-prober.in: Disable os-prober if
30926 `GRUB_DISABLE_OS_PROBER' was set to true.
30927
71acf5e5 309282009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 * partmap/pc.c: Rename to ...
30931 * partmap/msdos.c: ... this. Update all users.
30932 (grub_pc_partition_map): Rename to ...
30933 (grub_msdos_partition_map): ... this. Update all users.
30934
30935 * parttool/pcpart.c: Rename to ...
30936 * parttool/msdospart.c: ... this. Update all users.
30937
30938 * include/grub/pc_partition.h: Rename to ...
30939 * include/grub/msdos_partition.h: ... this. Update all users.
30940 (grub_pc_partition_bsd_entry): Rename to ...
30941 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30942 (grub_pc_partition_disk_label): Rename to ...
30943 (grub_msdos_partition_disk_label): ... this. Update all users.
30944 (grub_pc_partition_entry): Rename to ...
30945 (grub_msdos_partition_entry): ... this. Update all users.
30946 (grub_pc_partition_mbr): Rename to ...
30947 (grub_msdos_partition_mbr): ... this. Update all users.
30948 (grub_pc_partition): Rename to ...
30949 (grub_msdos_partition): ... this. Update all users.
30950 (grub_pc_partition_is_empty): Rename to ...
30951 (grub_msdos_partition_is_empty): ... this. Update all users.
30952 (grub_pc_partition_is_extended): Rename to ...
30953 (grub_msdos_partition_is_extended): ... this. Update all users.
30954 (grub_pc_partition_is_bsd): Rename to ...
30955 (grub_msdos_partition_is_bsd): ... this. Update all users.
30956
30957 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30958 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30959 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30960 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30961 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30962 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30963 (gpt_mod_LDFLAGS): Rename to ...
30964 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30965 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30966 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30967 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30968 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30969 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30970 (part_gpt_mod_LDFLAGS): ... this.
30971 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30972 `pcpart.mod' to `msdospart.mod'.
30973 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30974 to ...
30975 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30976 (msdospart_mod_LDFLAGS): ... this.
30977
c11fded5 309782009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30979
30980 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30981 (openbsd_opts): Likewise.
30982 (netbsd_opts): Likewise.
30983 (freebsd_flags): Added 0 terminator.
30984 (openbsd_flags): Likewise.
30985 (netbsd_flags): Likewise.
30986 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30987 (grub_cmd_freebsd): Transformed into extended command.
30988 (grub_cmd_openbsd): Likewise.
30989 (grub_cmd_netbsd): Likewise.
30990 (cmd_freebsd): Changed type to grub_extcmd_t.
30991 (cmd_openbsd): Likewise.
30992 (cmd_netbsd): Likewise.
30993 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30994 grub_cmd_openbsd as extended commands.
30995 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30996 cmd_netbsd and cmd_openbsd
30997
11d1c769 309982009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30999
31000 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31001
7a9094e5 310022009-08-21 Pavel Roskin <proski@gnu.org>
31003
5496c37e 31004 * Makefile.in (install-local): When checking if a file is in the
31005 build directory, use "test -e" to detect symlinks.
31006
7a9094e5 31007 * Makefile.in (install-local): Remove all files in
31008 $(DESTDIR)$(pkglibdir) before installing new files there.
31009
e53cea11 310102009-08-18 Felix Zielcke <fzielcke@z-51.de>
31011
31012 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31013 grub-mkelfimage.
31014
9aced544 310152009-08-18 Felix Zielcke <fzielcke@z-51.de>
31016
31017 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31018 explicitly specified by the user.
31019
b7da6bab 310202009-08-18 Pavel Roskin <proski@gnu.org>
31021
31022 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31023 grub_uint8_t pointer for data.
31024 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31025 Likewise.
31026 * video/fb/fbutil.c: Remove unnecessary casts.
31027
19f1b335 310282009-08-17 Michal Suchanek <hramrach@centrum.cz>
31029
31030 VBE cleanup.
31031
31032 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31033 (grub_vbe_set_video_mode): Save active mode info
31034 only after setting the mode.
31035 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31036 second argument.
31037
2f467aa9 310382009-08-17 Michal Suchanek <hramrach@centrum.cz>
31039
31040 Rename variables for clarity.
31041
31042 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31043 (active_vbe_mode_info): ... this. All users updated.
31044 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31045 All users updated.
31046 (initial_mode): Rename to ...
31047 (initial_vbe_mode): ... this. All users updated.
31048 (mode_in_use): Rename to ..
31049 (vbe_mode_in_use): ... this. All users updated.
31050 (mode_list): Rename to ..
31051 (vbe_mode_list): ... this. All users updated.
31052 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31053 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31054 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31055 'mode_list_size' to 'vbe_mode_list_size'.
31056 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31057 'best_mode_info' to 'best_vbe_mode_info' and
31058 'best_mode' to 'best_vbe_mode'
31059
6025fcd7 310602009-08-17 Michal Suchanek <hramrach@centrum.cz>
31061
31062 Remove duplicate grub_video_fb_get_video_ptr.
31063
31064 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31065 (grub_video_fb_get_video_ptr): ... this.
31066 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31067 * video/fb/fbutil.c: Add comment about addressing.
31068 (get_data_ptr): Rename to ...
31069 (grub_video_fb_get_video_ptr): ... this. All users updated.
31070 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31071
cc8c6faf 310722009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31073
31074 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31075 grub_dprintf() that was just added.
31076
08aa61f0 310772009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31078
31079 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31080 (DEFAULT_VIDEO_MODE): Remove macros.
31081 (grub_linux_boot): Remove assumption that Linux has FB support,
31082 and use "text" as default video mode.
31083
7cef4f75 310842009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31085
31086 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31087 grub_dprintf.
31088 * fs/fat.c (grub_fat_read_data): Likewise.
31089
e1f39873 310902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31091
31092 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31093 payload.
31094 (grub_module): Likewise.
31095
c166d79e 310962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31097
31098 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31099 mbi->cmdline but free playground.
31100
c60cee8e 311012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31102
31103 Handle group offset on UFS1.
31104
31105 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31106 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31107
c0d8b5d4 311082009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31109
31110 Split ufs.mod into ufs1.mod and ufs2.mod.
31111
31112 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31113 (grub_fstest_SOURCES): Likewise.
31114 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31115 (ufs_mod_SOURCES): Remove.
31116 (ufs_mod_CFLAGS): Likewise.
31117 (ufs_mod_LDFLAGS): Likewise.
31118 (ufs1_mod_SOURCES): New variable.
31119 (ufs1_mod_CFLAGS): Likewise.
31120 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31121 (ufs2_mod_SOURCES): New variable.
31122 (ufs2_mod_CFLAGS): Likewise.
31123 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31124 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31125 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31126 Likewise.
31127 (grub_emu_SOURCES): Likewise.
31128 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31129 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31130 (grub_setup_SOURCES): Likewise.
31131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31132 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31133 (grub_setup_SOURCES): Likewise.
31134 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31135 Likewise.
31136 * fs/ufs2.c: New file.
31137 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31138
d3539132 311392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31140
31141 Framebuffer split.
31142
31143 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31144 subsystem at the end.
31145 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31146 (video_fb_mod_SOURCES): New variable.
31147 (video_fb_mod_CFLAGS): Likewise.
31148 (video_fb_mod_LDFLAGS): Likewise.
31149 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31150 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31151 * video/i386/pc/vbeblit.c: Moved from here ...
31152 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31153 * video/i386/pc/vbefill.c: Moved from here ...
31154 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31155 * video/i386/pc/vbeutil.c: Moved from here ...
31156 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31157 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31158 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31159 * include/grub/i386/pc/vbefill.h: Moved from here ...
31160 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31161 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31162 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31163 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31164 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31165 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31166 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31167 (grub_video_adapter): Added 'get_info_and_fini'.
31168 (grub_video_get_info_and_fini): New prototype.
31169 (grub_video_set_mode): make modestring const char *.
31170 * loader/i386/linux.c (grub_linux_setup_video): Use
31171 grub_video_get_info_and_fini.
31172 (grub_linux_boot): Move modesetting just before booting.
31173 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31174 grub_video_get_info_and_fini.
31175 * video/i386/pc/vbe.c: Moved framebuffer part ...
31176 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31177 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31178 grub_video_fbstd_colors and grub_video_fb_set_palette.
31179 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31180 grub_video_fb_init.
31181 (grub_video_vbe_fini): Use grub_video_fb_fini.
31182 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31183 render_target and use grub_video_fb_set_active_render_target and
31184 grub_video_fb_set_palette.
31185 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31186 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31187 (grub_video_vbe_adapter): Use framebuffer.
31188 * video/video.c (grub_video_get_info_and_fini): New function.
31189 (grub_video_set_mode): Make modestring const char *.
31190 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31191 values are already initialised.
31192
d404ee56 311932009-08-14 Pavel Roskin <proski@gnu.org>
31194
31195 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31196 ABS and APPLE_CC.
31197 * boot/i386/pc/diskboot.S: Likewise.
31198 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31199 sectors allow compilation on MacOSX.
31200 * conf/i386-pc.rmk: Enable unconditional compilation of
31201 lnxboot.img.
31202
9a10df16 312032009-08-13 Colin Watson <cjwatson@ubuntu.com>
31204
31205 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31206 * util/grub.d/00_header.in: Enter interruptible sleep if
31207 GRUB_HIDDEN_TIMEOUT is set.
31208
be3c9ca7 312092009-08-13 Yves Blusseau <blusseau@zetam.org>
31210
31211 * include/grub/symbol.h: Add the LOCAL macro.
31212 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31213 starting with "L_".
31214
1f9e557e 312152009-08-13 Pavel Roskin <proski@gnu.org>
31216
9ca62843 31217 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31218 any modern compilers we support.
31219
1f9e557e 31220 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31221 Use local labels starting with "L_" so that Apple assembler
31222 knows they are local.
31223
81623db6 312242009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31225
31226 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31227 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31228 (bsd_kernel_types): ... this enum.
31229
31230 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31231 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31232 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31233
31234 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31235 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31236 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31237 messages.
31238
f5d35e7a 312392009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31240
31241 * util/grub-dumpdevtree: Moved from here ...
31242 * util/i386/efi/grub-dumpdevtree: ... to here.
31243 (hexify): New function. Converts a string to its hex version.
31244 Generate hex versions of "efi" and "device-properties" by calling
31245 hexify() on the ASCII strings rather than by hardcoding numbers.
31246
d1e1d527 312472009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31248
31249 * fs/jfs.c: Update copyright year.
31250
1ebbe064 312512009-08-08 Felix Zielcke <fzielcke@z-51.de>
31252
31253 * util/grub.d/00_header.in: Fix a comment.
31254 * util/grub.d/10_linux.in: Likewise.
31255 * util/grub.d/10_windows.in: Likewise.
31256 * util/grub.d/10_hurd.in: Likewise.
31257
a78c8d24 312582009-08-08 Felix Zielcke <fzielcke@z-51.de>
31259
31260 * util/grub-mkconfig.in: Allow the user to specify the used font
31261 with GRUB_FONT.
31262
29a6b9e8 312632009-08-08 Pavel Roskin <proski@gnu.org>
31264
b5f16cc4 31265 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31266 available, xfs.mod needs it now.
31267
2f5cb827 31268 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31269 the "g" modifier in sed when the intention is to strip something
31270 once. This fixes comparison of kernels with multiple dashes.
31271
29a6b9e8 31272 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31273 on it. Add missing space before closing bracket. Fix
31274 misleading formatting.
31275
892a3d98 312762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31277
31278 * docs/grub.texi: Major overhaul. Remove all sections that are
31279 specific to GRUB Legacy, or mostly composed of Legacy-specific
31280 information.
31281
ed94253f 312822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31283
31284 * docs/version.texi: New file. Provides version information for
31285 grub.texi.
31286
126d6628 312872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31288
31289 * docs/grub.texi: Update CVS information to SVN.
31290 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31291
998b5aa9 312922009-08-07 Felix Zielcke <fzielcke@z-51.de>
31293
31294 * util/grub-mkconfig.in: Remove a wrong `fi'.
31295
818e094a 312962009-08-07 Felix Zielcke <fzielcke@z-51.de>
31297
31298 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31299 (grub_jfs_uuid): New function.
31300 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31301
b969c52f 313022009-08-07 Felix Zielcke <fzielcke@z-51.de>
31303
31304 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31305 of it to ...
31306 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31307 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31308
7a4894cc 313092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31310
31311 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31312 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31313 Update all users.
31314
31315 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31316 not just "vmlinu[zx]".
31317 Moved from here ...
31318 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31319 all users.
31320
31321 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31322 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31323 all users.
31324
4e2171f8 313252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31326
31327 * util/grub.d/10_freebsd.in: Use an absolute device path for
31328 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31329
6dcfcb32 313302009-08-06 Felix Zielcke <fzielcke@z-51.de>
31331
31332 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31333 handling of multiple abstraction modules.
31334
f56a8756 313352009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31336
31337 Fix a bug resulting in black screen when loading Linux using a
31338 packed video mode.
31339
31340 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31341 function.
31342
31343 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31344 (grub_vbe_bios_getset_dac_palette_width): New function.
31345 (grub_vbe_bios_get_dac_palette_width)
31346 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31347 grub_vbe_bios_getset_dac_palette_width()).
31348
31349 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31350 check for return status.
31351 (grub_vbe_get_video_mode_info): When getting information for a packed
31352 mode (<= 8 bpp), obtain DAC palette width using
31353 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31354 {red,green,blue}_mark_size.
31355
222671b2 313562009-08-04 Felix Zielcke <fzielcke@z-51.de>
31357
ecb1a6d9 31358 * commands/search.c (options): Fix help output to match actual code.
222671b2 31359
f84114f5 313602009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31361
31362 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31363 of homegrown code.
31364
bd288a20 313652009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31366
31367 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31368 on XFS or ReiserFS.
31369
8aab5e25 313702009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31371
31372 Support Apple partition map with sector size different from 512 bytes.
31373
31374 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31375 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31376 and 'apart.partmap_size'.
31377
6ad6258a 313782009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
313792009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31380
31381 Fix cpuid command.
31382
31383 * commands/i386/cpuid.c (options): New variable.
31384 (grub_cmd_cpuid): Return real error.
31385 (GRUB_MOD_INIT(cpuid)): Declare options.
31386
67459bc6 313872009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31388
31389 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31390 valid.
31391
fbc6ab54 313922009-07-31 Bean <bean123ch@gmail.com>
31393
31394 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31395 log2_inode.
31396 (grub_fshelp_node): Move inode field to the end.
31397 (grub_xfs_data): Remove inode field.
31398 (grub_xfs_inode_block): Calculate inode size using sblock.
31399 (grub_xfs_inode_offset): Likewise.
31400 (grub_xfs_read_inode): Calculate inode size using sblock.
31401 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31402 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31403 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31404 to match inode size.
31405 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31406 not accessible when data is null.
31407 (grub_xfs_open): Likewise.
31408
f45d6cfc 314092009-07-31 Bean <bean123ch@gmail.com>
31410
31411 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31412 Don't change pv->disk if it's already set.
31413
31414 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31415 (grub_raid_register): ... here.
31416 (grub_raid_rescan): Removed.
31417
31418 * include/grub/raid.h (grub_raid_rescan): Removed.
31419
31420 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31421 (fstest): Replace grub_raid_rescan with module fini function followed
31422 by init function.
31423
31424 * util/grub-probe.c: Add include file <grub/raid.h>.
31425 (probe_raid_level): New function.
31426 (probe): Detect abstraction by walking the disk device, support two
31427 level of abstraction (LVM on RAID) when detecting partition map.
31428
24443b5a 314292009-07-31 Pavel Roskin <proski@gnu.org>
31430
31431 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31432 to grub_zalloc(), it was erroneous.
31433 Reported by Bean <bean123ch@gmail.com>
31434
a275d9e7 314352009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31436
31437 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31438 embedding zone, not only the first one.
a275d9e7 31439
56c5a47f 314402009-07-29 Joe Auricchio <jauricchio@gmail.com>
31441
31442 * term/gfxterm.c (clear_char): New function.
31443 (grub_virtual_screen_setup): Use clear_char.
31444 (scroll_up): Likewise.
31445 (grub_virtual_screen_cls): Likewise.
31446
67bb323a 314472009-07-29 Felix Zielcke <fzielcke@z-51.de>
31448
31449 * util/deviceiter.c (get_acceleraid_disk_name): New static
31450 function.
31451 (grub_util_iterate_devices): Handle Accelraid devices.
31452 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31453
388a7c75 314542009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31455
31456 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31457 separator for the suggested gfxpayload string (';' collides with the
31458 parser and needs escaping).
31459
3bb7abcf 314602009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31461
31462 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31463 Clear direction flag before jumping to OS.
31464 (grub_multiboot2_real_boot): Likewise.
31465
2ddd36d7 314662009-07-28 Felix Zielcke <fzielcke@z-51.de>
31467
31468 * util/i386/pc/grub-install: Fix parsing of --disk-module
31469 option.
31470
c521b62b 314712009-07-28 Felix Zielcke <fzielcke@z-51.de>
31472
31473 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31474 when embedding.
31475
880e0a0c 314762009-07-26 Felix Zielcke <fzielcke@z-51.de>
31477
31478 * util/grub-mkconfig.in (package_version): New variable.
31479 Use it do display the version.
31480
2366e356 314812009-07-25 Felix Zielcke <fzielcke@z-51.de>
31482
31483 * kern/file.c (grub_file_open): Revert to previous check with
31484 grub_errno.
31485
7ad8c80e 314862009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31487
31488 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31489 from help line. It's out of sync with code.
31490
72b9658b 314912009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31492
31493 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31494 entries on failed boot.
31495
77435277 314962009-07-25 Felix Zielcke <fzielcke@z-51.de>
31497
31498 * kern/file.c (grub_file_open): Fix an error check.
31499
fcaa8b21 315002009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31501
35d16c74 31502 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31503 partition map couldn't be identified.
fcaa8b21 31504
48904cd1 315052009-07-23 Pavel Roskin <proski@gnu.org>
31506
ef3c317f 31507 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31508 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31509 case of little endian words becomes just an optimization.
31510 Respect const modifier.
ad8ea1f4 31511 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31512
48904cd1 31513 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31514 to avoid loss of upper bits if align is unsigned and shorter
31515 than addr.
31516
260c9a89 315172009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31518
31519 UUID support for UFS
31520
31521 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31522 (grub_ufs_uuid): New function.
31523 (grub_ufs_fs): add .uuid
31524
f76ce889 315252009-07-21 Pavel Roskin <proski@gnu.org>
31526
31527 * kern/dl.c (grub_dl_check_header): Make static.
31528
6a6cbcaf 315292009-07-21 Felix Zielcke <fzielcke@z-51.de>
31530
31531 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31532 add drivemap for Vista. It breaks Windows 7.
31533
cffcddb2 315342009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31535
31536 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31537 128 bytes
31538
1ef44b80 315392009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31540
31541 Add BFS support
31542
31543 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31544 (grub_fstest_SOURCES): Likewise.
31545 (pkglib_MODULES): Add befs.mod.
31546 (befs_mod_SOURCES): New variable.
31547 (befs_mod_CFLAGS): Likewise.
31548 (befs_mod_LDFLAGS): Likewise.
31549 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31550 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31551 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31552 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31553 (grub_setup_SOURCES): Likewise.
31554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31555 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31556 (grub_setup_SOURCES): Likewise.
31557 * fs/befs.c: New file.
31558 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31559 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31560 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31561 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31562 (B_KEY_INDEX_ALIGN): New declaration.
31563 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31564 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31565 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31566 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31567 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31568 (grub_afs_mount) [MODE_BFS]: Likewise.
31569 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31570 (grub_afs_fs): Use GRUB_AFS_FSNAME
31571 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31572 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31573 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31574 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31575
4f253044 315762009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31577
31578 * util/getroot.c (find_root_device): Add support for MacOSX.
31579 * util/hostdisk.c: Likewise.
31580
57a55913 315812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31582
31583 * font/font.c (find_glyph): Check whether a font is present to avoid
31584 segmentation fault.
75421ca9 31585
315862009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31587
31588 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31589
e98cd0c2 315902009-07-20 Pavel Roskin <proski@gnu.org>
31591
31592 * configure.ac: Trim excessively wordy excuses.
31593
1d2d169a 315942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31595
31596 Add symlink, mtime and label support to AtheFS.
31597
31598 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31599 (grub_afs_iterate_dir): Handle symlinks.
31600 (grub_afs_open): Use grub_afs_read_symlink.
31601 (grub_afs_dir): Likewise.
31602 Pass mtime.
31603 (grub_afs_label): New function.
31604 (grub_afs_fs): Add grub_afs_label.
31605 (grub_afs_read_symlink): New function.
31606
186f3189 316072009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31608
31609 Fix AtheFS support.
31610
31611 * fs/afs.c: Fix comments style.
31612 (grub_afs_blockrun): Declare as packed.
31613 (grub_afs_datastream): Likewise.
31614 (grub_afs_bnode): Likewise.
31615 (grub_afs_btree): Likewise.
31616 (grub_afs_sblock): Likewise.
31617 Declare `name' as char.
31618 (grub_afs_inode): Declare as packed.
31619 Change void *vnode to grub_uint32_t unused.
31620 (grub_afs_iterate_dir): Check that key_size is positive.
31621 (grub_afs_mount): Don't read superblock twice.
75421ca9 31622 (grub_afs_dir): Don't free node in case of error,
186f3189 31623 grub_fshelp_find_file already handles this.
31624 (grub_afs_open): Likewise.
31625
5680109e 316262009-07-19 Pavel Roskin <proski@gnu.org>
31627
31628 * Makefile.in: Remove LIBLZO and enable_lzo.
31629 * conf/i386-pc.rmk: Remove lzo support.
31630 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31631 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31632 support.
31633 * kern/i386/pc/lzo1x.S: Remove.
31634 * kern/i386/pc/startup.S: Remove lzo support.
31635 * util/i386/pc/grub-mkimage.c: Likewise.
31636
ac70fa32 316372009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31638
31639 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31640 * fs/xfs.c (grub_xfs_dir): Likewise.
31641 * fs/afs.c (grub_afs_dir): Likewise.
31642 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31643 (grub_iso9660_open): Likewise.
31644 * fs/jfs.c (grub_jfs_open): Likewise.
31645 * fs/ext2.c (grub_ext2_dir): Likewise.
31646 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31647 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31648
eab58da2 316492009-07-16 Pavel Roskin <proski@gnu.org>
31650
d2838156 31651 * configure.ac: Never add "-c" to CFLAGS.
31652
55c70904 31653 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31654
43e6200c 31655 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31656 grub_cv_cc_efiemu should be used.
31657
ce7a733d 31658 * configure.ac: Typo fixes.
31659
eab58da2 31660 * kern/mm.c (grub_zalloc): New function.
31661 (grub_debug_zalloc): Likewise.
31662 * include/grub/mm.h: Declare grub_zalloc() and
31663 grub_debug_zalloc().
31664 * util/misc.c (grub_zalloc): New function.
31665 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31666 instead of grub_malloc(), remove unneeded initializations.
31667 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31668 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31669 * commands/parttool.c (grub_cmd_parttool): Likewise.
31670 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31671 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31672 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31673 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31674 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31675 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31676 (grub_cmd_efiemu_pnvram): Likewise.
31677 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31678 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31679 (grub_iso9660_iterate_dir): Likewise.
31680 * fs/jfs.c (grub_jfs_opendir): Likewise.
31681 * fs/ntfs.c (list_file): Likewise.
31682 (grub_ntfs_mount): Likewise.
31683 * kern/disk.c (grub_disk_open): Likewise.
31684 * kern/dl.c (grub_dl_load_core): Likewise.
31685 * kern/elf.c (grub_elf_file): Likewise.
31686 * kern/env.c (grub_env_context_open): Likewise.
31687 (grub_env_set): Likewise.
31688 (grub_env_set_data_slot): Likewise.
31689 * kern/file.c (grub_file_open): Likewise.
31690 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31691 * loader/i386/multiboot.c (grub_module): Likewise.
31692 * loader/xnu.c (grub_xnu_create_key): Likewise.
31693 (grub_xnu_create_value): Likewise.
31694 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31695 (read_config_file): Likewise.
31696 * normal/menu_entry.c (make_screen): Likewise.
31697 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31698 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31699 * script/sh/script.c (grub_script_parse): Likewise.
31700 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31701 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31702 * video/readers/png.c (grub_png_output_byte): Likewise.
31703 (grub_video_reader_png): Likewise.
31704
830afef7 317052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 31706
31707 Enable all targets that can be built by default
31708
830afef7 31709 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 31710 grub-mkfont and grub-fstest if they can be built
31711
ee293aee 317122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31713
31714 Fix hang and segmentation fault in grub-emu-usb
31715
31716 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31717 * util/usb.c (grub_libusb_devices): likewise
31718 (grub_libusb_init): rename to ...
31719 (GRUB_MOD_INIT (libusb)):...this
31720 (grub_libusb_fini): rename to ..
31721 (GRUB_MOD_FINI (libusb)):...this
31722 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31723 * include/grub/disk.h (grub_raid_init): removed, it's useless
31724 (grub_raid_fini): likewise
31725 (grub_lvm_init): likewise
31726 (grub_lvm_fini): likewise
31727 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31728 by grub_init_all
31729
94414221 317302009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31731
31732 Fix libusb
31733
31734 * Makefile.in (LIBUSB): new macro
31735 * genmk.rb (Utility/print_tail): new method
31736 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31737 (top level): call util.print_tail at the end.
31738
59ade63d 317392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31740
31741 Make FreeBSD accept zpool.cache
31742
31743 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31744 type is /boot/zfs/zpool.cache
31745
a58da8c7 317462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31747
31748 Fix 64-bit efiemu
31749
31750 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31751 correct wrong typedef
31752 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31753
20591577 317542009-07-15 Pavel Roskin <proski@gnu.org>
31755
560ca572 31756 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31757 * kern/disk.c (struct grub_disk_cache): Likewise.
31758
e8e8e4fd 31759 * commands/probe.c (options): Typo fix.
31760
fde24e10 31761 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31762 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31763 accordingly.
31764 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31765
379c54c1 31766 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31767 the end of "Error" to make the message more readable.
31768
7bd8f5bf 31769 * boot/i386/pc/boot.S (kernel_segment): Remove.
31770 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31771 for destination.
31772
40b132c5 31773 * boot/i386/pc/boot.S (boot_version): Remove.
31774 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31775 Remove.
31776
20591577 31777 * include/grub/i386/pc/boot.h: Sort all offsets.
31778 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31779 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31780 * boot/i386/pc/boot.S: Assert location of every offset listed in
31781 include/grub/i386/pc/boot.h.
31782
2df32b2c 317832009-07-13 Pavel Roskin <proski@gnu.org>
31784
44b5d879 31785 * include/grub/i386/coreboot/machine.h: Rename
31786 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31787 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31788 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31789
17dc3751 31790 * kern/dl.c: Force native word size to suppress warnings when
31791 compiling grub-emu.
31792
2df32b2c 31793 * kern/device.c (grub_device_iterate): Change struct part_ent to
31794 hold the name, not a pointer to it. Use one grub_malloc() per
31795 partition, not two. Free partition_name if grub_malloc() fails.
31796 Set ents to NULL only before grub_partition_iterate() is called.
31797
75c59f59 317982009-07-11 Bean <bean123ch@gmail.com>
31799
31800 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31801 childname.
31802
0ae1bf88 318032009-07-10 Bean <bean123ch@gmail.com>
318042009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31805
31806 * kern/ieee1275/openfw.c (grub_children_iterate)
31807 (grub_devalias_iterate): Fix size evaluation for property or path
31808 strings, which was broken since r2132.
31809
8279cade 318102009-07-07 Pavel Roskin <proski@gnu.org>
31811
7d8a52d3 31812 * commands/search.c (search_file): Merge into ...
31813 (search_fs): ... this. Accept search type as argument.
31814 (grub_cmd_search): Pass search type to search_fs().
31815
25f9a05a 31816 * include/grub/util/console.h: New file.
31817 * util/console.c: Use it instead of grub/machine/console.h.
31818 * util/grub-emu.c: Likewise.
31819
8279cade 31820 * lib/arg.c (find_long_option): Remove.
31821 (find_long): Add `len' argument, make `s' const char *.
31822 (grub_arg_parse): Parse long options in place, not in a
31823 temporary buffer.
31824
4a11b60f 318252009-07-06 Pavel Roskin <proski@gnu.org>
31826
99f68041 31827 * commands/search.c (search_fs): Fix potential NULL pointer
31828 dereference.
31829
4a11b60f 31830 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31831 function pointer.
31832
e110f4de 318332009-07-06 Daniel Mierswa <impulze@impulze.org>
31834
31835 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31836 comparison.
31837
46eeb6a2 318382009-07-05 Pavel Roskin <proski@gnu.org>
31839
bab74958 31840 * include/grub/i386/linux.h (struct linux_kernel_params):
31841 Restore padding3, it's still needed.
31842
46eeb6a2 31843 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31844 FreeBSD.
31845 * util/osdetect.lua: Likewise.
31846
b4a1dc79 318472009-07-05 Bean <bean123ch@gmail.com>
31848
31849 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31850
31851 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31852 (grub_lua_getenv): Likewise.
31853 (grub_lua_setenv): Likewise.
31854 (save_errno): New function.
31855 (push_result): Likewise.
31856 (grub_lua_enum_device): Likewise.
31857 (grub_lua_enum_file): Likewise.
31858 (grub_lua_file_open): Likewise.
31859 (grub_lua_file_close): Likewise.
31860 (grub_lua_file_seek): Likewise.
31861 (grub_lua_file_read): Likewise.
31862 (grub_lua_file_getline): Likewise.
31863 (grub_lua_file_getsize): Likewise.
31864 (grub_lua_file_getpos): Likewise.
31865 (grub_lua_file_eof): Likewise.
31866 (grub_lua_file_exist): Likewise.
31867 (grub_lua_add_menu): Likewise.
31868
31869 * script/lua/grub_lua.h (isupper): New inline function.
31870 (islower): Likewise.
31871 (ispunct): Likewise.
31872 (isxdigit): Likewise.
31873 (strcspn): Change to normal function.
31874 (strpbkr): New function declaration.
31875 (memchr): Likewise.
31876
31877 * script/lua/grub_main.c (scan_str): New function.
31878 (strcspn): Likewise.
31879 (strpbrk): Likewise.
31880 (memchr): Likewise.
31881
31882 * script/lua/linit.c (lualibs): Enable the string library.
31883
31884 * util/osdetect.lua: New file.
31885
2da92295 318862009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31887
31888 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31889 `capabilities' member.
31890
b2582ec9 318912009-07-02 Pavel Roskin <proski@gnu.org>
31892
31893 * genparttoollist.sh: Add missing newline at the end.
31894
32622956 318952009-07-01 Pavel Roskin <proski@gnu.org>
31896
87a7339e 31897 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31898
d23af54e 31899 * util/hostdisk.c (open_device): Remove `const' from
31900 `sysctl_size', as sysctlbyname() can change it (in this case it
31901 doesn't actually happen).
31902
c94b18a9 31903 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31904 using signed long int constants.
31905
c6cd3ef0 31906 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31907 constant to avoid a warning on FreeBSD.
31908
0df63420 31909 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31910 where it's needed.
31911
999577f1 31912 * Makefile.in: Install include/grub/machine symlink.
31913
6f41557f 31914 * Makefile.in: When installing symlinks, use "cp -fR", which
31915 works on FreeBSD and MacOSX.
31916 From Yves Blusseau <cl7m42e02@sneakemail.com>
31917
c8d22988 31918 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31919 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31920
1b96e952 31921 * util/misc.c: Move grub_reboot() and grub_halt() ...
31922 * util/grub-emu.c: ... here. Make main_env static.
31923 * include/grub/util/misc.h: Remove main_env.
31924
2ef0084d 31925 * kern/mm.c: Use correct format to print size_t.
31926
32622956 31927 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31928 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31929 * kern/powerpc/dl.c: Likewise.
31930 * kern/sparc64/dl.c: Likewise.
31931 * kern/x86_64/dl.c: Likewise.
31932
3f7f0cd0 319332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31934
31935 Fix grub-emu build on sparc64-ieee1275.
31936
75421ca9 31937 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31939
211d06b5 319402009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31941
31942 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31943 (grub_reboot, grub_halt): New functions.
31944
31945 * util/i386/pc/misc.c: Delete. Update all users.
31946 * util/sparc64/ieee1275/misc.c: Likewise.
31947 * util/powerpc/ieee1275/misc.c: Likewise.
31948
aaf53e3c 319492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31950
31951 * conf/i386.rmk (setjmp_mod_SOURCES)
31952 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31953 * conf/common.rmk (setjmp_mod_SOURCES)
31954 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31955 to use $(target_cpu).
31956 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31957 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31958 * conf/powerpc-ieee1275.rmk: Likewise.
31959 * conf/sparc64-ieee1275.rmk: Likewise.
31960
31961 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31962 $(target_cpu) for kern/$(target_cpu)/dl.c.
31963 * conf/i386-efi.rmk: Likewise.
31964 * conf/i386-ieee1275.rmk: Likewise.
31965 * conf/x86_64-efi.rmk: Likewise.
31966 * conf/i386-coreboot.rmk: Likewise.
31967 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31968 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31969 kern/$(target_cpu)/cache.S.
31970 * conf/sparc64-ieee1275.rmk: Likewise.
31971
a337130b 319722009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31973
31974 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31975 type to `grub_uint8_t', and adjust `padding9' accordingly.
31976
c6fe4d53 319772009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31978
b09db61d 31979 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31980
c6fe4d53 31981 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31982 assembly in final jump, using register constraints.
31983
b09db61d 31984 (grub_linux_boot): For text mode, initialize `have_vga' using
31985 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31986
31987 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31988 right before the final jump.
31989
31990 Set `video_mode' to 0x3.
31991
31992 Document initialization of `video_page', `video_mode' and
31993 `video_ega_bx'.
31994
28333ad0 319952009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31996
31997 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31998 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31999 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32000
02164e1b 320012009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32002
32003 Fix build on Debian / sparc.
32004
32005 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32006
18b6c557 320072009-06-28 Pavel Roskin <proski@gnu.org>
32008
85f2aab6 32009 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32010 fix a warning.
32011
18b6c557 32012 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32013
ad760f81 320142009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32015
32016 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32017 `err'.
32018
87a4623b 320192009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32020
32021 Revert r2338.
32022
32023 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32024 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32025 grub_errno / grub_errmsg appropriately.
87a4623b 32026 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32027
8231fb77 320282009-06-27 Pavel Roskin <proski@gnu.org>
320292009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32030
32031 * include/grub/dl.h: Include grub/elf.h.
32032 (struct grub_dl): Add symtab field.
32033 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32034 GRUB_MODULES_MACHINE_READONLY.
32035 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32036 of the header for read-only modules.
32037 (grub_dl_unload): Free mod->symtab for read-only modules.
32038 * kern/i386/dl.c: Use mod->symtab.
32039 * kern/powerpc/dl.c: Likewise.
32040 * kern/sparc64/dl.c: Likewise.
32041 * kern/x86_64/dl.c: Likewise.
32042
32043 * conf/i386-qemu.rmk: New file.
32044 * kern/i386/qemu/startup.S: Likewise.
32045 * kern/i386/qemu/mmap.c: Likewise.
32046 * boot/i386/qemu/boot.S: Likewise.
32047 * include/grub/i386/qemu/time.h: Likewise.
32048 * include/grub/i386/qemu/serial.h: Likewise.
32049 * include/grub/i386/qemu/kernel.h: Likewise.
32050 * include/grub/i386/qemu/console.h: Likewise.
32051 * include/grub/i386/qemu/boot.h: Likewise.
32052 * include/grub/i386/qemu/init.h: Likewise.
32053 * include/grub/i386/qemu/machine.h: Likewise.
32054 * include/grub/i386/qemu/loader.h: Likewise.
32055 * include/grub/i386/qemu/memory.h: Likewise.
32056
32057 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32058 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32059 [qemu] (pkglib_IMAGES): Add `boot.img'.
32060 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32061 [qemu] (boot_img_FORMAT): New variables.
32062 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32063 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32064 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32065 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32066 [qemu] (kernel_img_FORMAT): New variables.
32067
32068 * configure.ac: Recognise `i386-qemu'.
32069
32070 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32071 (for no compression).
32072 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32073 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32074 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32075 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32076 ifdefs).
32077
97fe384e 320782009-06-27 Pavel Roskin <proski@gnu.org>
32079
32080 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32081 read.
32082 * efiemu/prepare32.c: Likewise.
32083 * efiemu/prepare64.c: Likewise.
32084
c402ab17 320852009-06-26 Pavel Roskin <proski@gnu.org>
32086
32087 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32088 * include/grub/elf.h: Define symbols without "32" or "64" based
32089 on GRUB_TARGET_WORDSIZE.
32090 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32091 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32092 ELF definitions.
32093 * efiemu/loadcore64.c: Likewise.
32094 * loader/i386/bsd32.c: Likewise.
32095 * loader/i386/bsd64.c: Likewise.
32096 * kern/dl.c: Remove own ELF definitions.
32097 * util/i386/efi/grub-mkimage.c: Likewise.
32098
9bbdfd4d 320992009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32100
32101 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32102 segment 0x0 unconditionally, because the reference generated by
32103 GAS is an absolute address.
32104
a42ce6e9 321052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32106
32107 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32108 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32109
c952cf92 321102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32111
32112 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32113 indexes. Check for -f explicitly.
cc3752ad 32114 (search_file): Improve error message.
32115 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32116
132a0a59 321172009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32118
32119 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32120 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32121
387a140c 321222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32123
32124 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32125 * conf/i386-ieee1275.rmk: Likewise.
32126 * conf/i386-coreboot.rmk: Likewise.
32127
32128 * kern/i386/pc/startup.S (grub_stop): Remove function.
32129 * kern/i386/ieee1275/startup.S: Likewise.
32130 * kern/i386/coreboot/startup.S: Likewise.
32131 * kern/i386/misc.S (grub_stop): New function.
32132
41da9665 321332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32134
32135 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32136 * kern/i386/realmode.S (real_to_prot): ... to here.
32137
bf337234 321382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32139
32140 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32141 with `kernel.img'.
32142 (kernel_elf_SOURCES): Rename to ...
32143 (kernel_img_SOURCES): ... this.
32144 (kernel_elf_HEADERS): Rename to ...
32145 (kernel_img_HEADERS): ... this. Update all users.
32146 (kernel_elf_ASFLAGS): Rename to ...
32147 (kernel_img_ASFLAGS): ... this.
32148 (kernel_elf_CFLAGS): Rename to ...
32149 (kernel_img_CFLAGS): ... this.
32150 (kernel_elf_LDFLAGS): Rename to ...
32151 (kernel_img_LDFLAGS): ... this.
32152 * conf/i386-coreboot.rmk: Likewise.
32153 * conf/powerpc-ieee1275.rmk: Likewise.
32154
32155 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32156 with "kernel.img".
32157
f52196ff 321582009-06-21 Pavel Roskin <proski@gnu.org>
32159
c3cee413 32160 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32161 to match nested functions.
32162 * loader/sparc64/ieee1275/linux.c: Likewise.
32163
f52196ff 32164 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32165
58750afc 321662009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32167
32168 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32169 all i386 platforms.
32170
15355c7d 321712009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32172
32173 Fix asm file handling on ELF, and remove workarounds.
32174
32175 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32176 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32177 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32178 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32179
3f3ec72b 321802009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32181
32182 Load BSD ELF modules
32183
32184 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32185 and loader/i386/bsd64.c
32186 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32187 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32188 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32189 (grub_freebsd_load_elfmodule32): New declaration
32190 (grub_freebsd_load_elfmoduleobj64): Likewise
32191 (grub_freebsd_load_elf_meta32): Likewise
32192 (grub_freebsd_load_elf_meta64): Likewise
32193 (grub_freebsd_add_meta): Likewise
32194 (grub_freebsd_add_meta_module): Likewise
32195 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32196 (grub_freebsd_add_meta_module): Likewise and move module-specific
32197 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32198 (grub_cmd_freebsd): Add elf-kernel specific parts
32199 based on grub_freebsd_add_meta_module
32200 (grub_cmd_freebsd_module): Add type parsing moved from
32201 grub_freebsd_add_meta_module
32202 (grub_cmd_freebsd_module_elf): New function
32203 (cmd_freebsd_module_elf): New variable
32204 (GRUB_MOD_INIT): Register freebsd_module_elf
32205 * loader/i386/bsd32.c: New file
32206 * loader/i386/bsd64.c: Likewise
32207 * loader/i386/bsdXX.c: Likewise
32208 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32209 (grub_elf64_load): Likewise
32210 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32211 All users updated
32212 (grub_elf64_load_hook_t): Likewise
32213
0db15301 322142009-06-21 Colin Watson <cjwatson@ubuntu.com>
32215
32216 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32217 variable.
32218 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32219 don't write a menu entry for recovery mode.
32220
546796c1 322212009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32222
32223 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32224 after it's no longer needed.
32225
cd7310d5 322262009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32227
32228 * include/grub/i386/loader.h (grub_linux_prot_size)
32229 (grub_linux_tmp_addr, grub_linux_real_addr)
32230 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32231 GRUB_MACHINE_PCBIOS.
32232 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32233 common grub_util_info() call to ...
32234 (generate_image): ... here.
32235 Fix use of uninitialized memory, comparison of signed with
32236 unsigned integers and memory leak.
32237 Remove bogus module address message.
32238
ab32d3b5 322392009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32240
32241 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32242 grub_raid_register
32243 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32244
024ef597 322452009-06-19 Pavel Roskin <proski@gnu.org>
32246
32247 * configure.ac: Remove stray AC_MSG_CHECKING.
32248
3ac72b51 322492009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32250
32251 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32252
e14cd814 322532009-06-18 Pavel Roskin <proski@gnu.org>
32254
32255 * conf/common.rmk: Add fs_file.mod.
32256 * disk/fs_file.c: New file.
32257 * include/grub/disk.h (enum grub_disk_dev_id): Add
32258 GRUB_DISK_DEVICE_FILE_ID.
32259
26586d98 322602009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32261
32262 Fix build with Apple's toolchain. Part 2
32263
32264 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32265 a fake start
32266
26de2bcd 322672009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32268
32269 Fix build with Apple's toolchain. Part 1
32270
32271 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32272 for long calls
32273 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32274 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32275 Apple's toolchain
32276
09b3490b 322772009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32278
32279 Fix warnings
32280
32281 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32282 (decomp_block): initialize ch
32283 use grub_memcpy instead of memcpy
32284
c22a006a 322852009-06-17 Pavel Roskin <proski@gnu.org>
32286
d3638678 32287 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32288 version, use declarations needed to use vga_text as the startup
32289 console.
32290
c22a006a 32291 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32292 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32293 the kernel.
32294 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32295 and grub_at_keyboard_fini(), it's done on module load and
32296 unload.
32297
05b129e0 322982009-06-17 Felix Zielcke <fzielcke@z-51.de>
32299
32300 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32301 file can't be found.
32302 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32303
cf24ed9e 323042009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32305
32306 Fix newline handling
32307
32308 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32309 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32310 (grub_script_yylex): don't segfault on unterminated script
32311 newline terminates command and variable
32312
74aa8e4b 323132009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32314
32315 avoid double grub_adjust_range call. Bug reported by David Simner
32316
32317 * kern/disk.c (grub_disk_write): change to raw disk access before
32318 calling disk_read
32319
1bd265f3 323202009-06-17 Colin Watson <cjwatson@ubuntu.com>
32321
32322 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32323 spaces, for the benefit of help2man.
32324 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32325
a2d08c06 323262009-06-16 Pavel Roskin <proski@gnu.org>
32327
32328 * kern/i386/halt.c: Include grub/machine/init.h.
32329 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32330
b97bcb19 323312009-06-16 Felix Zielcke <fzielcke@z-51.de>
32332
32333 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32334 drivemap menuentry.
32335
0644f96c 323362009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32337
32338 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32339 `echo' command.
32340
3ef17a2e 323412009-06-16 Pavel Roskin <proski@gnu.org>
32342
32343 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32344 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32345 save %dx, we only need %dl and we never change it.
32346 * boot/i386/pc/cdboot.S: Don't set the root drive.
32347 * boot/i386/pc/pxeboot.S: Likewise.
32348 * include/grub/i386/pc/boot.h: Remove
32349 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32350 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32351 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32352 * kern/i386/pc/init.c (make_install_device): Remove references
32353 to grub_root_drive.
32354 * kern/i386/pc/startup.S: Likewise.
32355 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32356
693fe637 323572009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32358
32359 xnu_uuid command
32360
32361 * commands/xnu_uuid.c: new file
32362 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32363 (xnu_uuid_mod_SOURCES): new variable
32364 (xnu_uuid_mod_CFLAGS): likewise
32365 (xnu_uuid_mod_LDFLAGS): likewise
32366 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32367 * conf/i386-ieee1275.rmk: likewise
32368 * conf/i386-pc.rmk: likewise
32369 * conf/powerpc-ieee1275.rmk: likewise
32370 * conf/sparc64-ieee1275.rmk: likewise
32371 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32372
c9da87d0 323732009-06-16 Pavel Roskin <proski@gnu.org>
32374
32375 * configure.ac: Avoid '==' in test command, it's not portable.
32376
9c6f4596 323772009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32378
32379 Probe command
32380
32381 * commands/probe.c: new file
32382 * conf/common.rmk (pkglib_MODULES): add probe.mod
32383 (probe_mod_SOURCES): new variable
32384 (probe_mod_CFLAGS): likewise
32385 (probe_mod_LDFLAGS): likewise
32386 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32387 * conf/i386-ieee1275.rmk: likewise
32388 * conf/i386-pc.rmk: likewise
32389 * conf/powerpc-ieee1275.rmk: likewise
32390 * conf/sparc64-ieee1275.rmk: likewise
32391
70b7f9fd 323922009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32393
32394 Fix handling of string like \"hello\" and "a
32395 b"
32396
32397 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32398 (grub_script_yylex): fix parsing of quoting, escaping and newline
32399
71c79a6b 324002009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32401
dd74360c 32402 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32403 handling
dd74360c 32404
0644f96c 324052009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32406
32407 * util/grub-mkconfig.in: Fix parsing of --output option.
32408
e40893c3 324092009-06-12 Pavel Roskin <proski@gnu.org>
32410
32411 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32412 genmk.rb don't need to be generated or installed.
32413
3a1acfe2 324142009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32415
32416 * commands/i386/pc/drivemap_int13h.S: add more comments
32417
3a4575d4 324182009-06-11 Pavel Roskin <proski@gnu.org>
32419
0658e928 32420 * Makefile.in (uninstall): Uninstall manuals.
32421
ca0388f0 32422 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32423 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32424 and update-grub_lib in two places.
32425 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32426
e3b27c39 32427 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32428 a compiler warning.
32429
3a4575d4 32430 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32431 `entry_lo' to fix variable shadowing.
32432
af1f4f55 324332009-06-11 Christian Franke <franke@computer.org>
32434
32435 * kern/misc.c (__enable_execute_stack): Add missing return type
32436 to prevent gcc warning.
32437
5225e649 324382009-06-11 Felix Zielcke <fzielcke@z-51.de>
32439
32440 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32441
7d83bd47 324422009-06-11 Pavel Roskin <proski@gnu.org>
32443
c1cb63ba 32444 * Makefile.in: Don't rely on any scripts being executable.
32445 Always use $(SHELL) to run shell scripts.
32446
7d83bd47 32447 * configure.ac: Always define ___main if using -nostdlib. This
32448 fixes tests on Cygwin.
32449
948f48e7 324502009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32451
32452 UDF fix
32453
7d83bd47 32454 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32455 is in bytes and not in blocks
7d83bd47 32456
8ada9bc1 324572009-06-11 Pavel Roskin <proski@gnu.org>
32458
32459 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32460 warning.
32461
25ad2323 324622009-06-11 Felix Zielcke <fzielcke@z-51.de>
32463
32464 * util/grub.d/30_os-prober.in: Fix a comment. Source
32465 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32466 to set the root device. Place drivemap command in the generated
32467 chain entry.
32468
e65acb0c 324692009-06-11 Pavel Roskin <proski@gnu.org>
32470
32471 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32472 have long been resolved.
32473
f285fe2d 324742009-06-11 Colin Watson <cjwatson@ubuntu.com>
32475
bd47b0b5 32476 * util/grub.d/10_linux.in: Capitalise "Linux".
32477
f285fe2d 32478 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32479
a0c62e4e 324802009-06-11 Pavel Roskin <proski@gnu.org>
32481
b6783cb2 32482 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32483 fix a gcc warning and ensure that the function won't ever exit.
32484
dde032e8 32485 * kern/i386/ieee1275/init.c: Add missing prototype for
32486 grub_stop_floppy().
32487
22cd079d 32488 * loader/ieee1275/multiboot2.c [__i386__]: Include
32489 grub/cpu/multiboot.h.
32490
a0c62e4e 32491 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32492 casts to short - they are not portable and cause warnings. Fix
32493 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32494
63963d17 324952009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32496
32497 Drivemap fixes
32498
32499 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32500 new function
32501 (grub_get_root_biosnumber_saved): new variable
32502 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32503 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32504 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32505 %dx after the call if necessary
32506 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32507 (boot_mod_SOURCES): remove
32508 (boot_mod_CFLAGS): remove
32509 (boot_mod_LDFLAGS): remove
32510 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32511 (boot_mod_SOURCES): new variable
32512 (boot_mod_CFLAGS): likewise
32513 (boot_mod_LDFLAGS): likewise
32514 * conf/i386-efi.rmk: likewise
32515 * conf/i386-ieee1275.rmk: likewise
32516 * conf/i386-pc.rmk: likewise
32517 * conf/powerpc-ieee1275.rmk: likewise
32518 * conf/sparc64-ieee1275.rmk: likewise
32519 * conf/x86_64-efi.rmk: likewise
32520 * include/grub/i386/pc/biosnum.h: new file
32521 * lib/i386/pc/biosnum.c: likewise
32522 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32523 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32524 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32525
33abf7ae 325262009-06-10 Pavel Roskin <proski@gnu.org>
32527
5ac35b35 32528 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32529 Use separate variables. Read only the file size at the end, but
32530 not the checksum that we don't use.
32531
5c5215d5 32532 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32533 Adjust all callers.
32534
27d5fef7 32535 * kern/ieee1275/openfw.c: Remove libc includes.
32536 * kern/ieee1275/cmain.c: Likewise.
32537 * include/grub/ieee1275/ieee1275.h: Likewise.
32538
33abf7ae 32539 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32540 compiler warnings.
32541
19d50c2b 325422009-06-10 Felix Zielcke <fzielcke@z-51.de>
32543
32544 * Makefile.in: Remove all trailing whitespace.
32545 * conf/i386-pc.rmk: Likewise.
32546 * conf/powerpc-ieee1275.rmk: Likewise.
32547 * conf/sparc64-ieee1275.rmk: Likewise.
32548 * docs/grub.texi: Likewise.
32549 * docs/texinfo.tex: Likewise.
32550 * disk/fs_uuid.c: Likewise.
32551 * disk/lvm.c: Likewise.
32552 * disk/scsi.c: Likewise.
32553 * disk/ata.c: Likewise.
32554 * disk/ieee1275/ofdisk.c: Likewise.
32555 * disk/i386/pc/biosdisk.c: Likewise.
32556 * disk/host.c: Likewise.
32557 * disk/raid.c: Likewise.
32558 * disk/efi/efidisk.c: Likewise.
32559 * disk/usbms.c: Likewise.
32560 * disk/memdisk.c: Likewise.
32561 * disk/loopback.c: Likewise.
32562 * kern/powerpc/dl.c: Likewise.
32563 * kern/device.c: Likewise.
32564 * kern/dl.c: Likewise.
32565 * kern/sparc64/dl.c: Likewise.
32566 * kern/ieee1275/ieee1275.c: Likewise.
32567 * kern/term.c: Likewise.
32568 * kern/fs.c: Likewise.
32569 * kern/i386/dl.c: Likewise.
32570 * kern/i386/pc/startup.S: Likewise.
32571 * kern/i386/pc/init.c: Likewise.
32572 * kern/i386/pc/mmap.c: Likewise.
32573 * kern/i386/pc/lzo1x.S: Likewise.
32574 * kern/i386/ieee1275/init.c: Likewise.
32575 * kern/i386/realmode.S: Likewise.
32576 * kern/i386/tsc.c: Likewise.
32577 * kern/partition.c: Likewise.
32578 * kern/corecmd.c: Likewise.
32579 * kern/file.c: Likewise.
32580 * kern/efi/efi.c: Likewise.
32581 * kern/efi/init.c: Likewise.
32582 * kern/efi/mm.c: Likewise.
32583 * kern/main.c: Likewise.
32584 * kern/err.c: Likewise.
32585 * kern/env.c: Likewise.
32586 * kern/disk.c: Likewise.
32587 * kern/generic/millisleep.c: Likewise.
32588 * kern/generic/rtc_get_time_ms.c: Likewise.
32589 * kern/misc.c: Likewise.
32590 * kern/parser.c: Likewise.
32591 * genmk.rb: Likewise.
32592 * configure.ac: Likewise.
32593 * boot/i386/pc/diskboot.S: Likewise.
32594 * boot/i386/pc/pxeboot.S: Likewise.
32595 * boot/i386/pc/boot.S: Likewise.
32596 * boot/i386/pc/lnxboot.S: Likewise.
32597 * boot/i386/pc/cdboot.S: Likewise.
32598 * parttool/pcpart.c: Likewise.
32599 * video/readers/tga.c: Likewise.
32600 * video/video.c: Likewise.
32601 * video/bitmap.c: Likewise.
32602 * lib/envblk.c: Likewise.
32603 * lib/i386/setjmp.S: Likewise.
32604 * fs/xfs.c: Likewise.
32605 * fs/afs.c: Likewise.
32606 * fs/fat.c: Likewise.
32607 * fs/ntfs.c: Likewise.
32608 * fs/udf.c: Likewise.
32609 * fs/affs.c: Likewise.
32610 * fs/iso9660.c: Likewise.
32611 * fs/hfs.c: Likewise.
32612 * fs/fshelp.c: Likewise.
32613 * fs/ext2.c: Likewise.
32614 * fs/jfs.c: Likewise.
32615 * fs/reiserfs.c: Likewise.
32616 * fs/hfsplus.c: Likewise.
32617 * fs/minix.c: Likewise.
32618 * fs/cpio.c: Likewise.
32619 * fs/sfs.c: Likewise.
32620 * fs/ufs.c: Likewise.
32621 * efiemu/prepare.c: Likewise.
32622 * efiemu/loadcore_common.c: Likewise.
32623 * efiemu/runtime/efiemu.sh: Likewise.
32624 * efiemu/runtime/efiemu.S: Likewise.
32625 * efiemu/runtime/efiemu.c: Likewise.
32626 * efiemu/pnvram.c: Likewise.
32627 * efiemu/main.c: Likewise.
32628 * efiemu/i386/pc/cfgtables.c: Likewise.
32629 * efiemu/i386/loadcore64.c: Likewise.
32630 * efiemu/i386/loadcore32.c: Likewise.
32631 * efiemu/loadcore.c: Likewise.
32632 * efiemu/symbols.c: Likewise.
32633 * efiemu/mm.c: Likewise.
32634 * include/grub/autoefi.h: Likewise.
32635 * include/grub/datetime.h: Likewise.
32636 * include/grub/term.h: Likewise.
32637 * include/grub/hfs.h: Likewise.
32638 * include/grub/lvm.h: Likewise.
32639 * include/grub/i386/tsc.h: Likewise.
32640 * include/grub/i386/linux.h: Likewise.
32641 * include/grub/i386/xnu.h: Likewise.
32642 * include/grub/i386/efiemu.h: Likewise.
32643 * include/grub/i386/pc/biosdisk.h: Likewise.
32644 * include/grub/i386/pc/memory.h: Likewise.
32645 * include/grub/i386/pc/vbe.h: Likewise.
32646 * include/grub/parttool.h: Likewise.
32647 * include/grub/video.h: Likewise.
32648 * include/grub/memory.h: Likewise.
32649 * include/grub/fs.h: Likewise.
32650 * include/grub/partition.h: Likewise.
32651 * include/grub/xnu.h: Likewise.
32652 * include/grub/efi/api.h: Likewise.
32653 * include/grub/efi/pe32.h: Likewise.
32654 * include/grub/efi/memory.h: Likewise.
32655 * include/grub/multiboot.h: Likewise.
32656 * include/grub/usbdesc.h: Likewise.
32657 * include/grub/multiboot2.h: Likewise.
32658 * include/grub/acpi.h: Likewise.
32659 * include/grub/efiemu/efiemu.h: Likewise.
32660 * include/grub/disk.h: Likewise.
32661 * include/grub/ieee1275/ieee1275.h: Likewise.
32662 * include/grub/net.h: Likewise.
32663 * include/grub/machoload.h: Likewise.
32664 * include/grub/macho.h: Likewise.
32665 * include/multiboot.h: Likewise.
32666 * genmoddep.awk: Likewise.
32667 * normal/main.c: Likewise.
32668 * normal/menu_entry.c: Likewise.
32669 * normal/menu_viewer.c: Likewise.
32670 * normal/completion.c: Likewise.
32671 * normal/cmdline.c: Likewise.
32672 * normal/misc.c: Likewise.
32673 * normal/datetime.c: Likewise.
32674 * bus/usb/usbtrans.c: Likewise.
32675 * bus/usb/ohci.c: Likewise.
32676 * bus/usb/uhci.c: Likewise.
32677 * bus/usb/usb.c: Likewise.
32678 * mmap/efi/mmap.c: Likewise.
32679 * mmap/i386/pc/mmap_helper.S: Likewise.
32680 * mmap/i386/pc/mmap.c: Likewise.
32681 * mmap/i386/mmap.c: Likewise.
32682 * mmap/i386/uppermem.c: Likewise.
32683 * mmap/mmap.c: Likewise.
32684 * commands/acpi.c: Likewise.
32685 * commands/echo.c: Likewise.
32686 * commands/blocklist.c: Likewise.
32687 * commands/loadenv.c: Likewise.
32688 * commands/usbtest.c: Likewise.
32689 * commands/boot.c: Likewise.
32690 * commands/parttool.c: Likewise.
32691 * commands/search.c: Likewise.
32692 * commands/cat.c: Likewise.
32693 * commands/i386/pc/play.c: Likewise.
32694 * commands/i386/pc/drivemap.c: Likewise.
32695 * commands/i386/pc/vbeinfo.c: Likewise.
32696 * commands/i386/pc/acpi.c: Likewise.
32697 * commands/i386/pc/vbetest.c: Likewise.
32698 * commands/ls.c: Likewise.
32699 * commands/cmp.c: Likewise.
32700 * commands/test.c: Likewise.
32701 * commands/efi/acpi.c: Likewise.
32702 * commands/gptsync.c: Likewise.
32703 * commands/help.c: Likewise.
32704 * partmap/amiga.c: Likewise.
32705 * partmap/apple.c: Likewise.
32706 * partmap/acorn.c: Likewise.
32707 * partmap/pc.c: Likewise.
32708 * partmap/sun.c: Likewise.
32709 * partmap/gpt.c: Likewise.
32710 * script/sh/lexer.c: Likewise.
32711 * script/sh/function.c: Likewise.
32712 * font/font.c: Likewise.
32713 * font/font_cmd.c: Likewise.
32714 * loader/powerpc/ieee1275/linux.c: Likewise.
32715 * loader/efi/chainloader.c: Likewise.
32716 * loader/multiboot_loader.c: Likewise.
32717 * loader/macho.c: Likewise.
32718 * loader/i386/multiboot.c: Likewise.
32719 * loader/i386/linux.c: Likewise.
32720 * loader/i386/pc/linux.c: Likewise.
32721 * loader/i386/pc/multiboot2.c: Likewise.
32722 * loader/i386/pc/chainloader.c: Likewise.
32723 * loader/i386/pc/xnu.c: Likewise.
32724 * loader/i386/bsd_trampoline.S: Likewise.
32725 * loader/i386/efi/linux.c: Likewise.
32726 * loader/i386/multiboot_elfxx.c: Likewise.
32727 * loader/i386/bsd_helper.S: Likewise.
32728 * loader/i386/bsd.c: Likewise.
32729 * loader/i386/linux_trampoline.S: Likewise.
32730 * loader/i386/xnu_helper.S: Likewise.
32731 * loader/i386/xnu.c: Likewise.
32732 * loader/i386/bsd_pagetable.c: Likewise.
32733 * loader/i386/multiboot_helper.S: Likewise.
32734 * loader/xnu.c: Likewise.
32735 * loader/xnu_resume.c: Likewise.
32736 * io/gzio.c: Likewise.
32737 * term/efi/console.c: Likewise.
32738 * term/terminfo.c: Likewise.
32739 * term/ieee1275/ofconsole.c: Likewise.
32740 * term/i386/pc/serial.c: Likewise.
32741 * term/i386/pc/vesafb.c: Likewise.
32742 * term/i386/pc/vga.c: Likewise.
32743 * term/usb_keyboard.c: Likewise.
32744 * term/gfxterm.c: Likewise.
32745 * aclocal.m4: Likewise.
32746 * util/lvm.c: Likewise.
32747 * util/grub.d/30_os-prober.in: Likewise.
32748 * util/grub.d/10_hurd.in: Likewise.
32749 * util/console.c: Likewise.
32750 * util/grub-macho2img.c: Likewise.
32751 * util/grub-probe.c: Likewise.
32752 * util/hostfs.c: Likewise.
32753 * util/i386/pc/grub-mkimage.c: Likewise.
32754 * util/i386/pc/grub-setup.c: Likewise.
32755 * util/i386/efi/grub-mkimage.c: Likewise.
32756 * util/grub-mkconfig.in: Likewise.
32757 * util/raid.c: Likewise.
32758 * util/resolve.c: Likewise.
32759 * util/grub-mkdevicemap.c: Likewise.
32760 * util/grub-emu.c: Likewise.
32761 * util/getroot.c: Likewise.
32762 * util/hostdisk.c: Likewise.
32763 * util/usb.c: Likewise.
32764 * util/grub-editenv.c: Likewise.
32765 * util/misc.c: Likewise.
32766
d2d49665 327672009-06-10 Felix Zielcke <fzielcke@z-51.de>
32768
32769 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32770 `genparttoollist.sh'.
32771 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32772 Add `*.sh' to the list find searches for and change `mdate.sh'
32773 to `mdate-sh'.
32774
fe052e37 327752009-06-10 Pavel Roskin <proski@gnu.org>
32776
2763ac18 32777 * include/grub/multiboot2.h: Provide compatibility defines for
32778 multiboot2.h.
32779 * include/multiboot2.h: Include stdint.h only if needed, using
32780 angle brackets.
32781 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32782 grub/multiboot2.h.
32783 * loader/ieee1275/multiboot2.c: Likewise.
32784 * loader/multiboot2.c: Likewise.
32785 * loader/multiboot_loader.c: Likewise.
32786
437e6adc 32787 * configure.ac: Use -nostdlib when probing for the target. It
32788 should not be required to have libc for the target.
32789
06a6836c 32790 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32791 they fail without libc headers for the target.
32792 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32793 exports.
32794 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32795 preprocessor conditionals.
32796
fe052e37 32797 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32798 build system doesn't need to be aware of the tar.c internals.
32799
afd22553 328002009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32801
afd22553 32802 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32803
6b787c4f 328042009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32805
32806 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32807 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32808
328092009-06-09 Felix Zielcke <fzielcke@z-51.de>
32810
32811 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32812 aren't available if ata.mod gets used.
6b787c4f 32813
473d1e45 328142009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32815
473d1e45 32816 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32817 initialising controller.
473d1e45 32818 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32819
255a27d4 328202009-06-08 Felix Zielcke <fzielcke@z-51.de>
32821
32822 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32823 to choose between ata and biosdisk module on i386-pc.
32824
473d1e45 328252009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32826
d55842d8 32827 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32828 Subclass and Programming Interface fields in terms of the 3 byte
32829 Class Code register.
32830 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32831
fa5db0b1 32832 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32833 interface is OHCI. Add grub_dprintf for symmetry with
32834 bus/usb/uhci.c.
32835 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32836 interface is UHCI. Add interf variable for programming
32837 interface. Print interface with class/subclass.
32838
c0947beb 32839 * bus/usb/ohci.c: Set interf with correct field.
32840
69da8877 32841 * bus/usb/uhci.c: Remove unneeded doubled lines.
32842 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32843 Remove whitespace inside comment.
32844
9e172e30 328452009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32846
32847 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32848 as fallback an equivalent option without depth.
32849
de65ee2b 328502009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32851
32852 Not fail if unable to retrieve C/H/S on LBA disks
32853
473d1e45 32854 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32855 if unable to retrieve C/H/S on LBA disks
32856
b57ea2c9 328572009-06-08 Pavel Roskin <proski@gnu.org>
32858
32859 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32860 about aliasing.
32861
af361263 328622009-06-08 Felix Zielcke <fzielcke@z-51.de>
32863
32864 * Makefile.in (uninstall): Remove all $lib_DATA files.
32865
4c9ec6b3 328662009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32867
32868 Bugfix: install on partitionless device
32869
32870 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32871 is a whole disk
32872
e76fc924 328732009-06-08 Felix Zielcke <fzielcke@z-51.de>
32874
32875 * Makefile.in (uninstall): Remove all $include_DATA files.
32876
ba5a0d05 328772009-06-08 Felix Zielcke <fzielcke@z-51.de>
32878
32879 * commands/true.c: New file. Implement the true and false commands.
32880 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32881 (true_mod_SOURCES): New variable.
32882 (true_mod_CFLAGS): Likewise.
32883 (true_mod_LDFLAGS): Likewise.
32884
c8048e32 328852009-06-05 Colin D Bennett <colin@gibibit.com>
32886
32887 Optimized font character lookup using binary search instead of linear
32888 search. Fonts now are required to have the character index ordered by
32889 code point.
32890
32891 * font/font.c (load_font_index): Verify that fonts have ordered
32892 character indices.
32893 (find_glyph): Use binary search instead of linear search to find a
32894 character in a font.
32895
408305be 328962009-06-05 Michael Scherer <misc@mandriva.org>
32897
32898 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32899 uses case sensitive btree.
32900 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32901 only for case insensitive filesystems.
32902
8ee1e0d9 329032009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32904
32905 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32906 * conf/common.rmk (search_mod_CFLAGS): likewise
32907
a9966eb1 329082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32909
473d1e45 32910 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32911 compensate a compiler bug
32912
9e7100fb 329132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32914
473d1e45 32915 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32916 instead of '\b'
473d1e45 32917
ede21d71 329182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32919
32920 Definitions for creating asm symbols with Apple's CC
32921
32922 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32923 [APPLE_CC] (VARIABLE): likewise
32924
9dbf7653 329252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32926
32927 Disable lnxboot.img when compiled
32928 with Apple's CC
32929
32930 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32931 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32932 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32933 [! APPLE_CC] (CODE_LENG): skip
32934 [! APPLE_CC] (setup_sects): likewise
32935 [! APPLE_CC]: skip filling
473d1e45 32936
e93cdc3d 329372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32938
32939 Address in trampolines based on 32-bit registers when compiled
32940 with Apple's CC
32941
473d1e45 32942 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32943 for addresses
32944 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32945
6c688477 329462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32947
32948 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32949
32950 * kern/misc.c [APPLE_CC] (memcpy): new function
32951 [APPLE_CC] (memmove): likewise
32952 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32953 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32954 (memset): likewise
32955 (abort): likewise
32956 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32957 APPLE_CC are defined
32958 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32959 (grub_assert_fail): make prototype conditional
32960
e37ffc5c 329612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32962
32963 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32964
473d1e45 32965 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32966 grub-macho2img
e37ffc5c 32967 (CLEANFILES): add grub-macho2img
32968 (grub_macho2img_SOURCES): new variable
32969 * kern/i386/pc/startup.S (bss_start): new variable
32970 (bss_end): likewise
32971 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32972 * util/grub-macho2img.c: new file
32973
cf00df31 329742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32975
32976 Use objconv when compiling with Apple's CC
32977
32978 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32979 (efiemu64.o): likewise
32980 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32981 when compiling with Apple's CC
32982 (efiemu64_s.o): likewise
32983 * configure.ac: check for objconv when compiling with Apple's CC
32984 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32985
d119a20c 329862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32987
32988 Define segment as well as section when compiling with
32989 Apple's CC
32990
32991 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32992 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32993 (efiemu_convert_pointer): likewise
32994 (efiemu_set_virtual_address_map): likewise
32995 (efiemu_convert_pointer): likewise
32996 (efiemu_getcrc32): likewise
32997 (init_crc32_table): likewise
32998 (reflect): likewise
32999 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33000 (GRUB_MOD_DEP): likewise
473d1e45 33001
c8600122 330022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33003
33004 Allow a compilation without -mcmodel=large
33005
33006 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33007 when compiled without -mcmodel=large
473d1e45 33008 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33009 without -mcmodel=large
473d1e45 33010 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33011 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33012
e8df1d4e 330132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33014
33015 Remove nested functions in efiemu core
33016
33017 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33018
cc6c3ac1 330192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33020
33021 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33022
33023 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33024 temporary storage
473d1e45 33025 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33026 using Apple's CC
cc6c3ac1 33027 (grub_cpu_is_tsc_supported): likewise
33028 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33029
3e325901 330302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33031
33032 Absolute addressing through constant with Apple's cc
33033
33034 * kern/i386/pc/startup.S: Define necessary constants
33035 and address through it when using ABS with Apple's CC
33036 * boot/i386/pc/diskboot.S: likewise
33037 * boot/i386/pc/boot.S: likewise
33038 * boot/i386/pc/lnxboot.S: likewise
33039 * boot/i386/pc/cdboot.S: likewise
33040 * mmap/i386/pc/mmap_helper.S: likewise
33041 * commands/i386/pc/drivemap_int13h.S: likewise
33042
2b167a72 330432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33044
33045 Check if compiler is apple cc
33046
33047 * Makefile.in (ASFLAGS): new variable
33048 (TARGET_ASFLAGS): likewise
33049 (TARGET_MODULE_FORMAT): likewise
33050 (TARGET_APPLE_CC): likewise
33051 (OBJCONV): likewise
33052 (TARGET_IMG_CFLAGS): likewise
33053 (TARGET_CPPFLAGS): add includedir
33054 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33055 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33056 Check for linker script only if compiler isn't Apple's CC
33057 (TARGET_MODULE_FORMAT): set
33058 (TARGET_APPLE_CC): likewise
33059 (TARGET_ASFLAGS): likewise
33060 (ASFLAGS): likewise
33061 Check for objcopy only if compiler isn't Apple's CC
33062 Check for BSS symbol only if compiler isn't Apple's CC
33063 * genmk.rb: adapt nm options if we use Apple's utils
33064 * aclocal.m4 (grub_apple_cc): new test
33065 (grub_apple_target_cc): likewise
473d1e45 33066
fb14123e 330672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33068
33069 Simplify sed expressions and improve awk
33070
33071 * Makefile.in (install-local): simplify sed expression
33072 * gencmdlist.sh: likewise
33073 * genmoddep.awk: avoid adding module as a dependency of itself
33074
5b889789 330752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33076
33077 Add missing start symbols
33078
33079 * boot/i386/pc/boot.S: add start
fb14123e 33080 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33081
fd2bf2e3 330822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33083
33084 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33085
33086 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33087 (relocate_addresses): consider both r_addend and value at offset
33088 (make_mods_section): zerofill modinfo and header
33089 (convert_elf): write prefix here
473d1e45 33090
5389763d 330912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33092
33093 Use .asciz instead of .string
33094
33095 * i386/pc/diskboot.S: use .asciz instead of .string
33096 * i386/pc/boot.S: likewise
33097 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33098 (GRUB_MOD_NAME): likewise
473d1e45 33099
3eb5ed4e 331002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33101
33102 gfxpayload support
33103
33104 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33105 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33106 (grub_video_setup): remove
33107 (grub_video_set_mode): new prototype
33108 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33109 (vid_mode): remove
33110 (linux_vesafb_res): compile only on PCBIOS
33111 (grub_linux_boot): support gfxpayload
33112 * loader/i386/pc/xnu.c (video_hook): new function
33113 (grub_xnu_set_video): support gfxpayload
33114 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33115 (DEFAULT_VIDEO_HEIGHT): likewise
33116 (DEFAULT_VIDEO_FLAGS): likewise
33117 (DEFAULT_VIDEO_MODE): new definition
33118 (video_hook): new function
33119 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33120 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33121 loading xnu
33122 * video/video.c (grub_video_setup): removed
473d1e45 33123 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33124 grub_video_setup
33125
4b0e1143 331262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33127
33128 Avoid calling biosdisk in drivemap
33129
33130 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33131 (revparse_biosdisk): likewise
33132 (list_mappings): derive name from id directly
33133 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33134
fda6cb98 331352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33136
33137 Script fixes
33138
33139 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33140 (grub_lexer_param): add tokenonhold
33141 (grub_script_create_cmdline): remove cmdline. All callers updated
33142 (grub_script_function_create): make functionname
33143 grub_script_arg. All callers updated
33144 (grub_script_execute_argument_to_string): new prototype
33145 * kern/parser.c (state_transitions): reorder
33146 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33147 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33148 make global
33149 (grub_script_execute_cmdline): use new format
33150 * script/sh/function.c (grub_script_function_create): make functionname
33151 grub_script_arg. All callers updated
473d1e45 33152 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33153 (grub_script_yylex): remove
33154 (grub_script_yylex2): renamed to ...
33155 (grub_script_yylex): ...renamed
33156 parse the expressions like a${b}c
33157 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33158 (GRUB_PARSER_TOKEN_VAR): remove
33159 (GRUB_PARSER_TOKEN_NAME): likewise
33160 ("if"): declare as typeless
33161 ("while"): likewise
33162 ("function"): likewise
33163 ("else"): likewise
33164 ("then"): likewise
33165 ("fi"): likewise
33166 (text): remove
33167 (argument): likewise
33168 (script): accept empty scripts and make exit on error
33169 (arguments): use GRUB_PARSER_TOKEN_ARG
33170 (function): likewise
33171 (command): move error handling to script
33172 (menuentry): move grub_script_lexer_ref before
473d1e45 33173 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33174 argument. All callers updated
33175
f4448a07 331762009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33177
33178 Prevent GRUB from probing floppies during boot.
33179
33180 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33181 * commands/search.c (options): Add --no-floppy.
33182 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33183 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33184 --no-floppy when searching for UUIDs.
33185
2bf5885a 331862009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33187
33188 Simplify the code duplication in commands/search.c.
33189
33190 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33191 (search_fs): ... this. Update all users.
33192
f6fd460a 331932009-06-03 Felix Zielcke <fzielcke@z-51.de>
33194
33195 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33196
cbb3c83e 331972009-05-28 Pavel Roskin <proski@gnu.org>
33198
57788cfd 33199 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33200 Remove the original symlink explicitly.
33201
cbb3c83e 33202 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33203 just one slash. That's how grub_fshelp_find_file() does it.
33204
cd0d5e30 332052009-05-26 Pavel Roskin <proski@gnu.org>
33206
f0f8bbe2 33207 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33208 to `str'.
33209
cd0d5e30 33210 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33211 possibly unused.
33212
8c2cab51 332132009-05-25 Christian Franke <franke@computer.org>
33214
33215 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33216 register.
33217 (grub_atapi_identify): Add wait after drive select.
33218 (grub_ata_identify): Do more strict status register check before
33219 calling grub_atapi_identify (). Suppress error message if status
33220 register is 0x00 after command failure. Add status register
33221 check after PIO read to avoid bogus identify due to stuck DRQ.
33222 Thanks to Pavel Roskin for testing.
33223 (grub_device_initialize): Remove unsafe status register check.
33224 Thanks to 'phcoder' for problem report and patch.
33225 Prevent sign extension in debug message.
33226
230c0ad6 332272009-05-23 Colin D Bennett <colin@gibibit.com>
33228
33229 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33230 definition file, and functions defined in `normal/menu.c' have had
33231 their prototypes moved to `include/grub/menu.h' for consistency.
33232
33233 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33234 from normal.h.
33235 (grub_menu_get_entry): Likewise.
33236 (grub_menu_get_timeout): Likewise.
33237 (grub_menu_set_timeout): Likewise.
33238 (grub_menu_execute_entry): Likewise.
33239 (grub_menu_execute_with_fallback): Likewise.
33240 (grub_menu_entry_run): Likewise.
33241
33242 * include/grub/normal.h: Re-ordered and grouped function
33243 prototypes by file that the function is defined in.
33244 (grub_menu_execute_callback): Removed; moved to menu.h.
33245 (grub_menu_get_entry): Likewise.
33246 (grub_menu_get_timeout): Likewise.
33247 (grub_menu_set_timeout): Likewise.
33248 (grub_menu_execute_entry): Likewise.
33249 (grub_menu_execute_with_fallback): Likewise.
33250 (grub_menu_entry_run): Likewise.
33251 (grub_menu_addentry): Renamed from this ...
33252 (grub_normal_add_menu_entry): ... to this.
33253
33254 * normal/main.c (grub_menu_addentry): Renamed from this ...
33255 (grub_normal_add_menu_entry): ... to this.
33256
33257 * script/sh/execute.c (grub_script_execute_menuentry): Update
33258 reference to renamed grub_menu_addentry function.
33259
861f03a5 332602009-05-23 Felix Zielcke <fzielcke@z-51.de>
33261
33262 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33263
96b1619a 332642009-05-22 Pavel Roskin <proski@gnu.org>
33265
bf6a5fb2 33266 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33267 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33268 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33269 compiling for the i386 targets, but not for the utilities.
33270
96b1619a 33271 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33272 to grub_uint8_t.
33273 (grub_root_drive): Likewise.
33274 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33275 remove alignment.
33276 (grub_root_drive): Change size to byte.
33277 (grub_start_addr): Remove.
33278 (grub_end_addr): Likewise.
33279 (grub_apm_bios_info): Likewise.
33280
b729776b 332812009-05-21 Felix Zielcke <fzielcke@z-51.de>
33282
33283 * normal/i386: Remove.
33284 * normal/powerpc: Likewise.
33285 * normal/sparc64: Likewise.
33286 * normal/x86_64: Likewise.
33287
0a15ce80 332882009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33289
33290 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33291 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33292 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33293
33db9015 332942009-05-18 Colin D Bennett <colin@gibibit.com>
33295
d6da58e6 33296 Display error messages when parsing a Lua statement fails.
33297 Previously, executing a syntactically invalid statement like
33298 ")foo" or "bar;" would silently fail.
33db9015 33299
33300 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33301 (grub_lua_parse_line): Improved reporting of Lua parser and
33302 execution errors.
33db9015 33303
46422c89 333042009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33305
33306 Remove -Werror which causes build to fail on some systems
33307
33308 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33309 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33310 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33311
22f53a96 333122009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33313
33314 trampoline for linux on 64-bit platform
33315
18f547ad 33316 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33317 loader/i386/efi/linux_trampoline.S
33318 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33319 declaration
d6da58e6 33320 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33321 here
22f53a96 33322 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33323 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33324 trampoline
22f53a96 33325 (jumpvector): removed
33326 (grub_linux_trampoline_start): new declaration
33327 (grub_linux_trampoline_end): likewise
33328 (grub_linux_boot): use trampoline when on 64-bit platform
33329 * loader/i386/linux.c: likewise
33330
cb5a0f40 333312009-05-16 Pavel Roskin <proski@gnu.org>
33332
33333 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33334 const to avoid a warning.
33335 (grub_lua_setenv): Likewise.
33336 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33337 lmsg to fix a warning.
33338
334f2c28 333392009-05-16 Felix Zielcke <fzielcke@z-51.de>
33340
33341 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33342 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33343 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33344 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33345 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33346 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33347 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33348 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33349
59e5d3ec 333502009-05-16 Felix Zielcke <fzielcke@z-51.de>
33351
33352 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33353
9d87a1ba 333542009-05-16 Bean <bean123ch@gmail.com>
33355
33356 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33357 (lua_mod_SOURCES): New variable.
33358 (lua_mod_CFLAGS): Likewise.
33359 (lua_mod_LDFLAGS): Likewise.
33360
33361 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33362 (setjmp_mod_SOURCES): New variable.
33363 (setjmp_mod_CFLAGS): Likewise.
33364 (setjmp_LDFLAGS): Likewise.
33365
33366 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33367 (setjmp_mod_SOURCES): New variable.
33368 (setjmp_mod_CFLAGS): Likewise.
33369 (setjmp_LDFLAGS): Likewise.
33370
33371 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33372 (setjmp_mod_SOURCES): New variable.
33373 (setjmp_mod_CFLAGS): Likewise.
33374 (setjmp_LDFLAGS): Likewise.
33375
33376 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33377 (setjmp_mod_SOURCES): New variable.
33378 (setjmp_mod_CFLAGS): Likewise.
33379 (setjmp_LDFLAGS): Likewise.
33380
33381 * normal/i386/setjmp.S: Moved from here ...
33382 * lib/i386/setjmp.S: ... Moved here
33383 * normal/x86_64/setjmp.S: Moved from here ...
33384 * lib/x86_64/setjmp.S: ... Moved here
33385 * normal/powerpc/setjmp.S: Moved from here ...
33386 * lib/powerpc/setjmp.S: ... Moved here
33387 * normal/sparc64/setjmp.S: Moved from here ...
33388 * lib/sparc64/setjmp.S: ... Moved here
33389
33390 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33391 returns_twice in mingw.
33392
33393 * script/lua/grub_lib.c: New file.
33394 * script/lua/grub_lib.h: Likewise.
33395 * script/lua/grub_lua.h: Likewise.
33396 * script/lua/grub_main.c: Likewise.
33397 * script/lua/lapi.c: Likewise.
33398 * script/lua/lapi.h: Likewise.
33399 * script/lua/lauxlib.c: Likewise.
33400 * script/lua/lauxlib.h: Likewise.
33401 * script/lua/lbaselib.c: Likewise.
33402 * script/lua/lcode.c: Likewise.
33403 * script/lua/lcode.h: Likewise.
33404 * script/lua/ldblib.c: Likewise.
33405 * script/lua/ldebug.c: Likewise.
33406 * script/lua/ldebug.h: Likewise.
33407 * script/lua/ldo.c: Likewise.
33408 * script/lua/ldo.h: Likewise.
33409 * script/lua/ldump.c: Likewise.
33410 * script/lua/lfunc.c: Likewise.
33411 * script/lua/lfunc.h: Likewise.
33412 * script/lua/lgc.c: Likewise.
33413 * script/lua/lgc.h: Likewise.
33414 * script/lua/linit.c: Likewise.
33415 * script/lua/liolib.c: Likewise.
33416 * script/lua/llex.c: Likewise.
33417 * script/lua/llex.h: Likewise.
33418 * script/lua/llimits.h: Likewise.
33419 * script/lua/lmathlib.c: Likewise.
33420 * script/lua/lmem.c: Likewise.
33421 * script/lua/lmem.h: Likewise.
33422 * script/lua/loadlib.c: Likewise.
33423 * script/lua/lobject.c: Likewise.
33424 * script/lua/lobject.h: Likewise.
33425 * script/lua/lopcodes.c: Likewise.
33426 * script/lua/lopcodes.h: Likewise.
33427 * script/lua/loslib.c: Likewise.
33428 * script/lua/lparser.c: Likewise.
33429 * script/lua/lparser.h: Likewise.
33430 * script/lua/lstate.c: Likewise.
33431 * script/lua/lstate.h: Likewise.
33432 * script/lua/lstring.c: Likewise.
33433 * script/lua/lstring.h: Likewise.
33434 * script/lua/lstrlib.c: Likewise.
33435 * script/lua/ltable.c: Likewise.
33436 * script/lua/ltable.h: Likewise.
33437 * script/lua/ltablib.c: Likewise.
33438 * script/lua/ltm.c: Likewise.
33439 * script/lua/ltm.h: Likewise.
33440 * script/lua/lua.h: Likewise.
33441 * script/lua/luaconf.h: Likewise.
33442 * script/lua/lualib.h: Likewise.
33443 * script/lua/lundump.c: Likewise.
33444 * script/lua/lundump.h: Likewise.
33445 * script/lua/lvm.c: Likewise.
33446 * script/lua/lvm.h: Likewise.
33447 * script/lua/lzio.c: Likewise.
33448 * script/lua/lzio.h: Likewise.
33449
5e898c9d 334502009-05-16 Bean <bean123ch@gmail.com>
33451
33452 * include/grub/kernel.h (grub_module_header_types): Add type
33453 OBJ_TYPE_CONFIG.
33454
33455 * kern/main.c (grub_load_config): New function.
33456 (grub_main): Call grub_load_config to read boot config.
33457
33458 * grub-mkimage (generate_image): New parameter config_path.
33459 (options): New option --config.
33460 (main): Parse --config option, and pass it to generate_image.
33461
cf353a47 334622009-05-14 Christian Franke <franke@computer.org>
33463
33464 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33465 This fixes build on Cygwin.
33466
3834887f 334672009-05-14 Pavel Roskin <proski@gnu.org>
33468
33469 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33470 jump. This saves two bytes, so the typical case of 2 swapped
33471 drives would fit 32 bytes.
33472
8090fc01 334732009-05-13 Pavel Roskin <proski@gnu.org>
33474
ac963883 33475 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33476 grub_uint32_t to avoid a warning.
33477
8090fc01 33478 * loader/i386/linux.c (allocate_pages): When assigning
33479 real_mode_mem, cast through grub_size_t to fix a warning. The
33480 code already makes sure that the value would fit a pointer.
33481 (grub_linux_setup_video): Cast render_target->data to
33482 grub_size_t to fix a warning.
33483
18f547ad 334842009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33485
33486 * commands/i386/pc/drivemap.c: New file - implement drivemap
33487 command.
33488 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33489 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33490
6f6a8b28 334912009-05-13 Pavel Roskin <proski@gnu.org>
33492
33493 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33494 embedding_area_exists.
33495
15fbf4c4 334962009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33497
33498 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33499 it easier to understand / work with.
59978c8a 33500 Improve warning messages for cases where there's no embedding area,
33501 or when it is too small (or core.img too large).
15fbf4c4 33502
238e871f 335032009-05-13 Pavel Roskin <proski@gnu.org>
33504
0ab3a9a4 33505 * loader/i386/pc/multiboot2.c: Add necessary includes for
33506 grub_multiboot2_real_boot().
33507
a2c8c5f8 33508 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33509 PX record is always little-endian. We only need the lower 2
33510 bytes of the mode.
33511
faec96af 33512 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33513 facilitate code reuse.
33514 (grub_cpio_mount): Use "struct head", not a char buffer. This
33515 fixes a warning reported by gcc 4.4.
33516
238e871f 33517 * kernel/disk.c (grub_disk_read): Use void pointer for the
33518 buffer.
33519 (grub_disk_write): Use const void pointer for the buffer.
33520 Adjust all callers. Remove unnecessary casts.
33521
901d2f0c 335222009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33523
33524 * util/i386/pc/grub-install.in: Update copyright year.
33525
18f547ad 335262009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33527
33528 gptsync
33529
33530 * commands/gptsync.c: new file
33531 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33532 (gptsync_mod_SOURCES): new variable
33533 (gptsync_mod_CFLAGS): likewise
33534 (gptsync_mod_LDFLAGS): likewise
18f547ad 33535 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33536 new definition
33537 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33538 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33539 * conf/i386-ieee1275.rmk: likewise
33540 * conf/i386-pc.rmk: likewise
33541 * conf/powerpc-ieee1275.rmk: likewise
33542
b4ba690a 335432009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33544
33545 Fixed grub-emu
33546
33547 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33548 (grub_dl_ref): likewise
33549
317e1a44 335502009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33551
33552 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33553 split in two functions (one for msdos and one for gpt).
33554
041b8094 335552009-05-08 Pavel Roskin <proski@gnu.org>
33556
752473c2 33557 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33558 not modified.
33559
041b8094 33560 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33561 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33562 Initialize them with -1. Add sanity check for bad1. Eliminate
33563 nerr variable.
33564
172800ce 335652009-05-08 David S. Miller <davem@davemloft.net>
33566
33567 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33568
29aa5e81 335692009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33570
33571 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33572 existence.
29aa5e81 33573
96613b62 335742009-05-05 Felix Zielcke <fzielcke@z-51.de>
33575
33576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33577 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33578
eef73c8a 335792009-05-05 David S. Miller <davem@davemloft.net>
33580
33581 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33582
119494b5 335832009-05-05 Pavel Roskin <proski@gnu.org>
33584
33585 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33586 of grub_dl_ref() and grub_dl_unref().
33587 * commands/parttool.c: Remove preprocessor conditionals around
33588 grub_dl_ref() and grub_dl_unref().
33589 * fs/affs.c: Likewise.
33590 * fs/afs.c: Likewise.
33591 * fs/cpio.c: Likewise.
33592 * fs/ext2.c: Likewise.
33593 * fs/fat.c: Likewise.
33594 * fs/hfs.c: Likewise.
33595 * fs/hfsplus.c: Likewise.
33596 * fs/iso9660.c: Likewise.
33597 * fs/jfs.c: Likewise.
33598 * fs/minix.c: Likewise.
33599 * fs/ntfs.c: Likewise.
33600 * fs/reiserfs.c: Likewise.
33601 * fs/sfs.c: Likewise.
33602 * fs/udf.c: Likewise.
33603 * fs/ufs.c: Likewise.
33604 * fs/xfs.c: Likewise.
33605 * include/grub/dl.h: Likewise.
33606 * loader/xnu.c: Likewise.
33607
de5fd76e 336082009-05-04 Pavel Roskin <proski@gnu.org>
33609
33610 * commands/acpi.c: Remove unused variable my_mod.
33611 * partmap/amiga.c: Likewise.
33612 * partmap/apple.c: Likewise.
33613 * partmap/gpt.c: Likewise.
33614 * partmap/pc.c: Likewise.
33615 * partmap/sun.c: Likewise.
33616 * term/gfxterm.c: Likewise.
33617 * term/i386/pc/vesafb.c: Likewise.
33618 * term/i386/pc/vga.c: Likewise.
33619
983598ad 336202009-05-04 David S. Miller <davem@davemloft.net>
33621
33622 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33623 pointer args to grub_ieee1275_get_property().
33624
8aadec43 33625 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33626
9554b15e 33627 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33628 devices, and do not traverse down under controller nodes.
33629
67e23c90 33630 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33631 (grub_ofdisk_open): Use it to un-escape "," characters.
33632 * kern/disk.c (find_part_sep): New.
33633 (grub_disk_open): Use it to find the first non-escaped ','
33634 character in the disk name.
33635 * util/ieee1275/devicemap.c (escape_of_path): New.
33636 (grub_util_emit_devicemap_entry): Use it.
33637 * util/sparc64/ieee1275/grub-install.in: Update script to
33638 strip partition specifiers properly by not triggering on
33639 '\' escaped ',' characters.
33640
74bfdd2f 336412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33642
33643 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33644 to 0x300.
33645 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33646 resolutions.
33647 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33648 on documentation from Wikipedia).
33649
4241d2b1 336502009-05-04 Pavel Roskin <proski@gnu.org>
33651
33652 * disk/ata.c: Spelling fixes.
33653 * disk/raid.c: Likewise.
33654 * disk/usbms.c: Likewise.
33655 * disk/dmraid_nvidia.c: Likewise.
33656 * kern/ieee1275/openfw.c: Likewise.
33657 * kern/ieee1275/init.c: Likewise.
33658 * kern/ieee1275/cmain.c: Likewise.
33659 * boot/i386/pc/cdboot.S: Likewise.
33660 * video/readers/png.c: Likewise.
33661 * video/i386/pc/vbe.c: Likewise.
33662 * fs/udf.c: Likewise.
33663 * fs/hfs.c: Likewise.
33664 * fs/reiserfs.c: Likewise.
33665 * efiemu/runtime/efiemu.c: Likewise.
33666 * efiemu/main.c: Likewise.
33667 * efiemu/mm.c: Likewise.
33668 * include/grub/elf.h: Likewise.
33669 * include/grub/xnu.h: Likewise.
33670 * include/grub/usbdesc.h: Likewise.
33671 * include/grub/usb.h: Likewise.
33672 * include/grub/script_sh.h: Likewise.
33673 * include/grub/lib/LzmaEnc.h: Likewise.
33674 * include/grub/efiemu/efiemu.h: Likewise.
33675 * include/grub/command.h: Likewise.
33676 * normal/menu.c: Likewise.
33677 * normal/main.c: Likewise.
33678 * normal/datetime.c: Likewise.
33679 * bus/usb/uhci.c: Likewise.
33680 * mmap/i386/uppermem.c: Likewise.
33681 * mmap/mmap.c: Likewise.
33682 * commands/acpi.c: Likewise.
33683 * commands/test.c: Likewise.
33684 * partmap/apple.c: Likewise.
33685 * font/font.c: Likewise.
33686 * loader/sparc64/ieee1275/linux.c: Likewise.
33687 * loader/macho.c: Likewise.
33688 * loader/i386/bsd_trampoline.S: Likewise.
33689 * loader/i386/bsd.c: Likewise.
33690 * loader/xnu.c: Likewise.
33691 * term/i386/pc/vesafb.c: Likewise.
33692 * term/usb_keyboard.c: Likewise.
33693 * util/resolve.c: Likewise.
33694 * util/getroot.c: Likewise.
33695
0cfc0083 336962009-05-04 Felix Zielcke <fzielcke@z-51.de>
33697
33698 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33699
7c1d00cd 337002009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33701
33702 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33703 build error.
33704
b01f0548 337052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33706
33707 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33708 parameter only available on BIOS.
33709
ecc3eb22 337102009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33711
33712 Removed wrong semicolon in declaration
33713
33714 * grub/misc.h (grub_dprintf): remove semicolon
33715
112972a9 337162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33717
33718 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33719 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33720 is done by grub_cmd_linux() now).
33721 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33722 restore video to text mode.
33723 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33724 indicates lack of "vga=" parameter. "vga=0" is mapped to
33725 `GRUB_LINUX_VID_MODE_NORMAL'.
33726
afd5c115 337272009-05-04 Felix Zielcke <fzielcke@z-51.de>
33728
33729 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33730 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33731 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33732 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33733 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33734 `grub_script.tab.c'.
33735
33736 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33737 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33740 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33741
faa517ce 33742 * Makefile.in: Remove duplicated 2008 in Copyright line.
33743
ae0c0bdc 337442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33745
473d1e45 33746 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33747 unconditionally.
33748 * include/grub/util/misc.h (grub_util_warn): New declaration.
33749
33750 * util/i386/pc/grub-install.in: Understand --force and pass it down
33751 to grub-setup.
33752
33753 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33754 down to setup().
33755 (setup): Improve error messages and add warnings when requested to
33756 install in odd layouts. Refuse to install using blocklists unless
33757 --force was set.
33758
18f547ad 337592009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33760
33761 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33762
6d260daa 337632009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33764
33765 Updated copyright year
33766
33767 * fs/hfsplus.c: updated copyright year
18f547ad 33768
69f853f8 337692009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33770
33771 HFS+ UUID
33772
18f547ad 33773 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33774 in the space previously used by unused3
33775 (grub_hfsplus_uuid): new function
33776 (grub_hfsplus_fs): added uuid field
33777
4c402e73 337782009-05-03 Pavel Roskin <proski@gnu.org>
33779
33780 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33781 suppress warnings. It's no longer needed.
33782 * disk/host.c: Likewise.
33783 * disk/ata_pthru.c: Likewise.
33784 * disk/loopback.c: Likewise.
33785 * hook/datehook.c: Likewise.
33786 * parttool/pcpart.c: Likewise.
33787 * fs/i386/pc/pxe.c: Likewise.
33788 * fs/ntfscomp.c: Likewise.
33789 * efiemu/main.c: Likewise.
33790 * mmap/mmap.c: Likewise.
33791 * commands/crc.c: Likewise.
33792 * commands/hexdump.c: Likewise.
33793 * commands/hdparm.c: Likewise.
33794 * commands/acpi.c: Likewise.
33795 * commands/echo.c: Likewise.
33796 * commands/minicmd.c: Likewise.
33797 * commands/blocklist.c: Likewise.
33798 * commands/memrw.c: Likewise.
33799 * commands/loadenv.c: Likewise.
33800 * commands/usbtest.c: Likewise.
33801 * commands/lsmmap.c: Likewise.
33802 * commands/boot.c: Likewise.
33803 * commands/parttool.c: Likewise.
33804 * commands/configfile.c: Likewise.
33805 * commands/search.c: Likewise.
33806 * commands/ieee1275/suspend.c: Likewise.
33807 * commands/cat.c: Likewise.
33808 * commands/i386/pc/pxecmd.c: Likewise.
33809 * commands/i386/pc/play.c: Likewise.
33810 * commands/i386/pc/halt.c: Likewise.
33811 * commands/i386/pc/vbeinfo.c: Likewise.
33812 * commands/i386/pc/vbetest.c: Likewise.
33813 * commands/lspci.c: Likewise.
33814 * commands/date.c: Likewise.
33815 * commands/handler.c: Likewise.
33816 * commands/ls.c: Likewise.
33817 * commands/test.c: Likewise.
33818 * commands/cmp.c: Likewise.
33819 * commands/efi/loadbios.c: Likewise.
33820 * commands/efi/fixvideo.c: Likewise.
33821 * commands/halt.c: Likewise.
33822 * commands/help.c: Likewise.
33823 * commands/reboot.c: Likewise.
33824 * hello/hello.c: Likewise.
33825 * script/sh/main.c: Likewise.
33826 * loader/xnu.c: Likewise.
33827 * term/terminfo.c: Likewise.
33828 * term/i386/pc/serial.c: Likewise.
33829 * term/usb_keyboard.c: Likewise.
33830
515b5079 338312009-05-03 David S. Miller <davem@davemloft.net>
33832
33833 * normal/menu.c: Include grub/parser.h
33834
dfc31a22 338352009-05-03 Pavel Roskin <proski@gnu.org>
33836
2fee74f1 33837 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33838 not char*.
33839 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33840 Suggested by Javier Martín <lordhabbit@gmail.com>
33841
dfc31a22 33842 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33843 efiemu??.o doesn't exist.
33844 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33845 copying.
33846
18f547ad 338472009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33848
33849 FreeBSD 64-bit support
33850
18f547ad 33851 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33852 and loader/i386/bsd_trampoline.S
33853 (bsd_mod_ASFLAGS): new variable
33854 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33855 (FREEBSD_MODTYPE_KERNEL64): likewise
33856 (grub_bsd64_trampoline_start): likewise
33857 (grub_bsd64_trampoline_end): likewise
33858 (grub_bsd64_trampoline_selfjump): likewise
33859 (grub_bsd64_trampoline_gdt): likewise
33860 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33861 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33862 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33863 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33864 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33865 of "attrib" member
33866 * loader/i386/bsd_pagetable.c: new file
33867 * loader/i386/bsd_trampoline.S: likewise
33868 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33869 (ALIGN_VAR): likewise
33870 (entry_hi): new variable
33871 (kern_end_mdofs): likewise
33872 (is_64bit): likewise
33873 (grub_freebsd_add_meta): use ALIGN_VAR
33874 (grub_e820_mmap): new declaration
33875 (grub_freebsd_add_mmap): new function
33876 (grub_freebsd_add_meta_module): support 64 bit kernels
33877 (grub_freebsd_list_modules): use ALIGN_VAR
33878 (gdt_descriptor): new declaration
33879 (grub_freebsd_boot): support 64 bit kernels
33880 (grub_bsd_elf64_hook): new function
33881 (grub_bsd_load_elf): support elf64
33882
038c5720 338832009-05-03 Bean <bean123ch@gmail.com>
33884
33885 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33886 after we get the result of if statement.
33887
fc45fb58 338882009-05-03 Bean <bean123ch@gmail.com>
33889
33890 * Makefile.in (enable_efiemu): New variable.
33891
33892 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33893 set.
33894 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33895 path.
33896 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33897 path, add -mno-red-zone option.
33898 (efiemu64_s.o): Likewise.
33899 (efiemu64.o): Use macro $^ for source file.
33900
33901 * configure.ac (--enable-efiemu): New option.
33902
bbee0f2b 339032009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33904
33905 xnu support
33906
33907 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33908 (pkglib_MODULES): add xnu.mod
33909 (xnu_mod_SOURCES): new variable
33910 (xnu_mod_CFLAGS): likewise
33911 (xnu_mod_LDFLAGS): likewise
33912 (xnu_mod_ASFLAGS): likewise
33913 * conf/i386-pc.rmk: likewise
33914 * conf/x86_64-efi.rmk: likewise
7dd4a573 33915 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33916 new declaration
33917 * include/grub/i386/macho.h: new file
33918 * include/grub/i386/xnu.h: likewise
33919 * include/grub/macho.h: likewise
33920 * include/grub/machoload.h: likewise
33921 * include/grub/x86_64/macho.h: likewise
33922 * include/grub/x86_64/xnu.h: likewise
33923 * include/grub/xnu.h: likewise
33924 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33925 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33926 * loader/i386/efi/xnu.c: new file
33927 * loader/i386/pc/xnu.c: likewise
33928 * loader/i386/xnu.c: likewise
33929 * loader/i386/xnu_helper.S: likewise
33930 * loader/macho.c: likewise
33931 * loader/xnu.c: likewise
33932 * loader/xnu_resume.c: likewise
33933 * util/grub-dumpdevtree: likewise
33934 * include/grub/i386/pit.h: include grub/err.h
33935 (grub_pit_wait): export
33936 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33937
5caf964d 339382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33939
33940 Efiemu
7dd4a573 33941
5caf964d 33942 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33943 _linux_efi, linux_efi.
33944 new files in grub-emu
5caf964d 33945 new targets efiemu32.o and efiemu64.o
33946 * loader/linux_normal_efiemu.c: likewise
33947 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33948 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33949 files to copy
33950 * include/grub/autoefi.h: new file
7dd4a573 33951 * include/grub/i386/efiemu.h: likewise
5caf964d 33952 * include/grub/i386/pc/efiemu.h: likewise
33953 * include/grub/efi/api.h: add LL suffix when necessary
33954 new definitions relating to tables
33955 * include/grub/efiemu/efiemu.h: new file
33956 * include/grub/efiemu/runtime.h: likewise
33957 * efiemu/prepare.c: likewise
33958 * efiemu/loadcore_common.c: likewise
33959 * efiemu/loadcore64.c: likewise
33960 * efiemu/runtime/efiemu.sh: likewise
33961 * efiemu/runtime/efiemu.S: likewise
33962 * efiemu/runtime/efiemu.c: likewise
33963 * efiemu/runtime/config.h: likewise
33964 * efiemu/prepare32.c: likewise
33965 * efiemu/main.c: likewise
33966 * efiemu/modules/pnvram.c: likewise
33967 * efiemu/modules/i386: likewise
33968 * efiemu/modules/i386/pc: likewise
33969 * efiemu/modules/acpi.c: likewise
33970 * efiemu/i386/pc/cfgtables.c: likewise
33971 * efiemu/i386/loadcore64.c: likewise
33972 * efiemu/i386/loadcore32.c: likewise
33973 * efiemu/prepare64.c: likewise
33974 * efiemu/loadcore.c: likewise
33975 * efiemu/symbols.c: likewise
33976 * efiemu/mm.c: likewise
33977 * efiemu/loadcore32.c: likewise
7dd4a573 33978
339792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33980
33981 ACPI spoofing
33982
33983 * commands/acpi.c: new file
33984 * commands/i386/pc/acpi.c: likewise
33985 * commands/efi/acpi.c: likewise
33986 * include/grub/acpi.h: likewise
33987 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33988 (acpi_mod_SOURCES): new variable
33989 (acpi_mod_CFLAGS): likewise
33990 (acpi_mod_LDFLAGS): likewise
33991 * conf/i386-efi.rmk: likewise
33992 * conf/x86_64-efi.rmk: likewise
33993
7dd4a573 339942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33995
33996 Missing part from mmap patch
33997
33998 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33999 (grub_mmap_unregister)
34000 (grub_mmap_free_and_unregister): use grub_mmap_register
34001
7dd4a573 340022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34003
34004 Mmap services
34005
34006 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34007 * loader/i386/linux.c (find_mmap_size): likewise
34008 (allocate_pages): likewise
34009 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34010 (grub_fill_multiboot_mmap): likewise
34011 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34012 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34013 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34014 (OPENBSD_MMAP_RESERVED): likewise
34015 * include/grub/i386/pc/memory.h: include grub/memory.h
34016 (grub_lower_mem): removed
34017 (grub_upper_mem): likewise
34018 (GRUB_MACHINE_MEMORY_ACPI): new definition
34019 (GRUB_MACHINE_MEMORY_NVS): likewise
34020 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34021 (GRUB_MACHINE_MEMORY_HOLE): likewise
34022 (grub_machine_mmap_register): likewise
34023 (grub_machine_mmap_unregister): likewise
34024 (grub_machine_get_upper): likewise
34025 (grub_machine_get_lower): likewise
34026 (grub_machine_get_post64): likewise
34027 * include/grub/i386/efi/memory.h: new file
34028 * include/grub/x86_64/efi/memory.h: likewise
34029 * include/grub/efi/memory.h: likewise
34030 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34031 (mmap_mod_SOURCES): new variable
34032 (mmap_mod_LDFLAGS): likewise
34033 (mmap_mod_ASFLAGS): likewise
34034 * conf/i386-coreboot.rmk: likewise
34035 * conf/i386-ieee1275.rmk: likewise
34036 * conf/i386-efi.rmk: likewise
34037 * conf/x86_64-efi.rmk: likewise
34038 * include/grub/types.h (UINT_TO_PTR): new macro
34039 (PTR_TO_UINT32): likewise
34040 (PTR_TO_UINT64): likewise
34041 * include/grub/memory.h: new file
34042 * mmap/i386/pc/mmap.c: likewise
34043 * mmap/i386/pc/mmap_helper.S: likewise
34044 * mmap/i386/uppermem.c: likewise
34045 * mmap/mmap.c: likewise
34046 * mmap/efi/mmap.c: likewise
7dd4a573 34047 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34048 grub_upper_mem
34049 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34050 (grub_upper_mem): likewise
34051 (grub_machine_init): don't use grub_upper_mem,
34052 make grub_lower_mem local
34053 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34054 grub_mmap_iterate and grub_mmap_get_upper
34055 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34056
d558e6b5 340572009-05-02 Bean <bean123ch@gmail.com>
34058
34059 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34060 script/sh/parser.y.
34061 (pkglib_MODULES): Add normal.mod and sh.mod.
34062 (normal_SOURCES): New variable.
34063 (normal_mod_CFLAGS): Likewise.
34064 (normal_mod_LDFLAGS): Likewise.
34065 (sh_mod_SOURCES): Likewise.
34066 (sh_mod_CFLAGS): Likewise.
34067 (sh_mod_LDFLAGS): Likewise.
34068
34069 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34070 script/sh/lexer.c_DEPENDENCIES.
34071 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34072 kern/rescue_reader.c and kern/rescue_parser.c.
34073 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34074 (grub_emu_SOURCES): Change source files.
34075 (pkglib_MODULES): Remove normal.mod.
34076 (normal_SOURCES): Removed.
34077 (normal_mod_CFLAGS): Likewise.
34078 (normal_mod_LDFLAGS): Likewise.
34079 * conf/i386-coreboot.rmk: Likewise.
34080 * conf/i386-efi.rmk: Likewise.
34081 * conf/i386-ieee1276.rmk: Likewise.
34082 * conf/powerpc-ieee1275.rmk: Likewise.
34083 * conf/sparc64-ieee1275.rmk: Likewise.
34084 * conf/x86_64-efi.rmk: Likewise.
34085
34086 * include/grub/command.h (grub_command_execute): New inline function.
34087
34088 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34089
34090 * include/grub/normal.h: Remove <grub/setjmp.h>.
34091 (grub_fs_module_list): Moved to normal/autofs.c.
34092 (grub_exit_env): Removed.
34093 (grub_command_execute): Likewise.
34094 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34095 parameter script.
34096 (read_command_list): New function declaration.
34097 (read_fs_list): Likewise.
34098
34099 * include/parser.h: Include <grub/reader.h>.
34100 (grub_parser_split_cmdline): Change type of getline parameter.
34101 (grub_parser): New structure.
34102 (grub_parser_class): New variable.
34103 (grub_parser_execute): New function declaration.
34104 (grub_register_rescue_parser): Likewise.
34105 (grub_parser_register): New inline function.
34106 (grub_parser_unregister): Likewise.
34107 (grub_parser_get_current): Likewise.
34108 (grub_parser_set_current): Likewise.
34109
34110 * include/grub/reader.h: New file.
34111 * kern/reader.c: Likewise.
34112 * kern/rescue_parser.c: Likewise.
34113 * kern/rescue_reader.c: Likewise.
34114 * normal/autofs.c: Likewise.
34115 * normal/dyncmd.c: Likewise.
34116
34117 * include/grub/rescue.h: Removed.
34118 * normal/command.h: Likewise.
34119
34120 * include/grub/script.h: Moved to ...
34121 * include/grub/script_sh.h: ... Moved here.
34122 * normal/execute.c: Moved to ...
34123 * script/sh/execute.c: ... Moved here.
34124 * normal/function.c: Moved to ...
34125 * script/sh/function.c: ... Moved here.
34126 * normal/lexer.c: Moved to ...
34127 * script/sh/lexer.c: ... Moved here.
34128 * normal/parser.y: Moved to ...
34129 * script/sh/parser.y: ... Moved here.
34130 * normal/script.c: Moved to ...
34131 * script/sh/script.c: ... Moved here.
34132
34133 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34134 <grub/reader.h>.
34135 (grub_exit_env): Removed.
34136 (fs_module_list): Moved to normal/autofs.c.
34137 (grub_file_getline): Don't handle comment here.
34138 (free_menu): Skip removed field entry->commands.
34139 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34140 script parameter.
34141 (read_config_file): Removed nested parameter, change getline function.
34142 (grub_enter_normal_mode): Removed.
34143 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34144 (read_command_list): Likewise.
34145 (autoload_fs_module): Moved to normal/autofs.c.
34146 (read_fs_list): Likewise.
34147 (reader_nested): New variable.
34148 (grub_normal_execute): Run parser.sh to switch to sh parser.
34149 (grub_cmd_rescue): Removed.
34150 (cmd_normal): Removed.
34151 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34152 rescue command.
34153 (grub_cmdline_run): New function.
34154 (grub_normal_reader_init): Likewise.
34155 (grub_normal_read_line): Likewise.
34156 (grub_env_write_pager): Likewise.
34157 (cmdline): New variable.
34158 (grub_normal_reader): Likewise.
34159 (GRUB_MOD_INIT): Register normal reader and set as current, register
34160 pager hook, register normal command with grub_register_command_prio,
34161 so that it won't show up in command.lst.
34162 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34163 grub_fs_autoload_hook.
34164
34165 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34166 (grub_menu_execute_entry): Replace grub_script_execute with
34167 grub_parser_execute, change parameter to grub_command_execute.
34168
34169 * normal/menu_text.c: Remove <grub/script.h>.
34170
34171 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34172 and <grub/parser.h>.
34173 (run): Change editor_getline to use new parser interface. Change
34174 parameter to grub_command_execute.
34175
34176 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34177 <grub/reader.h> and <grub/parser.h>.
34178 (grub_load_normal_mode): Execute normal command.
34179 (grub_main): Call grub_register_core_commands,
34180 grub_register_rescue_parser and grub_register_rescue_reader, use
34181 grub_reader_loop to enter input loop.
34182
7dd4a573 34183 * kern/parser.c (grub_parser_split_cmdline): Change type of
34184 getline parameter.
d558e6b5 34185 (grub_parser_class): New variable.
34186 (grub_parser_execute): New function.
34187
34188 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34189 * loader/multiboot2.c: Likewise.
34190 * loader/sparc64/ieee1275/linux.c: Likewise.
34191
34192 * util/grub-emu.c (read_command_list): New dummy function.
34193
18db813d 341942009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34195
34196 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34197 count to 16 for CCISS and IDA.
34198
6c67de15 341992009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34200
34201 * normal/menu_text.c (grub_wait_after_message): Print a newline
34202 after waiting for user input.
34203
34204 * loader/i386/linux.c: Include `<grub/normal.h>'.
34205 (grub_cmd_linux): Improve the error message about `ask' mode, by
34206 waiting for user input so it's not missed (we can do this, since
34207 user requested interaction).
34208
d9dc87b0 342092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34210
34211 Added missing lst to grub-mkrescue
34212
34213 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34214 and ${input_dir}/parttool.lst
34215
ac8a2baa 342162009-04-30 David S. Miller <davem@davemloft.net>
34217
ad22a610 34218 * util/hostdisk.c (device_is_wholedisk): New function.
34219 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34220 zero only if device_is_wholedisk() returns true.
34221
6966215d 34222 * util/hostdisk.c (convert_system_partition_to_system_disk):
34223 Handle virtual disk devices named /dev/vdiskX as found on sparc
34224 and powerpc.
34225
ac8a2baa 34226 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34227 lettered partition specifier is found, convert to numbered.
34228
979b4fb4 342292009-04-29 David S. Miller <davem@davemloft.net>
34230
e2bf39b2 34231 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34232 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34233
3c64e104 34234 * normal/command.c: Add missing newline at end of file.
34235
979b4fb4 34236 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34237 warnings.
34238 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34239 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34240 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34241 ihandles have a 32-bit type but need to be stored in a "void *".
34242
136d9f82 342432009-04-28 Pavel Roskin <proski@gnu.org>
34244
9459c306 34245 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34246 not disk. Adjust all dependencies.
2e08a26a 34247 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34248 grub_disk_close().
34249
136d9f82 34250 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34251 parent's partition, don't copy it by reference, as it gets freed
34252 on close.
34253
7dd4a573 342542009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34255
34256 Preboot hooks support
34257
34258 * commands/boot.c (struct grub_preboot_t): new declaration
34259 (preboots_head): new variable
34260 (preboots_tail): likewise
34261 (grub_loader_register_preboot_hook): new function
34262 (grub_loader_unregister_preboot_hook): likewise
34263 (grub_loader_set): launch preboot hooks
34264 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34265 (grub_loader_register_preboot_hook): new declaration
34266 (grub_loader_unregister_preboot_hook): likewise
34267
5af922b5 342682009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34269
34270 Warning fix
34271
7dd4a573 34272 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34273 calling grub_dprintf
34274
a5562c30 342752009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34276
34277 Bug and warning fixes
34278
7dd4a573 34279 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34280 declaration
34281 * commands/test.c (test_parse): fixed bug with file tests and corrected
34282 declaration of find_file
34283
4006f85c 342842009-04-26 Pavel Roskin <proski@gnu.org>
34285
34286 * Makefile.in: Don't install empty manual pages if help2man is
34287 missing. Use help2man option for output, not shell redirection.
34288
5c77c3de 342892009-04-26 David S. Miller <davem@davemloft.net>
34290
34291 * util/grub-mkdevicemap.c (make_device_map): Add missing
34292 NESTED_FUNC_ATTR to process_device().
34293
033b10a8 342942009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34295
34296 Test command
34297
34298 * commands/test.c: rewritten to use bash-like test
34299
e4343593 343002009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34301
34302 Parttool autoloading and improvements
34303
7dd4a573 34304 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34305 (parttool.lst): new target
34306 * genmk.rb: generate parttool-*
34307 (CLEANFILES): add #{parttool}
34308 (PARTTOOLFILES): new variable
34309 * genparttoollist.sh: new file
7dd4a573 34310 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34311 (grub_pcpart_type): likewise
34312 * commands/parttool.c (helpmsg): new variable
34313 (grub_cmd_parttool): output help if not enough arguments are supplied
34314 autoload modules
34315 (GRUB_MOD_INIT(parttool)): use helpmsg
34316
0d312500 343172009-04-24 David S. Miller <davem@davemloft.net>
34318
7dd4a573 34319 Avoiding opening same device multiple times in device iterator.
0d312500 34320
34321 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34322 and use it to build a list of partitions in iterate_disk() and
0d312500 34323 iterate_partition().
34324
ac20caff 34325 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34326 on disk->data.
34327
0dcf7495 34328 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34329 grub_devalias_iterate() result instead of unconditional 0.
34330 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34331 Also, capture hook return value, either directly or via
34332 grub_children_iterate(), and propagate to caller.
34333 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34334 grub_children_iterate): Return value is now 'int' instead of
34335 'grub_err_t'.
34336 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34337 like a proper iterator, stopping when hooks return non-zero.
34338 (grub_devalias_iterate): Likewise.
34339
c8c08833 343402009-04-23 David S. Miller <davem@davemloft.net>
34341
34342 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34343
f01005a8 343442009-04-22 David S. Miller <davem@davemloft.net>
34345
34346 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34347 is larger than address_cells, use that value for address_cells too.
34348
4e8269da 34349 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34350 IEEE1275_MAX_PATH_LEN): Define.
34351 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34352 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34353 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34354 'devtype'. Explicitly NULL terminate devalias expansion.
34355
a1447506 34356 * util/sparc64/ieee1275/misc.c: New file.
34357 * util/sparc64/ieee1275/grub-setup.c: New file.
34358 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34359 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34360 * util/sparc64/ieee1275/grub-install.in: New file.
34361 * util/ieee1275/ofpath.c: New file.
34362 * util/ieee1275/devicemap.c: New file.
34363 * util/devicemap.c: New file.
34364 * util/deviceiter.c: New file.
34365 * kern/sparc64/ieee1275/init.c: New file.
34366 * include/grub/util/ofpath.h: New file.
34367 * include/grub/util/deviceiter.h: New file.
34368 * util/grub-mkdevicemap.c: Include deviceiter.h.
34369 Implement using grub_util_emit_devicemap_entry and
34370 grub_util_iterate_devices.
34371 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34372 util/devicemap.c into grub-mkdevicemap
34373 * conf/i386-efi.rmk: Likewise.
34374 * conf/i386-ieee1275.rmk: Likewise.
34375 * conf/i386-pc.rmk: Likewise.
34376 * conf/powerpc-ieee1275.rmk: Likewise.
34377 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34378 images and installation utilities. Build kernel as image
34379 instead of as elf binary. Use common rules as much as possible.
34380
7dd4a573 343812009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34382
34383 Correct GPT definition
34384
7dd4a573 34385 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34386 of "attrib" member
34387
c6c5219f 343882009-04-19 Felix Zielcke <fzielcke@z-51.de>
34389
34390 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34391
0552ff9f 343922009-04-19 David S. Miller <davem@davemloft.net>
34393
34394 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34395 (grub_rescue_cmd_linux): Rename to...
34396 (grub_cmd_linux): and fix prototype.
34397 (grub_rescue_cmd_initrd): Rename to...
34398 (grub_cmd_initrd): and fix prototype.
34399 (cmd_linux, cmd_initrd): New.
34400 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34401 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34402
d1a282fc 344032009-04-17 Pavel Roskin <proski@gnu.org>
34404
07c5039f 34405 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34406 format.
34407 (grub_ohci_transfer): Likewise.
34408
b012002d 34409 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34410
1bc09c35 34411 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34412 return without a value. Fix inconsistent indentation.
34413
e0ff9126 34414 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34415 match struct grub_fs.
34416
d1a282fc 34417 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34418 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34419 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34420 * commands/lspci.c (grub_lspci_iter): Likewise.
34421
a96df3f2 344222009-04-16 Bean <bean123ch@gmail.com>
34423
34424 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34425 value.
34426
41bb0fe9 344272009-04-15 Pavel Roskin <proski@gnu.org>
34428
34429 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34430 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34431 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34432 definitions.
34433
596c6970 344342009-04-15 Felix Zielcke <fzielcke@z-51.de>
34435
34436 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34437 that no multiple data or metadata areas are supported and `Unknown
596c6970 34438 metadata header'.
34439
7dd4a573 344402009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34441
34442 Move loader out of the kernel
34443
34444 * kern/loader.c: moved to ...
34445 * commands/boot.c: ... moved here
34446 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34447 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34448 * include/grub/kernel.h (grub_machine_fini): export
34449 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34450 (grub_loader_set): likewise
34451 (grub_loader_unset): likewise
34452 (grub_loader_boot): likewise
34453 * conf/common.rmk: new module boot.mod
34454 (pkglib_MODULES): add boot.mod
34455 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34456 (grub_emu_SOURCES): likewise
34457 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34458 (grub_emu_SOURCES): likewise
34459 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34460 (grub_emu_SOURCES): likewise
34461 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34462 (grub_emu_SOURCES): likewise
34463 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34464 (grub_emu_SOURCES): likewise
7dd4a573 34465 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34466 (grub_emu_SOURCES): likewise
0d5d5653 34467 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34468 (grub_emu_SOURCES): likewise
0d5d5653 34469
7dd4a573 344702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34471
34472 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34473
5999d619 34474 * kern/misc.c (grub_itoa): Removed function
34475 (grub_ltoa): likewise
34476 (grub_vsprintf): use grub_lltoa
34477
7dd4a573 344782009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34479
34480 Restore grub-emu
34481
34482 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34483 * conf/i386-coreboot.rmk: likewise
34484 * conf/i386-ieee1275.rmk: likewise
34485 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34486
20318222 344872009-04-15 Felix Zielcke <fzielcke@z-51.de>
34488
34489 * INSTALL: Add that `./autogen.sh' needs to be run before
34490 `./configure.'.
34491
d05f0df3 344922009-04-14 Bean <bean123ch@gmail.com>
34493
34494 * Makefile.in (pkglib_DATA): Add handler.lst.
34495 (handler.lst): New rule.
34496
34497 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34498 * conf/i386-coreboot.rmk: Likewise.
34499 * conf/i386-ieee1275.rmk: Likewise.
34500 * conf/i386-efi.rmk: Likewise.
34501 * conf/x86_64-efi.rmk: Likewise.
34502 * conf/powerpc-ieee1275.rmk: Likewise.
34503 * conf/sparc64-ieee1275.rmk: Likewise.
34504
34505 * genhandlerlist.sh: New file.
34506
34507 * genmk.rb: Add rules to generate handler.lst.
34508
34509 * include/grub/normal.h (grub_file_getline): New function definition.
34510 (read_handler_list): Likewise.
34511 (free_handler_list): Likewise.
34512
34513 * include/grub/term.h (grub_term_register_input): Add name parameter
34514 for auto generation of handler.lst.
34515 (grub_term_register_output): Likewise.
34516
34517 * normal/handler.c: New file.
34518
34519 * normal/main.c (get_line): Renamed to grub_file_getline.
34520 (read_config_file): Use the newly renamed grub_file_getline.
34521 (read_command_list): Likewise.
34522 (read_fs_list): Likewise.
34523 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34524 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34525
34526 * term/efi/console.c (grub_console_init): Add name parameter for auto
34527 generation of handler.lst.
34528 * term/gfxterm.c: Likewise.
34529 * term/i386/pc/at_keyboard.c: Likewise.
34530 * term/i386/pc/console.c: Likewise.
34531 * term/i386/pc/serial.c: Likewise.
34532 * term/i386/pc/vesafb.c: Likewise.
34533 * term/i386/pc/vga.c: Likewise.
34534 * term/i386/pc/vga_text.c: Likewise.
34535 * term/ieee1275/ofconsole.c: Likewise.
34536 * term/usb_keyboard.c: Likewise.
34537
33c846be 345382009-04-14 Bean <bean123ch@gmail.com>
34539
34540 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34541 properly with null character.
34542
4484e01e 345432009-04-14 Felix Zielcke <fzielcke@z-51.de>
34544
34545 * configure: Remove.
34546 * config.h.in: Likewise.
f93d668e 34547 * stamp-h.in: Likewise.
4484e01e 34548 * DISTLIST: Likewise.
34549 * conf/common.mk: Likewise.
34550 * conf/i386-coreboot.mk: Likewise.
34551 * conf/i386-efi.mk: Likewise.
34552 * conf/i386-ieee1275.mk: Likewise.
34553 * conf/i386.mk: Likewise.
34554 * conf/i386-pc.mk: Likewise.
34555 * conf/powerpc-ieee1275.mk: Likewise.
34556 * conf/sparc64-ieee1275.mk: Likewise.
34557 * conf/x86_64-efi.mk: Likewise.
34558
34559 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34560 develop on GRUB.
34561
7dd4a573 345622009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34563 David S. Miller <davem@davemloft.net>
34564
34565 * util/hostdisk.c (make_device_name): Fix buffer length
34566 calculations.
34567
e25b5a8c 345682009-04-14 Felix Zielcke <fzielcke@z-51.de>
34569
34570 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34571 <sys/param.h> and <sys/sysctl.h>.
34572 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34573 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34574 opening the device and reset them afterwards.
34575
1f1f580c 345762009-04-13 Pavel Roskin <proski@gnu.org>
34577
34578 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34579 Reported by John Stanley <jpsinthemix@verizon.net>
34580
7ebc2d6b 345812009-04-13 Robert Millan <rmh@aybabtu.com>
34582
34583 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34584 that name for menuentries when appropriate.
7ebc2d6b 34585
d8ba3667 345862009-04-13 Felix Zielcke <fzielcke@z-51.de>
34587
34588 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34589
cba416eb 345902009-04-13 Robert Millan <rmh@aybabtu.com>
34591
34592 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34593 to Linux, simply abort telling the user it's no longer supported.
34594
a547a745 345952009-04-13 Felix Zielcke <fzielcke@z-51.de>
34596
34597 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34598 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34599 `freebsd_loadenv' only when devices.hints exist.
34600
232a769c 346012009-04-13 Pavel Roskin <proski@gnu.org>
34602
34603 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34604
c3012039 346052009-04-13 Felix Zielcke <fzielcke@z-51.de>
34606
34607 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34608 partition number.
34609 (grub_drive): Likewise.
34610
234022fe 346112009-04-13 David S. Miller <davem@davemloft.net>
34612
34613 * kern/sparc64/ieee1275/ieee1275.c: New file.
34614 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34615 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34616 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34617 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34618 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34619 grub_ieee1275_alloc_physmem): Declare new exported functions.
34620
d8e1836c 34621 * include/grub/sparc64/ieee1275/loader.h: New file.
34622 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34623 * include/grub/sparc64/kernel.h: Likewise.
34624 * loader/sparc64/ieee1275/linux.c: Likewise.
34625
96bd81ec 34626 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34627 (grub_fstest_SOURCES): Likewise.
34628
6a4737e5 34629 * util/hostdisk.c (make_device_name): Do not make any assumptions
34630 about the length of drive names.
34631
1d7a72fd 34632 * kern/dl.c (grub_dl_load_file): Close file immediately when
34633 we are done using it.
34634
56bc2471 346352009-04-12 David S. Miller <davem@davemloft.net>
34636
34637 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34638 values. Noticed by Pavel Roskin.
34639
df38d0bb 34640 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34641 target compiler.
7dd4a573 34642
e382e93a 34643 * genmk.rb: Add more flexible image type specification, also
34644 pass --strip-unneeded to objcopy.
34645 * conf/i386-pc.rmk: Use *_FORMAT.
34646 * conf/i386-pc.mk: Rebuilt.
34647
f5dbbca9 34648 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34649 (OFDISK_HASH_SZ): Define.
34650 (ofdisk_hash): New hash table.
34651 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34652 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34653 instead of device phandle which is not unique.
34654
91c88b12 34655 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34656 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34657 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34658 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34659 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34660 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34661 GRUB_KERNEL_MACHINE_DATA_END): Define.
34662 (grub_kernel_image_size, grub_total_module_size): Declare.
34663
5b5d4aa5 346642009-04-12 Pavel Roskin <proski@gnu.org>
34665
7dd4a573 34666 * configure.ac: Change the logic when we check for target tools.
34667 Do it when the target is specified and it's different from the
34668 specified value of the host.
5b5d4aa5 34669
c91e1793 346702009-04-11 Felix Zielcke <fzielcke@z-51.de>
34671
34672 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34673 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34674 GNU/kFreeBSD. Check if a device is a character device. Use
34675 DIOCGMEDIASIZE to get the size.
34676 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34677 support for GNU/kFreeBSD.
34678 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34679 is a character device instead of a block device. Add support for
34680 FreeBSD device names.
34681
34682 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34683 is a character device instead of a block device.
34684
34685 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34686 is a character device instead of a block device.
34687
b1ac8644 346882009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34689
34690 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34691 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34692 FreeBSD. Check if a device is a character device. Use
34693 DIOCGMEDIASIZE to get the size.
34694 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34695 support for FreeBSD.
34696 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34697 is a character device instead of a block device. Add support for
34698 FreeBSD device names.
34699
34700 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34701 a character device instead of a block device.
34702 (grub_util_check_char_device): New function.
34703
34704 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34705 a character device instead of a block device.
34706
34707 * include/grub/util/getroot.h (grub_util_check_char_device): New
34708 prototype.
34709
a3f7515a 347102009-04-11 David S. Miller <davem@davemloft.net>
34711
34712 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34713 static libgcc.
34714 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34715 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34716 function, if present.
34717 (__bswapdi2): Likewise.
34718
0d44993d 34719 * include/grub/sparc64/ieee1275/boot.h: New file.
34720 * boot/sparc64/ieee1275/boot.S: Likewise.
34721 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34722
ed3d2bc2 34723 * kern/misc.c (grub_ltoa): New function.
34724 (grub_vsprintf): Use it to format 'long' integers.
34725
d3bfb59c 347262009-04-10 David S. Miller <davem@davemloft.net>
34727
34728 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34729 slots are of type grub_ieee1275_cell_t.
34730 (grub_nand_read): Likewise.
34731 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34732 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34733 macros are used to compare values in arg/ret block of the call.
34734 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34735 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34736 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34737 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34738 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34739 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34740 grub_ieee1275_close, grub_ieee1275_set_property,
34741 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34742 grub_ieee1275_cell_t.
34743 * kern/ieee1275/openfw.c (grub_map): Likewise.
34744 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34745 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34746
450e2238 34747 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34748 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34749 (grub_devalias_iterate): Likewise.
34750
7dd4a573 347512009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34752
34753 UFS improvements
34754
34755 * fs/ufs.c (INODE_NBLOCKS): new definition
34756 (struct grub_ufs_dirent): added fields for non-BSD dirents
34757 (grub_ufs_get_file_block): fixed double indirect handling
34758 (grub_ufs_lookup_symlink): use more robust way to determine whether
34759 symlink is inline
34760 (grub_ufs_find_file): support for non-BSD dirents
34761 (grub_ufs_dir): support for non-BSD dirents
34762
e7e6862a 347632009-04-10 Bean <bean123ch@gnail.com>
34764
34765 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34766 attribute, otherwise the size would be wrong for i386 platform.
34767
34768 * include/grub/pci.h (grub_pci_read_word): New inline function.
34769 (grub_pci_read_byte): Likewise.
34770 (grub_pci_write): Likewise.
34771 (grub_pci_write_word): Likewise.
34772 (grub_pci_write_byte): Likewise.
34773
34774 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34775
34776 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34777 (find_framebuf): Scan pci to locate the frame buffer address.
34778
34779 * commands/efi/fixvideo.c: New file.
34780
34781 * commands/efi/loadbios.c: Likewise.
34782
34783 * commands/memrw.c: Likewise.
34784
34785 * util/grub-dumpbios.in: Likewise.
34786
34787 * conf/common.rmk (grub-dumpbios): New utility.
34788 (pkglib_MODULES): New module memrw.mod.
34789 (memrw_mod_SOURCE): New macro.
34790 (memrw_mod_CFLAGS): Likewise.
34791 (memrw_mod_LDFLAGS): Likewise.
34792
7dd4a573 34793 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34794 fixvideo.mod.
34795 (loadbios_mod_SOURCE): New macro.
34796 (loadbios_mod_CFLAGS): Likewise.
34797 (loadbios_mod_LDFLAGS): Likewise.
34798 (fixvideo_mod_SOURCE): Likewise.
34799 (fixvideo_mod_CFLAGS): Likewise.
34800 (fixvideo_mod_LDFLAGS): Likewise.
34801
7dd4a573 34802 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34803 fixvideo.mod.
34804 (loadbios_mod_SOURCE): New macro.
34805 (loadbios_mod_CFLAGS): Likewise.
34806 (loadbios_mod_LDFLAGS): Likewise.
34807 (fixvideo_mod_SOURCE): Likewise.
34808 (fixvideo_mod_CFLAGS): Likewise.
34809 (fixvideo_mod_LDFLAGS): Likewise.
34810
af63ada2 348112009-04-08 Felix Zielcke <fzielcke@z-51.de>
34812
34813 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34814
c2cdde70 348152009-04-07 David S. Miller <davem@davemloft.net>
34816
34817 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34818 support for R_SPARC_OLO10 relocations. Fix compile warning for
34819 R_SPARC_WDISP30 case.
ea3f72cf 34820 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34821
761319cf 348222009-04-06 Pavel Roskin <proski@gnu.org>
34823
1007d1f5 34824 * include/grub/misc.h (ARRAY_SIZE): New macro.
34825 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34826 New macro.
34827 * loader/i386/linux.c (allocate_pages): Use free_pages().
34828 (grub_linux_unload): Don't use free_pages().
34829 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34830 wrong index. Treat all other modes as text modes.
34831 (grub_cmd_linux): Initialize vid_mode unconditionally to
34832 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34833
761319cf 34834 * commands/help.c (print_command_help): Use cmd->prio, not
34835 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34836
ea761d40 348372009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34838
ea761d40 34839 Parttool
34840
34841 * parttool/pcpart.c: new file
34842 * commands/parttool.c: likewise
34843 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34844 (parttool_mod_SOURCES): new variable
34845 (parttool_mod_CFLAGS): likewise
34846 (parttool_mod_LDFLAGS): likewise
34847 (pcpart_mod_SOURCES): likewise
34848 (pcpart_mod_CFLAGS): likewise
34849 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34851 and parttool/pcpart.c
34852 * conf/i386-efi.rmk: likewise
34853 * conf/i386-ieee1275.rmk: likewise
34854 * conf/i386-pc.rmk: likewise
34855 * conf/powerpc-ieee1275.rmk: likewise
34856 * conf/sparc64-ieee1275.rmk: likewise
34857 * conf/x86_64-ieee1275.rmk: likewise
34858
05aaebfb 348592009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34860
34861 Support for mtime and further expandability of dir command
34862
34863 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34864 * include/grub/datetime.h: ... moved here and added
05aaebfb 34865 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34866 * include/grub/fs.h: new syntax for dir and mtime functions in
34867 struct grub_fs
05aaebfb 34868 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34869 and GRUB_FSHELP_FLAGS_MASK
34870 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34871 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34872 (grub_ext2_mtime): new function
34873 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34874 (grub_hfsplus_mtime): new function
34875 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34876 (GRUB_UFS_ATTR_FILE): likewise
34877 (GRUB_UFS_ATTR_LNK): likewise
34878 (struct grub_ufs_sblock): new fields mtime
34879 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34880 all users updated
34881 (grub_ufs_dir): mtime support
34882 (grub_ufs_mtime): new function
34883 * fs/affs.c (grub_affs_dir): use new dir syntax
34884 * fs/afs.c (grub_afs_dir): likewise
34885 * fs/cpio.c (grub_cpio_dir): likewise
34886 * fs/fat.c (grub_fat_find_dir): likewise
34887 * fs/hfs.c (grub_hfs_dir): likewise
34888 * fs/iso9660.c (grub_iso9660_dir): likewise
34889 * fs/jfs.c (grub_jfs_dir): likewise
34890 * fs/minix.c (grub_minix_dir): likewise
34891 * fs/ntfs.c (grub_ntfs_dir): likewise
34892 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34893 * fs/sfs.c (grub_sfs_dir): likewise
34894 * fs/xfs.c (grub_xfs_dir): likewise
34895 * util/hostfs.c (grub_hostfs_dir): likewise
34896 * lib/datetime.c: moved to ...
34897 * normal/datetime.c: ... moved here
34898 (grub_unixtime2datetime): new function
34899 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34900 * normal/completion.c (iterate_dir): use new dir syntax
34901 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34902 last modification time of a volume
7dd4a573 34903 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34904 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34905 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34906 (normal_mod_SOURCES): likewise
34907 (datetime_mod_SOURCES): Removed lib/datetime.c
34908 * conf/i386-efi.rmk: likewise
7dd4a573 34909 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34910 * conf/i386-pc.rmk: likewise
34911 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34912 * conf/sparc64-ieee1275.rmk: likewise
34913 * conf/x86_64-efi.rmk: likewise
05aaebfb 34914
8a7e1a14 349152009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34916
34917 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34918
34919 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34920 on grub_fat_find_dir
34921 (grub_fat_find_dir): use grub_fat_iterate_dir
34922 (grub_fat_label): likewise
34923
04186a9c 349242009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34925
7dd4a573 34926 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34927 and command.h
34928 remove extraneous kernel_elf_HEADERS
34929
da4c0bb6 349302009-04-04 Bean <bean123ch@gnail.com>
34931
34932 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34933
34934 * util/misc.c: Likewise.
34935
54ad9555 349362009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34937
34938 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34939 instead of grub_printf.
34940
7a6bf9f2 349412009-04-03 Robert Millan <rmh@aybabtu.com>
34942
34943 * loader/i386/linux.c (grub_linux_setup_video): Fill
34944 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34945 values from `mode info' structure instead of hardcoded
34946 values.
34947
3fcc2083 349482009-04-01 Pavel Roskin <proski@gnu.org>
34949
34950 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34951 unused now.
34952 * genmk.rb: Likewise.
34953 * configure.ac: Likewise.
34954
5ec9740b 349552009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34956
34957 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34958 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34959
5270cec8 349602009-04-01 David S. Miller <davem@davemloft.net>
34961
34962 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34963 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34964 (grub_setjmp): Mark with 'returns_twice' attribute.
34965 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34966 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34967 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34968
9c3dd854 349692009-04-01 Robert Millan <rmh@aybabtu.com>
34970
34971 Reapply fix from 2008-07-28 which was accidentally reverted; also
34972 perform the same fix to a similar check in same function.
34973
34974 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34975 with the same number are found, just use issue a warning with
34976 grub_dprintf(), as this error has been reported to be non-fatal.
34977
0d818b7e 349782009-03-31 Pavel Roskin <proski@gnu.org>
34979
34980 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34981 for cross-compilation.
34982
95646d92 349832009-03-30 Robert Millan <rmh@aybabtu.com>
34984
34985 Fix i386-ieee1275 build.
34986
34987 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34988 Remove declaration.
34989
6a003ed1 349902009-03-30 Pavel Roskin <proski@gnu.org>
34991
34992 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34993 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34994 zero-terminated, rely only on the strlen value. Fix comparison
34995 of strings differing in length.
34996
92f33540 349972009-03-30 Robert Millan <rmh@aybabtu.com>
34998
34999 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35000 checking for abi version. Improve error messages on BIOS to notify
35001 user about `linux16' command.
35002
a8c48fd5 350032009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35004
f968172e 35005 Leak fixes
a8c48fd5 35006
f968172e 35007 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35008 in case of collision
35009 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35010
9c323f09 350112009-03-29 Robert Millan <rmh@aybabtu.com>
35012
35013 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35014 set `vid_mode' accordingly.
35015 (grub_linux_boot): Process `vid_mode' and set video mode.
35016
ae68f423 350172009-03-29 Robert Millan <rmh@aybabtu.com>
35018
35019 * util/grub.d/10_linux.in (linux_entry): New function.
35020 Factorize generation of Linux boot entries.
35021
5709cfc4 350222009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35023
35024 Make the format of Environment Block plain text. The boot loader
35025 part is not tested well yet.
7dd4a573 35026
5709cfc4 35027 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35028 (buffer): Removed.
35029 (envblk): Likewise.
35030 (usage): Remove "info" and "clear". Add "unset". Update the
35031 description of "set", as this does not delete variables any
35032 longer.
35033 (create_envblk_file): Complete rewrite.
35034 (open_envblk_file): Likewise.
35035 (cmd_info): Removed.
35036 (cmd_list): Likewise.
35037 (cmd_set): Likewise.
35038 (cmd_clear): Likewise.
35039 (list_variables): New function.
35040 (write_envblk): Likewise.
35041 (set_variables): Likewise.
35042 (unset_variables): Likewise.
35043 (main): Complete rewrite.
35044
35045 * commands/loadenv.c (buffer): Removed.
35046 (envblk): Likewise.
35047 (open_envblk_file): New function.
35048 (read_envblk_file): Complete rewrite.
35049 (grub_cmd_load_env): Likewise.
35050 (grub_cmd_list_env): Likewise.
35051 (struct blocklist): New struct.
35052 (free_blocklists): New function.
35053 (check_blocklists): Likewise.
35054 (write_blocklists): Likewise.
35055 (grub_cmd_save_env): Complete rewrite.
35056
35057 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35058 a plain text signature.
35059 (GRUB_ENVBLK_MAXLEN): Removed.
35060 (struct grub_envblk): Complete rewrite.
35061 (grub_envblk_find): Removed.
35062 (grub_envblk_insert): Likewise.
35063 (grub_envblk_open): New prototype.
35064 (grub_envblk_set): Likewise.
35065 (grub_envblk_delete): Put const to VALUE.
35066 (grub_envblk_iterate): Put const to NAME and VALUE.
35067 (grub_envblk_close): New prototype.
35068 (grub_envblk_buffer): New inline function.
35069 (grub_envblk_size): Likewise.
35070
35071 * lib/envblk.c: Include grub/mm.h.
35072 (grub_env_find): Removed.
35073 (grub_envblk_open): New function.
35074 (grub_envblk_close): Likewise.
35075 (escaped_value_len): Likewise.
35076 (find_next_line): Likewise.
35077 (grub_envblk_insert): Removed.
35078 (grub_envblk_set): New function.
35079 (grub_envblk_delete): Complete rewrite.
35080 (grub_envblk_iterate): Likewise.
35081
a9368fd3 350822009-03-28 Robert Millan <rmh@aybabtu.com>
35083
35084 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35085 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35086 variables. Use 16-bit loader.
35087 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35088 loader.
35089 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35090 (grub_linux16_boot): ... this. Update all users.
35091 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35092 (grub_linux_boot): ... this. Update all users.
35093
35094 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35095 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35096 commands to `linux16' and `initrd16'.
35097 (GRUB_MOD_FINI(linux)): Rename to ...
35098 (GRUB_MOD_FINI(linux16)): ... this.
35099
e4dd5a7e 351002009-03-24 Pavel Roskin <proski@gnu.org>
35101
35102 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35103 not just for compilation.
35104
c04d6e05 351052009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35106
35107 Move multiboot helper out of kernel
35108
35109 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35110 `loader/i386/multiboot_helper.S'.
35111 * conf/i386-coreboot.rmk: Likewise
35112 * conf/i386-ieee1275.rmk: Likewise
35113
35114 * kern/i386/loader.S: Move multiboot helpers from here...
35115 * loader/i386/multiboot_helper.S: ...moved here
35116 * include/grub/i386/loader.h: Move declarations of multiboot
35117 helpers from here...
35118 * include/grub/i386/multiboot.h: ...moved here
35119 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35120
42a5b3fc 351212009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35122
35123 * kern/env.c (grub_env_context_open): Added an argument to specify
35124 whether a new context inherits exported variables from current
35125 one. This is useful when making a sandbox to interpret a config
35126 file.
35127 All callers updated.
35128
35129 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35130
b28bbc4e 351312009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35132
35133 * kern/env.c (grub_env_context_close): Fix memory leaks.
35134
f04f02e4 351352009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35136
35137 * normal/main.c (grub_normal_execute): Added an argument
35138 BATCH to specify if an interactive interface should be provided
35139 after reading a config file.
35140 All callers updated.
35141 (read_command_list): Prevent being executed twice.
35142 (read_fs_list): Likewise.
35143
42a5b3fc 35144 * include/grub/normal.h (grub_normal_execute): Updated the
35145 prototype.
f04f02e4 35146
41473ac2 351472009-03-22 Pavel Roskin <proski@gno.org>
35148
fbc00b0c 35149 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35150 _start.
35151 * kern/i386/pc/startup.S: Likewise.
35152 * kern/i386/efi/startup.S: Likewise.
35153 * kern/i386/ieee1275/startup.S: Likewise.
35154 * kern/i386/coreboot/startup.S: Likewise.
35155 * kern/x86_64/efi/startup.S: Likewise.
35156
41473ac2 35157 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35158 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35159 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35160
2274cc8f 351612009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35162
35163 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35164
35165 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35166 limit detection.
35167 Use vaddr of correct segment for entry_point.
35168
b1b797cb 351692009-03-21 Bean <bean123ch@gmail.com>
35170
35171 * commands/blocklist.c: Add include file <grub/command.h>, remove
35172 <grub/normal.h> and <grub/arg.h>.
35173 (grub_cmd_blocklist): Use the new command interface.
35174 (GRUB_MOD_INIT): Likewise.
35175 (GRUB_MOD_FINI): Likewise.
35176 * commands/boot.c: Likewise.
35177 * commands/cat.c: Likewise.
35178 * commands/cmp.c: Likewise.
35179 * commands/configfile.c: Likewise.
35180 * commands/crc.c: Likewise.
35181 * commands/echo.c: Likewise.
35182 * commands/halt.c: Likewise.
35183 * commands/handler.c: Likewise.
35184 * commands/hdparm.c: Likewise.
35185 * commands/help.c: Likewise.
35186 * commands/hexdump.c: Likewise.
35187 * commands/loadenv.c: Likewise.
35188 * commands/ls.c: Likewise.
35189 * commands/lsmmap.c: Likewise.
35190 * commands/lspci.c: Likewise.
35191 * commands/loadenv.c: Likewise.
35192 * commands/read.c: Likewise.
35193 * commands/reboot.c: Likewise.
35194 * commands/search.c: Likewise.
35195 * commands/sleep.c: Likewise.
35196 * commands/test.c: Likewise.
35197 * commands/usbtest.c: Likewise.
35198 * commands/videotest.c: Likewise.
35199 * commands/i386/cpuid.c: Likewise.
35200 * commands/i386/pc/halt.c: Likewise.
35201 * commands/i386/pc/play.c: Likewise.
35202 * commands/i386/pc/pxecmd.c: Likewise.
35203 * commands/i386/pc/vbeinfo.c: Likewise.
35204 * commands/i386/pc/vbetest.c: Likewise.
35205 * commands/ieee1275/suspend.c: Likewise.
35206 * disk/loopback.c: Likewise.
35207 * font/font_cmd.c: Likewise.
35208 * hello/hello.c: Likewise.
35209 * loader/efi/appleloader.c: Likewise.
35210 * loader/efi/chainloader.c: Likewise.
35211 * loader/i386/bsd.c: Likewise.
35212 * loader/i386/efi/linux.c: Likewise.
35213 * loader/i386/ieee1275/linux.c: Likewise.
35214 * loader/i386/linux.c: Likewise.
35215 * loader/i386/pc/chainloader.c: Likewise.
35216 * loader/i386/pc/linux.c: Likewise.
35217 * loader/powerpc/ieee1275/linux.c: Likewise.
35218 * loader/multiboot_loader.c: Likewise.
35219 * term/gfxterm.c: Likewise.
35220 * term/i386/pc/serial.c: Likewise.
35221 * term/terminfo.c: Likewise.
35222
35223 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35224 * term/i386/pc/vga.c: Likewise.
35225 * video/readers/jpeg.c: Likewise.
35226 * video/readers/png.c: Likewise.
35227 * video/readers/tga.c: Likewise.
35228
35229 * util/grub-fstest (cmd_loopback): Removed.
35230 (cmd_blocklist): Likewise.
35231 (cmd_ls): Likewise.
35232 (grub_register_command): Likewise.
35233 (grub_unregister_command): Likewise.
35234 (execute_command): Use grub_command_find to locate command and execute
35235 it.
35236
35237 * include/grub/efi/chainloader.h: Removed.
35238 * loader/efi/chainloader_normal.c: Likewise.
35239 * loader/i386/bsd_normal.c: Likewise.
35240 * loader/i386/pc/chainloader_normal.c: Likewise.
35241 * loader/i386/pc/multiboot_normal.c: Likewise.
35242 * loader/linux_normal.c: Likewise.
35243 * loader/multiboot_loader_normal.c: Likewise.
35244 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35245
35246 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35247 and grub_register_command_p1.
35248
35249 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35250 kern/command.c, lib/arg.c and commands/extcmd.c.
35251 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35252 (minicmd_mod_SOURCES): New variable.
35253 (minicmd_mod_CFLAGS): Likewise.
35254 (minicmd_mod_LDFLAGS): Likewise.
35255 (extcmd_mod_SOURCES): Likewise.
35256 (extcmd_mod_CFLAGS): Likewise.
35257 (extcmd_mod_LDFLAGS): Likewise.
35258 (boot_mod_SOURCES): Removed.
35259 (boot_mod_CFLAGS): Likewise.
35260 (boot_mod_LDFLAGS): Likewise.
35261
35262 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35263 kern/corecmd.c.
35264 (kernel_img_HEADERS): Add command.h.
35265 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35266 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35267 and lib/arg.c.
35268 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35269 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35270 remove the corresponding normal mode command.
35271 (normal_mod_SOURCES): Remove normal/arg.c.
35272 * conf/i386-coreboot.rmk: Likewise.
35273 * conf/i386-efi.rmk: Likewise.
35274 * conf/i386-ieee1275.rmk: Likewise.
35275 * conf/powerpc-ieee1275.rmk: Likewise.
35276 * conf/x86_64-efi.rmk: Likewise.
35277
35278 * include/grub/arg.h: Move from here ...
35279 * include/grub/lib/arg.h: ... to here.
35280
35281 * normal/arg.c: Move from here ...
35282 * lib/arg.c: ... to here.
35283
35284 * commands/extcmd.c: New file.
35285 * commands/minicmd.c: Likewise.
35286 * include/grub/command.h: Likewise.
35287 * include/grub/extcmd.h: Likewise.
35288 * kern/command.c: Likewise.
35289 * kern/corecmd.c: Likewise.
35290
35291 * kern/list.c (grub_list_iterate): Return int instead of void.
35292 (grub_list_insert): New function.
35293 (grub_prio_list_insert): Likewise.
35294
35295 * kern/rescue.c (grub_rescue_command): Removed.
35296 (grub_rescue_command_list): Likewise.
35297 (grub_rescue_register_command): Likewise.
35298 (grub_rescue_unregister_command): Likewise.
35299 (grub_rescue_cmd_boot): Move to minicmd.c
35300 (grub_rescue_cmd_help): Likewise.
35301 (grub_rescue_cmd_info): Likewise.
35302 (grub_rescue_cmd_boot): Likewise.
35303 (grub_rescue_cmd_testload): Likewise.
35304 (grub_rescue_cmd_dump): Likewise.
35305 (grub_rescue_cmd_rmmod): Likewise.
35306 (grub_rescue_cmd_lsmod): Likewise.
35307 (grub_rescue_cmd_exit): Likewise.
35308 (grub_rescue_print_devices): Moved to corecmd.c.
35309 (grub_rescue_print_files): Likewise.
35310 (grub_rescue_cmd_ls): Likewise.
35311 (grub_rescue_cmd_insmod): Likewise.
35312 (grub_rescue_cmd_set): Likewise.
35313 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35314 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35315 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35316 commands, remove grub_rescue_register_command calls.
b1b797cb 35317
7d074e3c 35318 * normal/command.c (grub_register_command): Removed.
b1b797cb 35319 (grub_unregister_command): Likewise.
35320 (grub_command_find): Likewise.
35321 (grub_iterate_commands): Likewise.
35322 (rescue_command): Likewise.
35323 (export_command): Moved to corecmd.c.
35324 (set_command): Removed.
35325 (unset_command): Likewise.
35326 (insmod_command): Likewise.
35327 (rmmod_command): Likewise.
35328 (lsmod_command): Likewise.
35329 (grub_command_init): Likewise.
35330
35331 * normal/completion.c (iterate_command): Use cmd->prio to check for
35332 active command.
35333 (complete_arguments): Use grub_extcmd_t structure to find options.
35334 (grub_normal_do_completion): Change function grub_iterate_commands to
35335 grub_command_iterate.
35336
35337 * normal/execute.c (grub_script_execute_cmd): No need to parse
35338 argument here.
35339
35340 * normal/main.c (grub_dyncmd_dispatcher): New function.
35341 (read_command_list): Register unload commands as dyncmd.
35342 (grub_cmd_normal): Use new command interface, register rescue,
35343 unregister normal at entry, register normal, unregister rescue at exit.
35344
35345 * include/grub/list.h (grub_list_test_t): New type.
35346 (grub_list_iterate): Return int instead of void.
35347 (grub_list_insert): New function.
35348 (GRUB_AS_NAMED_LIST_P): New macro.
35349 (GRUB_AS_PRIO_LIST): Likewise.
35350 (GRUB_AS_PRIO_LIST_P): Likewise.
35351 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35352 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35353 (grub_prio_list): New structure.
35354 (grub_prio_list_insert): New function.
35355 (grub_prio_list_remove): New inline function.
35356
35357 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35358 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35359 (GRUB_COMMAND_FLAG_MENU): Likewise.
35360 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35361 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35362 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35363 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35364 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35365 (grub_command): Likewise.
35366 (grub_register_command): Likewise.
35367 (grub_command_find): Likewise.
35368 (grub_iterate_commands): Likewise.
35369 (grub_command_init): Likewise.
35370 (grub_arg_parse): Likewise.
35371 (grub_arg_show_help): Likewise.
35372
35373 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35374 (grub_rescue_unregister_command): Likewise.
35375
35376 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35377 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35378 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35379
35380 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35381 grub_rescue_cmd_initrd.
35382 * include/grub/i386/loader.h: Likewise.
35383 * include/grub/x86_64/loader.h: Likewise.
35384
35385 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35386
1f4147aa 353872009-03-21 Bean <bean123ch@gmail.com>
35388
35389 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35390 instead of stat in mingw environment.
35391
35392 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35393
35394 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35395
35396 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35397 AC_CONFIG_LINKS.
35398
2156d5ba 353992009-03-21 Bean <bean123ch@gmail.com>
35400
35401 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35402 out of range error.
35403
177b82ca 354042009-03-18 Michel Dänzer <michel@daenzer.net>
35405
35406 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35407 checking inode flags for EXT4_EXTENTS_FLAG.
35408
14aad807 354092009-03-18 Robert Millan <rmh@aybabtu.com>
35410
35411 * loader/i386/linux.c: Include `<grub/video.h>' and
35412 `<grub/i386/pc/vbe.h>'..
35413 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35414 (grub_linux32_boot): Attempt to configure video settings with
35415 grub_linux_setup_video().
35416 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35417 to avoid grub_console_fini() which would step out of graphical mode
35418 unconditionally.
35419
8cf83a27 354202009-03-14 Robert Millan <rmh@aybabtu.com>
35421
35422 Fix build on powerpc.
35423 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35424
40164e75 354252009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35426
35427 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35428 background image command.
35429
c58bc32a 354302009-03-12 Colin D Bennett <colin@gibibit.com>
35431
35432 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35433 (grub_gfxterm_putchar): Extract pairs of identical calls to
35434 draw_cursor out of conditional blocks.
35435
5415144a 354362009-03-11 Pavel Roskin <proski@gnu.org>
35437
35438 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35439 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35440
6394042e 354412009-03-11 Robert Millan <rmh@aybabtu.com>
35442
35443 * loader/i386/multiboot_elfxx.c
35444 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35445
b7b50e5f 354462009-03-11 Felix Zielcke <fzielcke@z-51.de>
35447
35448 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35449 `kern/handler.c'.
35450
1ca7fc96 354512009-03-11 Robert Millan <rmh@aybabtu.com>
35452
35453 * loader/i386/multiboot.c (code_size): New variable.
35454 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35455 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35456 4-byte alignment to MBI and others by increasing
7d074e3c 35457 `boot_loader_name_length' appropriately.
1ca7fc96 35458
35459 * loader/i386/multiboot_elfxx.c
35460 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35461
a83ea1d2 354622009-03-09 Felix Zielcke <fzielcke@z-51.de>
35463
35464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35465 `fs/ext2.c'.
35466
aa9f3bff 354672009-03-08 Robert Millan <rmh@aybabtu.com>
35468
35469 Make loader/i386/linux.c usable on i386-pc again.
35470
35471 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35472 memory to heap.
35473 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35474 `#error' stanza.
35475
d8b3b60e 354762009-03-07 Bean <bean123ch@gmail.com>
35477
35478 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35479 allocation.
35480
b362c9e9 354812009-03-06 Robert Millan <rmh@aybabtu.com>
35482
35483 Fix display issue on terminals with screen size other than 80x25
35484 (e.g. gfxterm with resolution higher than 640x480).
35485
35486 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35487 position relative to the center of the terminal instead of relying
b362c9e9 35488 on a hardcoded offset.
35489
9304eef1 354902009-03-04 Robert Millan <rmh@aybabtu.com>
35491
35492 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35493 installed.
35494
35495 * Makefile.in (host_kernel): New variable.
35496 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35497 scripts instead of just the windows one.
35498 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35499
eabc95fb 355002009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35501
35502 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35503 `kern/handler.c'.
35504 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35505 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35506 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35508 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35509 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35510
ceb1223c 355112009-03-04 Felix Zielcke <fzielcke@z-51.de>
35512
35513 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35514 or if there's no space for the disk label and print the partition number on a
35515 invalid magic.
35516
4910684a 355172009-03-04 Felix Zielcke <fzielcke@z-51.de>
35518
35519 * util/misc.c: Include <time.h>.
35520 (grub_millisleep): New function.
35521
7e9ca17a 355222009-03-04 Bean <bean123ch@gmail.com>
35523
35524 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35525 another option -mno-red-zone.
35526
35527 * commands/handler.c: Change module description.
35528
35529 * kern/handler.c: Add missing space at the end of description line.
35530
35531 * kern/list.c: Likewise.
35532
f501677c 355332009-03-03 Robert Millan <rmh@aybabtu.com>
35534
35535 Move more components to the relocation area, and fix mbi pointer
35536 handling to use the destination rather than the origin (thanks to
35537 Vladimir Serbinenko for spotting).
35538
35539 * loader/i386/multiboot.c (mbi_dest): New variable.
35540 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35541 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35542 relocation area.
35543
9902d047 355442009-03-01 Bean <bean123ch@gmail.com>
35545
50fb7002 35546 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35547 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35548 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35549 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35550
35551 * loader/i386/efi/linux.c (acpi_guid): New variable.
35552 (acpi_guid): Likewise.
35553 (EBDA_SEG_ADDR): New constant.
35554 (LOW_MEM_ADDR): Likewise.
35555 (FAKE_EBDA_SEG): Likewise.
35556 (fake_bios_data): New function.
35557 (grub_linux_boot): Call fake_bios_data.
35558
71b9f361 355592009-03-01 Bean <bean123ch@gmail.com>
35560
35561 * commands/terminal.c: Removed.
35562
35563 * commands/handler.c: New file.
35564
35565 * include/grub/list.h: Likewise.
35566
35567 * include/grub/handler.h: Likewise.
35568
35569 * kern/list.c: Likewise.
35570
35571 * kern/handler.c: Likewise.
35572
35573 * kern/term.h: Include header file <grub/handler.h>.
35574 (grub_term_input): Move next field to the beginning.
35575 (grub_term_output): Likewise.
35576 (grub_term_input_class): New variable.
35577 (grub_term_output_class): Likewise.
35578 (grub_term_register_input): Changed to inline function.
35579 (grub_term_register_output): Likewise.
35580 (grub_term_unregister_input): Likewise.
35581 (grub_term_unregister_output): Likewise.
35582 (grub_term_set_current_input): Likewise.
35583 (grub_term_set_current_output): Likewise.
35584 (grub_term_get_current_input): Likewise.
35585 (grub_term_get_current_output): Likewise.
35586 (grub_term_iterate_input): Removed.
35587 (grub_term_iterate_output): Likewise.
35588
35589 * kern/term.c (grub_term_list_input): Removed.
35590 (grub_term_list_output): Likewise.
35591 (grub_term_input_class): New variable.
35592 (grub_term_output_class): Likewise.
50fb7002 35593 (grub_cur_term_input): Change variable as macro.
71b9f361 35594 (grub_cur_term_output): Likewise.
35595 (grub_term_register_input): Removed.
35596 (grub_term_register_output): Likewise.
35597 (grub_term_unregister_input): Likewise.
35598 (grub_term_unregister_output): Likewise.
35599 (grub_term_set_current_input): Likewise.
35600 (grub_term_set_current_output): Likewise.
35601 (grub_term_iterate_input): Likewise.
35602 (grub_term_iterate_output): Likewise.
35603 (grub_term_get_current_input): Likewise.
35604 (grub_term_get_current_output): Likewise.
35605
35606 * util/grub-editenv.c: Include header file <grub/handler.h>.
35607 (grub_term_get_current_input): Removed.
35608 (grub_term_get_current_output): Likewise.
35609 (grub_term_input_class): New variable.
50fb7002 35610 (grub_term_output_class): Likewise.
71b9f361 35611
35612 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35613 (grub_term_get_current_output): Likewise.
35614 (grub_term_input_class): New variable.
50fb7002 35615 (grub_term_output_class): Likewise.
71b9f361 35616
35617 * util/grub-probe.c (grub_term_get_current_input): Removed.
35618 (grub_term_get_current_output): Likewise.
35619 (grub_term_input_class): New variable.
50fb7002 35620 (grub_term_output_class): Likewise.
71b9f361 35621
35622 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35623 (grub_term_get_current_output): Likewise.
35624 (grub_term_input_class): New variable.
50fb7002 35625 (grub_term_output_class): Likewise.
71b9f361 35626
35627 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35628 (terminal_mod_SOURCES): Likewise.
35629 (terminal_mod_CFLAGS): Likewise.
35630 (terminal_mod_LDFLAGS): Likewise.
35631
35632 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35633 handler.c.
35634 (kernel_img_SOURCES): Add list.c and handler.c.
35635 (kernel_img_HEADERS): Add list.h and handler.h.
35636
35637 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35638 handler.c.
35639 (kernel_mod_SOURCES): Add list.c and handler.c.
35640 (kernel_mod_HEADERS): Add list.h and handler.h.
35641
35642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35643 handler.c.
35644 (kernel_elf_SOURCES): Add list.c and handler.c.
35645 (kernel_elf_HEADERS): Add list.h and handler.h.
35646
35647 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35648 handler.c.
35649 (kernel_elf_SOURCES): Add list.c and handler.c.
35650 (kernel_elf_HEADERS): Add list.h and handler.h.
35651
35652 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35653 handler.c.
35654 (kernel_mod_SOURCES): Add list.c and handler.c.
35655 (kernel_mod_HEADERS): Add list.h and handler.h.
35656
35657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35658 handler.c.
35659 (kernel_elf_SOURCES): Add list.c and handler.c.
35660 (kernel_elf_HEADERS): Add list.h and handler.h.
35661
8a31787f 356622009-02-27 Robert Millan <rmh@aybabtu.com>
35663
35664 Factorize elf32 / elf64 code in Multiboot loader. This will
35665 prevent it from getting out of sync again.
35666
35667 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35668 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35669 grub_multiboot_load_elf64): Move from here ...
35670 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35671 grub_multiboot_load_elf): ... to here (new file).
35672
51cd3dfc 356732009-02-27 Robert Millan <rmh@aybabtu.com>
35674
35675 * util/grub.d/10_linux.in: Rename "single-user mode" to
35676 "recovery mode".
35677
6e8c9c3a 356782009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35679
35680 Don't leak in SCSI code.
35681 * disk/scsi.c (grub_scsi_close): free `scsi'.
35682
4b6bf4f9 356832009-02-27 Robert Millan <rmh@aybabtu.com>
35684
35685 * loader/i386/pc/multiboot.c: Move from here ...
35686 * loader/i386/multiboot.c: ... to here. Update all users.
35687
b9413424 356882009-02-27 Robert Millan <rmh@aybabtu.com>
35689
35690 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35691 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35692
50fb7002 356932009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 35694
35695 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35696 b-tree.
35697
8cc50345 356982009-02-27 Robert Millan <rmh@aybabtu.com>
35699
35700 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35701 `0x' qualifier as 0 when base is specified as parameter).
35702
6e09b8b7 357032009-02-24 Bean <bean123ch@gmail.com>
35704
35705 * configure.ac: Check for -mcmodel=large in x86_64 target.
35706
35707 * include/grub/efi/api.h (efi_call_10): New macro.
35708 (efi_wrap_10): New function.
35709
35710 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35711 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35712 (GRUB_PE32_REL_BASED_LOW): Likewise.
35713 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35714 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35715 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35716 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35717 (GRUB_PE32_REL_BASED_REL): Likewise.
35718 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35719 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35720 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35721
35722 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35723 issue.
35724
35725 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35726 (efi_wrap_10): New function.
35727
35728 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35729
35730 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35731 MB/MBP model (NV chipset).
35732 (devdata_devs): Add devpath_5 to the list.
35733
35734 * load/i386/efi/linux.c (video_base): Remove variable.
35735 (RGB_MASK): New macro.
35736 (RGB_MAGIC): Likewise.
35737 (LINE_MIN): Likewise.
35738 (LINE_MAX): Likewise.
35739 (FBTEST_STEP): Likewise.
35740 (FBTEST_COUNT): Likewise.
35741 (fb_list): New variable.
35742 (grub_find_video_card): Remove function.
35743 (find_framebuf): New function.
35744 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35745 line length.
35746
35747 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35748 problem for x86_64.
35749
74b21bee 357502009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35751
35752 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35753
35754 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35755 coding tool name.
35756
a455f472 357572009-02-22 Robert Millan <rmh@aybabtu.com>
35758
35759 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35760 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35761 in our relocation, instead of using it directly from heap. Also
35762 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35763
6374daf3 357642009-02-21 Robert Millan <rmh@aybabtu.com>
35765
35766 Implement USB keyboard support (based on patch by Marco Gerards)
35767
35768 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35769 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35770 (usb_keyboard_mod_LDFLAGS): New variables.
35771
35772 * term/usb_keyboard.c: New file.
35773
8fa4ea70 357742009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35775
35776 Corrected wrong declaration
35777
35778 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35779
353976ac 357802009-02-14 Christian Franke <franke@computer.org>
35781
35782 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35783 (grub_lspci_iter): Print class code and programming interface byte.
35784
6aa1169b 357852009-02-14 Christian Franke <franke@computer.org>
35786
35787 * gendistlist.sh: Ignore `.svn' directories.
35788
265372ca 357892009-02-14 Felix Zielcke <fzielcke@z-51.de>
35790
35791 * fs/fat.c: Add 2009 to Copyright line.
35792
9ff516f3 357932009-02-14 Christian Franke <franke@computer.org>
35794
35795 * commands/hdparm.c: New file. Provides `hdparm' command
35796 which sends ATA commands via grub_disk_ata_pass_through ().
35797
35798 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35799
35800 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35801 and <grub/cpu/io.h> to include/grub/ata.h.
35802 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35803 (GRUB_CDROM_SECTOR_SIZE): Remove.
35804 (GRUB_ATA_*): Move to include/grub/ata.h.
35805 (GRUB_ATAPI_*): Likewise.
35806 (enum grub_ata_commands): Likewise.
35807 (enum grub_ata_timeout_milliseconds): Likewise.
35808 (struct grub_ata_device): Likewise.
35809 (grub_ata_regset): Likewise.
35810 (grub_ata_regget): Likewise.
35811 (grub_ata_regset2): Likewise.
35812 (grub_ata_regget2): Likewise.
35813 (grub_ata_check_ready): Likewise.
35814 (grub_ata_wait_not_busy): Remove static, exported in
35815 include/grub/ata.h.
35816 (grub_ata_wait_drq): Likewise.
35817 (grub_ata_pio_read): Likewise.
35818
35819 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35820 function for hdparm.mod.
35821
35822 * include/grub/ata.h: New file, contains declarations from
35823 disk/ata.c.
35824 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35825
35826 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35827 (grub_disk_ata_pass_through): New exported variable.
35828
35829 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35830
772e23da 358312009-02-13 Colin D Bennett <colin@gibibit.com>
35832
35833 Support multiple fallback entries, and provide an API to support
35834 executing default+fallback menu entries. Renamed the `terminal' menu
35835 viewer to `text'.
35836
35837 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35838 variable declaration.
35839 (grub_menu_execute_callback): New structure declaration.
35840 (grub_menu_execute_callback_t): New typedef.
35841 (grub_menu_execute_with_fallback): New function declaration.
35842 (grub_menu_get_entry): Likewise.
35843 (grub_menu_get_timeout): Likewise.
35844 (grub_menu_set_timeout): Likewise.
35845
35846 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35847
35848 * normal/menu.c (grub_wait_after_message): Moved to
35849 `normal/menu_text.c'.
35850 (draw_border): Likewise.
35851 (print_message): Likewise.
35852 (print_entry): Likewise.
35853 (print_entries): Likewise.
35854 (grub_menu_init_page): Likewise.
35855 (get_entry_number): Likewise.
35856 (print_timeout): Likewise.
35857 (run_menu): Likewise.
35858 (grub_menu_execute_entry): Likewise.
35859 (show_text_menu): Likewise.
35860 (get_and_remove_first_entry_number): New function.
35861 (grub_menu_execute_with_fallback): Likewise.
35862 (get_entry): Renamed to ...
35863 (grub_menu_get_entry): .. this and made it global.
35864 (get_timeout): Renamed to ...
35865 (grub_menu_get_timeout): ... this and made it global.
35866 (set_timeout): Renamed to ...
35867 (grub_menu_set_timeout): ... this and made it global.
35868 (grub_normal_terminal_menu_viewer): Renamed to ...
35869 (grub_normal_text_menu_viewer): ... this.
35870
35871 * normal/menu_text.c: New file. Extracted text-menu-specific code
35872 from normal/menu.c.
35873
35874 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35875 (normal_mod_SOURCES): Likewise.
35876
35877 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35878 (normal_mod_SOURCES): Likewise.
35879
35880 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35881 (normal_mod_SOURCES): Likewise.
35882
35883 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35884 (normal_mod_SOURCES): Likewise.
35885
35886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35887 (normal_mod_SOURCES): Likewise.
35888
35889 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35890 (normal_mod_SOURCES): Likewise.
35891
35892 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35893 (normal_mod_SOURCES): Likewise.
35894
16ac430e 358952009-02-11 Robert Millan <rmh@aybabtu.com>
35896
35897 * util/grub.d/00_header.in: Update old reference to `font' command.
35898
06ff20fc 358992009-02-10 Felix Zielcke <fzielcke@z-51.de>
35900
35901 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35902
35903 Based on patch from Javier Martín.
35904
96da9407 359052009-02-09 Felix Zielcke <fzielcke@z-51.de>
35906
35907 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35908 to avoid false positives with FAT.
96da9407 35909 (grub_fstest_SOURCES): Likewise.
35910 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35913 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35914 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35916
6dca6fe4 359172009-02-09 Felix Zielcke <fzielcke@z-51.de>
35918
06ff20fc 35919 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35920 bpb.version_specific.fat12_or_fat16.fstype and
35921 bpb.version_specific.fat32.fstype.
35922
2550c62f 359232009-02-08 Robert Millan <rmh@aybabtu.com>
35924
be110b30 35925 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35926
56978920 359272009-02-08 Robert Millan <rmh@aybabtu.com>
35928
35929 * Makefile.in (host_os, host_cpu): New variables.
35930 (target_os): Remove. Update all users.
35931
d64399b5 359322009-02-08 Marco Gerards <marco@gnu.org>
35933
35934 * Makefile.in (enable_grub_emu_usb): New variable.
35935 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35936 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35937 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35938 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35939 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35940 `usbtest.mod' and `usbms.mod'.
35941 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35942 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35943 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35944 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35945 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35946 variables.
35947
35948 * disk/usbms.c: New file.
35949
35950 * include/grub/usb.h: Likewise.
35951
35952 * include/grub/usbtrans.h: Likewise.
35953
35954 * include/grub/usbdesc.h: Likewise.
35955
35956 * bus/usb/usbtrans.c: Likewise.
35957
35958 * bus/usb/ohci.c: Likewise.
35959
35960 * bus/usb/uhci.c: Likewise.
35961
35962 * bus/usb/usbhub.c: Likewise.
35963
35964 * bus/usb/usb.c: Likewise.
35965
35966 * commands/usbtest.c: Likewise.
35967
35968 * util/usb.c: Likewise.
50fb7002 35969
d64399b5 35970 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35971
35972 * configure.ac: Test for libusb presence.
50fb7002 35973
d64399b5 35974 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35975
2b40d6bb 359762009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35977
35978 * kern/mm.c: Add more comments.
35979
73a4ce81 359802009-02-08 Robert Millan <rmh@aybabtu.com>
35981
35982 Patch from Javier Martín.
35983 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35984 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35985
f821ce59 359862009-02-08 Robert Millan <rmh@aybabtu.com>
35987
35988 * fs/cpio.c: Split tar functionality to ...
35989 * fs/tar.c: ... here (new file). Update all users.
35990
aebfc4b0 359912009-02-07 Robert Millan <rmh@aybabtu.com>
35992
35993 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35994 backward-incompatible features.
35995
35996 Based on patch from Javier Martín, with some adjustments.
35997
50fb7002 359982009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35999
36000 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36001
0bb5115e 360022009-02-07 Robert Millan <rmh@aybabtu.com>
36003
36004 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36005 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36006 after the RAID stuff.
36007
38a0f8e7 360082009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36009
50fb7002 36010 Fixes problem when running vbetest command as reported by
38a0f8e7 36011 Vladimir Serbinenko <phcoder@gmail.com>.
36012
36013 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36014
3143cc1c 360152009-02-04 Felix Zielcke <fzielcke@z-51.de>
36016
36017 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36018 /dev/md/NpN style mdraid devices.
36019
9cba6fce 360202009-02-03 Felix Zielcke <fzielcke@z-51.de>
36021
36022 * util/unifont2pff.rb: Remove.
36023
e507a2c1 360242009-02-03 Felix Zielcke <fzielcke@z-51.de>
36025
36026 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36027 `#'.
36028
d2c2b4cd 360292009-02-03 Felix Zielcke <fzielcke@z-51.de>
36030
36031 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36032 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36033 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36034 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36036 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36037 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36038
b4315fb0 360392009-02-02 Christian Franke <franke@computer.org>
36040
36041 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36042
de3aa260 360432009-02-01 Felix Zielcke <fzielcke@z-51.de>
36044
7c3ff286 36045 * INSTALL: Note that we now require at least autoconf 2.59 and
36046 that LZO is optional.
de3aa260 36047
825a182b 360482009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36049
36050 Base on patch on bug #24154 created by Tomas Tintera
36051 <trosos@seznam.cz>.
36052
36053 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36054
a69ef770 360552009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36056
7c3ff286 36057 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36058 <bero@arklinux.org>.
36059
36060 * normal/parser.y (script_init): Add missing semicolon.
36061
6fa42fa6 360622009-01-31 Colin D Bennett <colin@gibibit.com>
36063
7c3ff286 36064 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36065 (free_menu_entry_classes): Added.
36066 (grub_normal_menu_addentry): Added class property handling.
36067 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36068 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36069
36070 * normal/menu_viewer.c: New file.
36071
36072 * normal/menu.c (run_menu_entry): Renamed to ...
36073 (grub_menu_execute_entry): ... this and made it as global.
36074 (grub_menu_run): Renamed to ...
36075 (show_text_menu): ... this and made it local.
36076 (show_text_menu): Adapt to new function names.
36077 (grub_normal_terminal_menu_viewer): New global variable.
36078
36079 * include/grub/menu.h: New file.
36080
36081 * include/grub/menu_viewer.h: New file.
36082
36083 * include/grub/normal.h: Added include to grub/menu.h.
36084 (grub_menu_entry): Moved to include/grub/menu.h.
36085 (grub_menu_entry_t): Likewise.
36086 (grub_menu): Likewise.
36087 (grub_menu_t): Likewise.
36088 (grub_normal_terminal_menu_viewer): Added.
36089 (grub_menu_execute_entry): Likewise.
36090 (grub_menu_run): Removed.
36091
36092 * DISTLIST: Added include/grub/menu.h.
36093 Added include/grub/menu_viewer.h.
36094 Added normal/menu_viewer.c.
36095
360962009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36097
36098 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36099 arglist for menutitle arguments.
36100
36101 * normal/main.c (grub_normal_menu_addentry): Likewise.
36102
36103 * normal/parser.y (menuentry): Likewise.
36104
36105 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36106
36107 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36108 (grub_script_create_cmdmenu): Likewise.
36109
36110 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36111
36112 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36113 changes.
36114
36115 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36116
36117 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36118
36119 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36120
36121 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36122
36123 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36124
36125 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36126
56192c23 361272009-01-30 Christian Franke <franke@computer.org>
36128
36129 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36130 in option help text.
36131
d72521b3 361322009-01-27 Pavel Roskin <proski@gnu.org>
36133
36134 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36135
994b5e84 361362009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36137
36138 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36139
36140 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36141
36142 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36143 unregister function.
36144
6a7eab2c 361452009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36146
36147 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36148
36149 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36150
36151 * util/grub-mkfont.c (usage): Fix typo.
36152
36153 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36154
1806b56e 361552009-01-26 Daniel Mierswa <impulze@impulze.org>
36156
3fb18f09 36157 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36158
336e1fb9 36159 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36160
1806b56e 36161 * kern/misc.c (grub_strcasecmp): New function.
36162 (grub_strcasecmp): Use grub_size_t instead of int for length.
36163 Fix return value.
36164 * include/grub/misc.h: Update function prototypes.
36165
580b2a0f 361662009-01-26 Robert Millan <rmh@aybabtu.com>
36167
36168 * configure.ac: Fix cross-compilation check.
ef257b36 36169
d31c24f1 361702009-01-22 Christian Franke <franke@computer.org>
36171
36172 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36173 (precision) digit string. Allow `.format2' without `format1' (width).
36174 Limit input chars for `%s' output to `format2' if specified. This is
36175 compatible with standard printf ().
36176
3138b44c 361772009-01-22 Christian Franke <franke@computer.org>
36178
36179 * disk/ata.c (grub_ata_wait_status): Replace by ...
36180 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36181 other status bits may be invalid while BSY is asserted.
36182 (grub_ata_check_ready): New function.
36183 (grub_ata_cmd): Removed.
36184 (grub_ata_wait_drq): New function.
36185 (grub_ata_strncpy): Remove inline.
36186 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36187 and error check now done by grub_ata_wait_drq ().
36188 (grub_ata_pio_write): Likewise.
36189 (grub_atapi_identify): Set DEV before check for !BSY. Use
36190 grub_ata_wait_drq () to wait for data.
36191 (grub_ata_device_initialize): Add status register check to
36192 detect missing SATA slave devices. Add debug messages.
36193 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36194 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36195 transfer loop by grub_ata_pio_write ().
36196 (grub_ata_identify): Set DEV before check for !BSY. Use
36197 grub_ata_wait_drq () to wait for data.
ef257b36 36198 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36199 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36200 read/write in one loop. Fix invalid command on write. Fix incomplete
36201 command on (size % batch) == 0. Add missing error check after write of
36202 last block. Add debug messages.
36203 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36204
59a64ef6 362052009-01-19 Christian Franke <franke@computer.org>
36206
36207 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36208 (GRUB_ATAPI_IREASON_*): Likewise.
36209 (grub_ata_pio_write): Fix timeout error return.
36210 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36211 (grub_atapi_wait_drq): New function.
36212 (grub_atapi_packet): New parameter `size'.
36213 Use grub_atapi_wait_drq () and direct write instead of
36214 grub_ata_pio_write ().
36215 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36216 reads the number of bytes requested by the device for each DRQ
36217 assertion.
36218 (grub_atapi_write): Remove old implementation, return not
36219 implemented instead.
36220
1cfe20b3 362212009-01-19 Christian Franke <franke@computer.org>
36222
36223 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36224 of 512 to calculate data size.
36225 (grub_scsi_read12): Likewise.
36226 (grub_scsi_write10): Likewise.
36227 (grub_scsi_write12): Likewise.
36228 (grub_scsi_read): Adjust size according to blocksize.
36229 Add checks for invalid blocksize and unaligned transfer.
36230
bee5fe5d 362312009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36232
36233 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36234
ef257b36 36235 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36236 width glyphs.
36237
3e643f8c 362382009-01-19 Robert Millan <rmh@aybabtu.com>
36239
36240 * config.guess: Update to latest version from config git.
36241 * config.sub: Likewise.
36242
4fa80998 362432009-01-17 Felix Zielcke <fzielcke@z-51.de>
36244
36245 * Makefile.in: Change font compilation to use new grub-mkfont instead
36246 of java version.
36247
36248 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36249 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36250 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36251 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36252 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36253 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36254 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36255 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36256 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36257
7086085b 362582009-01-16 Christian Franke <franke@computer.org>
36259
36260 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36261 (enum grub_ata_timeout_milliseconds): New enum.
36262 (grub_ata_wait_status): Add parameter milliseconds.
36263 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36264 recovery from timed-out commands.
36265 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36266 return grub_errno instead of REG_ERROR.
36267 (grub_ata_pio_write): Add parameter milliseconds.
36268 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36269 Pass milliseconds to grub_ata_wait_status () and
36270 grub_ata_pio_read ().
36271 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36272 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36273 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36274 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36275 It is not suitable for device detection, because DEV bit is ignored,
36276 the command may run too long, and not all devices set the signature
36277 properly.
36278 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36279 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36280 Fix device selection, DEV bit must be set first to address the registers
36281 of the correct device.
36282 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36283 grub_ata_pio_read/write ().
36284 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36285 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36286
4a412913 362872009-01-13 Carles Pina i Estany <carles@pina.cat>
36288
36289 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36290
7795c55e 362912009-01-13 Bean <bean123ch@gmail.com>
d913988c 36292
36293 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36294
7795c55e 362952009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36296
36297 * Makefile.in: (enable_grub_mkfont): New variable.
36298 (freetype_cflags): Likewise.
36299 (freetype_libs): Likewise.
36300
36301 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36302 (grub_mkfont_SOURCES): New variable.
36303 (grub_mkfont_CFLAGS): Likewise.
36304 (grub_mkfont_LDFLAGS): Likewise.
36305
36306 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36307 library if `--enable-grub-mkfont' is requested.
36308 (enable_grub_mkfont): New variable.
36309 (freetype_cflags): Likewise.
36310 (freetype_libs): Likewise.
36311
36312 * util/grub-mkfont.c: New file.
36313
093af1fe 363142009-01-12 Christian Franke <franke@computer.org>
36315
36316 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36317 mode check. Fix setting of compat_use[].
36318
f36cc108 363192009-01-10 Robert Millan <rmh@aybabtu.com>
36320
36321 Update a few copyright years which we forgot to do in 2008 (only for
36322 files whose changes made in 2008 were copyright-significant)
36323
36324 * Makefile.in: Add 2008 to Copyright line.
36325 * disk/ieee1275/ofdisk.c: Likewise.
36326 * disk/efi/efidisk.c: Likewise.
36327 * kern/dl.c: Likewise.
36328 * kern/sparc64/ieee1275/init.c: Likewise.
36329 * kern/mm.c: Likewise.
36330 * kern/efi/mm.c: Likewise.
36331 * boot/i386/pc/boot.S: Likewise.
36332 * genfslist.sh: Likewise.
36333 * fs/iso9660.c: Likewise.
36334 * fs/hfs.c: Likewise.
36335 * fs/jfs.c: Likewise.
36336 * fs/minix.c: Likewise.
36337 * fs/ufs.c: Likewise.
36338 * gensymlist.sh.in: Likewise.
36339 * genkernsyms.sh.in: Likewise.
36340 * include/grub/misc.h: Likewise.
36341 * include/grub/types.h: Likewise.
36342 * include/grub/symbol.h: Likewise.
36343 * include/grub/elf.h: Likewise.
36344 * include/grub/kernel.h: Likewise.
36345 * include/grub/disk.h: Likewise.
36346 * include/grub/dl.h: Likewise.
36347 * include/grub/i386/linux.h: Likewise.
36348 * include/grub/i386/pc/biosdisk.h: Likewise.
36349 * include/grub/efi/api.h: Likewise.
36350 * include/grub/efi/pe32.h: Likewise.
36351 * include/grub/util/misc.h: Likewise.
36352 * normal/execute.c: Likewise.
36353 * normal/arg.c: Likewise.
36354 * normal/completion.c: Likewise.
36355 * normal/lexer.c: Likewise.
36356 * normal/parser.y: Likewise.
36357 * normal/misc.c: Likewise.
36358 * commands/i386/pc/vbeinfo.c: Likewise.
36359 * commands/hexdump.c: Likewise.
36360 * commands/terminal.c: Likewise.
36361 * commands/ls.c: Likewise.
36362 * commands/help.c: Likewise.
36363 * partmap/pc.c: Likewise.
36364 * loader/efi/chainloader.c: Likewise.
36365 * loader/multiboot_loader.c: Likewise.
36366 * loader/i386/pc/multiboot2.c: Likewise.
36367 * term/efi/console.c: Likewise.
36368 * term/i386/pc/serial.c: Likewise.
36369 * util/lvm.c: Likewise.
36370 * util/console.c: Likewise.
36371 * util/i386/efi/grub-mkimage.c: Likewise.
36372 * util/raid.c: Likewise.
36373
7f02114b 363742009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36375
36376 * commands/videotest.c: Removed include to grub/machine/memory.h.
36377
36378 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36379 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36380 (video_mod_SOURCES): Removed.
36381 (video_mod_CFLAGS): Likewise.
36382 (video_mod_LDFLAGS): Likewise.
36383 (gfxterm_mod_SOURCES): Likewise.
36384 (gfxterm_mod_CFLAGS): Likewise.
36385 (gfxterm_mod_LDFLAGS): Likewise.
36386 (videotest_mod_SOURCES): Likewise.
36387 (videotest_mod_CFLAGS): Likewise.
36388 (videotest_mod_LDFLAGS): Likewise.
36389 (bitmap_mod_SOURCES): Likewise.
36390 (bitmap_mod_CFLAGS): Likewise.
36391 (bitmap_mod_LDFLAGS): Likewise.
36392 (tga_mod_SOURCES): Likewise.
36393 (tga_mod_CFLAGS): Likewise.
36394 (tga_mod_LDFLAGS): Likewise.
36395 (jpeg_mod_SOURCES): Likewise.
36396 (jpeg_mod_CFLAGS): Likewise.
36397 (jpeg_mod_LDFLAGS): Likewise.
36398 (png_mod_SOURCES): Likewise.
36399 (png_mod_CFLAGS): Likewise.
36400 (png_mod_LDFLAGS): Likewise.
36401
36402 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36403 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36404 (video_mod_SOURCES): Added.
36405 (video_mod_CFLAGS): Likewise.
36406 (video_mod_LDFLAGS): Likewise.
36407 (videotest_mod_SOURCES): Likewise.
36408 (videotest_mod_CFLAGS): Likewise.
36409 (videotest_mod_LDFLAGS): Likewise.
36410 (bitmap_mod_SOURCES): Likewise.
36411 (bitmap_mod_CFLAGS): Likewise.
36412 (bitmap_mod_LDFLAGS): Likewise.
36413 (tga_mod_SOURCES): Likewise.
36414 (tga_mod_CFLAGS): Likewise.
36415 (tga_mod_LDFLAGS): Likewise.
36416 (jpeg_mod_SOURCES): Likewise.
36417 (jpeg_mod_CFLAGS): Likewise.
36418 (jpeg_mod_LDFLAGS): Likewise.
36419 (png_mod_SOURCES): Likewise.
36420 (png_mod_CFLAGS): Likewise.
36421 (png_mod_LDFLAGS): Likewise.
36422 (gfxterm_mod_SOURCES): Likewise.
36423 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36424 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36425
36426 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36427 grub/machine/console.h.
36428
644fff97 364292009-01-04 Jerone Young <jerone@gmail.com>
36430
36431 Make on screen instructions clearer
36432
36433 Based on patch created by Jidanni <jidanni@jidanni.org>
36434
36435 * normal/menu.c: print clearer instructions on the screen
36436
1e901a75 364372009-01-02 Colin D Bennett <colin@gibibit.com>
36438
36439 New font engine.
34c44600 36440
1e901a75 36441 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36442 build system and fixed gfxterm.c to work with different sized fonts.
36443
36444 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36445
1e901a75 36446 * configure: Re-generated.
34c44600 36447
1e901a75 36448 * DISTLIST: Removed font/manager.c.
36449 Added font/font.c.
36450 Added font/font_cmd.c.
34c44600 36451
1e901a75 36452 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36453 compilation.
34c44600 36454
1e901a75 36455 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36456
36457 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36458
36459 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36460
1e901a75 36461 * normal/menu.c: Likewise.
34c44600 36462
1e901a75 36463 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36464 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36465
1e901a75 36466 * include/grub/font.h: Replaced with new file.
34c44600 36467
1e901a75 36468 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36469 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36470 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36471 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36472 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36473 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36474 fg_red, fg_green, fg_blue, fg_alpha.
36475 (grub_video_adapter): Removed blit_glyph.
34c44600 36476 (grub_video_blit_glyph): Removed.
36477
1e901a75 36478 * font/manager.c: Removed file.
34c44600 36479
36480 * font/font.c: New file.
36481
1e901a75 36482 * font/font_cmd.c: Likewise.
34c44600 36483
1e901a75 36484 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36485
1e901a75 36486 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36487 (grub_video_vbe_map_rgba): Likewise.
36488 (grub_video_vbe_unmap_color_int): Likewise.
36489 (grub_video_vbe_blit_glyph): Removed.
36490 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36491
1e901a75 36492 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36493 (get_pixel): Likewise.
34c44600 36494 (set_pixel): Likewise.
36495
1e901a75 36496 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36497
1e901a75 36498 * term/gfxterm.c: Adapted to new font engine.
34c44600 36499
1e901a75 36500 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36501
1e901a75 36502 * term/i386/pc/vga.c: Likewise.
34c44600 36503
1e901a75 36504 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36505
1e901a75 36506 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36507
1e901a75 36508 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36509
1e901a75 36510 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36511
1e901a75 36512 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36513
1e901a75 36514 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36515
1e901a75 36516 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36517
1e901a75 36518 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36519
1e901a75 36520 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36521
36522 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36523
1e901a75 36524 * util/grub-mkconfig_lib.in: Changed font extension.
36525
278922e8 365262008-12-28 Felix Zielcke <fzielcke@z-51.de>
36527
36528 * util/getroot.c (grub_util_get_grub_dev): Add support for
36529 /dev/md/dNNpNN style partitionable mdraid devices.
36530
3ced05cf 365312008-12-12 Alex Smith <alex@alex-smith.me.uk>
36532
36533 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36534 at a time limit of the PXE TFTP API correctly.
36535 (grub_pxefs_close): Likewise.
36536
7fd0ee30 365372008-11-29 Robert Millan <rmh@aybabtu.com>
36538
34c44600 36539 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36540 grub_ata_device_initialize() calls.
36541
34c44600 365422008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36543
36544 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36545 iteration failed.
36546 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36547
89313780 365482008-11-28 Robert Millan <rmh@aybabtu.com>
36549
36550 Fix build on powerpc-ieee1275. Based on patch created by
36551 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36552 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36553 `kern/ieee1275/mmap.c'.
36554 * include/grub/powerpc/ieee1275/memory.h: New file.
36555
15257703 36556 Provide grub-install on coreboot.
36557 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36558 (grub_install_SOURCES): New variable.
36559 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36560 usable on coreboot.
36561
9fc5388a 365622008-11-25 Felix Zielcke <fzielcke@z-51.de>
36563
36564 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36565 to `grub_term_input_t'.
36566 (grub_term_get_current_output): Change return type to
36567 `grub_term_output_t'.
36568
bc3a2f31 365692008-11-22 Robert Millan <rmh@aybabtu.com>
36570
34c44600 36571 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36572 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36573 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36574 grub_vga_text_cls().
36575
80fc88f2 36576 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36577 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36578
cbf36fd3 36579 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36580 to 0x200000 (avoids trouble with some OFW implementations, and matches
36581 with the one in Yaboot).
36582 Reported by Manoel Abranches
36583
73e8e268 365842008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36585
36586 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36587 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36588
73e8e268 36589 * util/grub-mkconfig_lib.in (grub_warn): New function.
36590 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36591 warnings, to obtain consistent formatting.
36592 * util/grub.d/00_header.in: Likewise.
36593 * util/update-grub_lib.in: Likewise.
36594
e94045a1 36595 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36596 Move comment text to `#error' stanza.
e94045a1 36597
79d29fd7 36598 Harmonize ieee1275's grub_available_iterate() with the generic
36599 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36600 build problem on i386-ieee1275):
36601 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36602 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36603 parameter `type'. Update all users of this function.
36604 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36605 `kern/ieee1275/mmap.c'.
36606 * kern/ieee1275/init.c
36607 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36608 with ...
36609 (grub_machine_mmap_iterate): ... this.
36610 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36611 return type to `grub_err_t'. Update all implementations of this
36612 function prototype.
36613 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36614 Likewise.
36615
60d6b16e 36616 Add `lsmmap' command (lists firmware-provided memory map):
36617 * commands/lsmmap.c: New file.
36618 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36619 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36620 variables.
36621 * conf/powerpc-ieee1275.rmk: Likewise.
36622 * conf/i386-coreboot.rmk: Likewise.
36623 * conf/i386-ieee1275.rmk: Likewise.
36624
ebaaf49b 366252008-11-19 Robert Millan <rmh@aybabtu.com>
36626
36627 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36628 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36629 constraints to initrd allocation (based on code from
36630 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36631 for Linux to find it.
ebaaf49b 36632
dfab719f 366332008-11-14 Robert Millan <rmh@aybabtu.com>
36634
36635 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36636 order to cope with duplicate slashes.
36637
10fc3eb9 366382008-11-14 Robert Millan <rmh@aybabtu.com>
36639
36640 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36641 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36642 don't want to mess with lower memory, because it is used in the Linux
36643 loader.
36644
36645 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36646 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36647 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36648 is in our heap (probably as a result of it being corrupted during
2f2a3442 36649 decompression). Add #error instance with comment to explain why this
36650 loader isn't currently usable on PC/BIOS.
10fc3eb9 36651
e2e07847 366522008-11-14 Robert Millan <rmh@aybabtu.com>
36653
36654 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36655 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36656
fe8e8d69 366572008-11-12 Robert Millan <rmh@aybabtu.com>
36658
36659 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36660
36661 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36662 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36663 from here ...
36664 * include/grub/i386/pc/memory.h: ... to here.
36665
976b07d0 366662008-11-12 Robert Millan <rmh@aybabtu.com>
36667
36668 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36669 split).
36670
36671 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36672 (grub_console_cur_color, grub_console_real_putchar)
36673 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36674 (grub_console_setcolorstate, grub_console_setcolor)
36675 (grub_console_getcolor): Move from here ...
36676 * include/grub/i386/vga_common.h: ... to here (new file).
36677
36678 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36679 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36680 `<grub/i386/io.h>'.
36681 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36682 `<grub/i386/vga_common.h>'.
36683
76679cd3 366842008-11-12 Robert Millan <rmh@aybabtu.com>
36685
36686 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36687 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36688 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36689 variables.
36690 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36691 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36692
36693 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36694 grub_console_init() with call to grub_vga_text_init().
36695 (grub_machine_fini): Replace call to
36696 grub_console_fini() with call to grub_vga_text_fini() and
36697 grub_at_keyboard_fini().
36698
36699 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36700 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36701 (grub_console_setcolorstate, grub_console_setcolor)
36702 (grub_console_getcolor): New function prototypes.
36703
36704 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36705 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36706 (grub_vga_text_setcursor): Static-ize.
36707 (grub_vga_text_term): New structure.
36708 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36709
36710 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36711 (grub_console_cur_color, grub_console_standard_color)
36712 (grub_console_normal_color, grub_console_highlight_color)
36713 (map_char, grub_console_putchar, grub_console_getcharwidth)
36714 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36715 (grub_console_getcolor): Move from here ...
36716 * term/i386/vga_common.c: ... to here (same function names).
36717
95b841d3 367182008-11-12 Robert Millan <rmh@aybabtu.com>
36719
36720 Use newly-added Multiboot support in coreboot.
36721
36722 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36723 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36724
36725 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36726 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36727 (codestart): Store the MBI in `startup_multiboot_info' when we're
36728 being loaded using Multiboot.
36729
36730 * kern/i386/coreboot/init.c (grub_machine_init): Move
36731 grub_at_keyboard_init() call to beginning of function (useful for
36732 debugging). Call grub_machine_mmap_init() before attempting to use
36733 grub_machine_mmap_iterate().
36734 (grub_lower_mem, grub_upper_mem): Move from here ...
36735 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36736 here (new file).
36737
36738 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36739 function prototype.
36740
761ca975 367412008-11-12 Robert Millan <rmh@aybabtu.com>
36742
36743 Fix a regression introduced by the at_keyboard.mod split. Because
36744 some terminals are default on some platforms and non-default on
36745 others, the first terminal being registered determines which is
36746 going to be default.
36747
36748 * kern/term.c (grub_term_register_input): If this is the first
36749 terminal being registered, set it as the current one.
36750 (grub_term_register_output): Likewise.
36751
36752 * term/efi/console.c (grub_console_init): Do not call
36753 grub_term_set_current_output() or grub_term_set_current_input().
36754 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36755 * term/i386/pc/console.c (grub_console_init): Likewise.
36756 (grub_console_fini): Do not call grub_term_set_current_input()
36757 (but leave grub_term_set_current_output() to restore text mode).
36758
6c529df7 367592008-11-10 Robert Millan <rmh@aybabtu.com>
36760
36761 * util/grub.d/00_header.in: Add backward compatibility check for
36762 versions of terminal.mod that don't understand `terminal_input' or
36763 `terminal_output'.
36764
132e4113 367652008-11-09 Robert Millan <rmh@aybabtu.com>
36766
36767 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36768 `terminal_input' / `terminal_output', not `terminal'.
36769
ac293d50 367702008-11-08 Robert Millan <rmh@aybabtu.com>
36771
36772 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36773 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36774
0025933a 367752008-11-08 Robert Millan <rmh@aybabtu.com>
36776
36777 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36778 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36779 members. Update all users.
36780 * util/console.c (grub_ncurses_term): Split in ...
36781 (grub_ncurses_term_input): ... this, and ...
36782 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36783 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36784
37c86336 367852008-11-08 Robert Millan <rmh@aybabtu.com>
36786
36787 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36788 (PKGDATA): Add $(pkgdata_SRCDIR).
36789 (pkglib_BUILDDIR): New variable.
36790 (pkgdata_SRCDIR): New variable.
36791 (build_env.mk): New target.
36792 (include_DATA): New variable.
36793 (install-local): Install $(include_DATA) files in $(includedir).
36794
b6c15a2d 367952008-11-07 Pavel Roskin <proski@gnu.org>
36796
d99d46f1 36797 * gendistlist.sh: Use C locale for sorting to ensure consistent
36798 output on all systems.
36799
b6c15a2d 36800 * util/grub.d/00_header.in: Remove incorrect space before
36801 "serial".
36802
c32ee8c9 368032008-11-07 Robert Millan <rmh@aybabtu.com>
36804
36805 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36806 per specification.
36807 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36808 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36809 (based on find_multi_boot1_header).
36810 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36811 using find_multi_boot2_header(), and abort if neither Multiboot or
36812 Multiboot headers were found.
36813
651c29b7 368142008-11-07 Robert Millan <rmh@aybabtu.com>
36815
36816 Modularize at_keyboard.mod:
36817
36818 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36819 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36820 (at_keyboard_mod_LDFLAGS): New variables.
36821
36822 Actual terminal split:
36823
36824 * include/grub/term.h (struct grub_term): Split in ...
36825 (struct grub_term_input): ... this, and ...
36826 (struct grub_term_output): ... this. Update all users.
36827 (grub_term_set_current): Split in ...
36828 (grub_term_set_current_input): ... this, and ...
36829 (grub_term_set_current_output): ... this.
36830 (grub_term_get_current): Split in ...
36831 (grub_term_get_current_input): ... this, and ...
36832 (grub_term_get_current_output): ... this.
36833 (grub_term_register): Split in ...
36834 (grub_term_register_input): ... this, and ...
36835 (grub_term_register_output): ... this.
36836 (grub_term_unregister): Split in ...
36837 (grub_term_unregister_input): ... this, and ...
36838 (grub_term_unregister_output): ... this.
36839 (grub_term_iterate): Split in ...
36840 (grub_term_iterate_input): ... this, and ...
36841 (grub_term_iterate_output): ... this.
36842
36843 * kern/term.c (grub_term_list): Split in ...
36844 (grub_term_list_input): ... this, and ...
36845 (grub_term_list_output): ... this. Update all users.
36846 (grub_cur_term): Split in ...
36847 (grub_cur_term_input): ... this, and ...
36848 (grub_cur_term_output): ... this. Update all users.
36849 (grub_term_set_current): Split in ...
36850 (grub_term_set_current_input): ... this, and ...
36851 (grub_term_set_current_output): ... this.
36852 (grub_term_get_current): Split in ...
36853 (grub_term_get_current_input): ... this, and ...
36854 (grub_term_get_current_output): ... this.
36855 (grub_term_register): Split in ...
36856 (grub_term_register_input): ... this, and ...
36857 (grub_term_register_output): ... this.
36858 (grub_term_unregister): Split in ...
36859 (grub_term_unregister_input): ... this, and ...
36860 (grub_term_unregister_output): ... this.
36861 (grub_term_iterate): Split in ...
36862 (grub_term_iterate_input): ... this, and ...
36863 (grub_term_iterate_output): ... this.
36864
36865 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36866 a check for input and one for output (and only attempt to get keys
36867 from user when input works).
36868
36869 * util/grub-probe.c (grub_term_get_current): Split in ...
36870 (grub_term_get_current_input): ... this, and ...
36871 (grub_term_get_current_output): ... this.
36872 * util/grub-fstest.c: Likewise.
36873 * util/i386/pc/grub-setup.c: Likewise.
36874 * util/grub-editenv.c: Likewise.
36875
36876 Portability adjustments:
36877
36878 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36879 `term/i386/pc/at_keyboard.c'.
36880 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36881 grub_keyboard_controller_init() (now handled by terminal .init).
36882 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36883 grub_at_keyboard_init().
36884 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36885 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36886 at_keyboard.mod via input terminal interface).
36887 * include/grub/i386/coreboot/console.h: Convert into a stub for
36888 `<grub/i386/pc/console.h>'.
36889
36890 Migrate full terminals to new API:
36891
36892 * term/efi/console.c (grub_console_term): Split into ...
36893 (grub_console_term_input): ... this, and ...
36894 (grub_console_term_output): ... this. Update all users.
36895 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36896 (grub_ofconsole_init): Split into ...
36897 (grub_ofconsole_init_input): ... this, and ...
36898 (grub_ofconsole_init_output): ... this.
36899 (grub_ofconsole_term): Split into ...
36900 (grub_ofconsole_term_input): ... this, and ...
36901 (grub_ofconsole_term_output): ... this. Update all users.
36902 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36903 (grub_serial_term_input): ... this, and ...
36904 (grub_serial_term_output): ... this. Update all users.
36905 * term/i386/pc/console.c (grub_console_term): Split into ...
36906 (grub_console_term_input): ... this, and ...
36907 (grub_console_term_output): ... this. Update all users.
36908 (grub_console_term_input): Only enable it on PC/BIOS platform.
36909 (grub_console_init): Remove grub_keyboard_controller_init() call.
36910
36911 Migrate input terminals to new API:
36912
36913 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36914 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36915 i386-specific anyway).
36916 (grub_console_checkkey): Rename to ...
36917 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36918 users.
36919 (grub_keyboard_controller_orig): New variable.
36920 (grub_console_getkey): Rename to ...
36921 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36922 users.
36923 (grub_keyboard_controller_init): Static-ize. Save original
36924 controller value so that it can be restored ...
36925 (grub_keyboard_controller_fini): ... here (new function).
36926 (grub_at_keyboard_term): New structure.
36927 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36928 functions.
36929
36930 Migrate output terminals to new API:
36931
36932 * term/i386/pc/vga.c (grub_vga_term): Change type to
36933 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36934 members. Update all users.
36935 * term/gfxterm.c (grub_video_term): Change type to
36936 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36937 members. Update all users.
36938 * include/grub/i386/pc/console.h (grub_console_checkkey)
36939 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36940 etc).
36941
36942 Migrate `terminal' command and userland tools to new API:
36943
36944 * commands/terminal.c (grub_cmd_terminal): Split into ...
36945 (grub_cmd_terminal_input): ... this, and ...
36946 (grub_cmd_terminal_output): ... this.
36947 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36948 `terminal_input' and `terminal_output'.
36949 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36950 `terminal_input' / `terminal_output' API.
36951 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36952 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36953 provided ${GRUB_TERMINAL}, convert it).
36954
96e5d876 369552008-11-04 Robert Millan <rmh@aybabtu.com>
36956
36957 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36958 for FreeBSD.
36959 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36960
556f3775 369612008-11-03 Bean <bean123ch@gmail.com>
36962
36963 * kern/elf.c (grub_elf32_load): Revert to previous code.
36964 (grub_elf64_load): Likewise.
36965
36966 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36967
926b9823 369682008-11-01 Robert Millan <rmh@aybabtu.com>
36969
36970 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36971 (TARGET_CPPFLAGS): Likewise.
36972 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36973
1432e958 369742008-11-01 Carles Pina i Estany <carles@pina.cat>
36975
36976 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36977
dba3f844 369782008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36979
36980 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36981 addition of objects until the code is not going to be able to fail.
36982
dba3f844 369832008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36984
36985 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36986 (add a missing NULL check, and correct them by moving the pointer
36987 operations after the actual check).
36988
7ab28c21 369892008-10-29 Robert Millan <rmh@aybabtu.com>
36990
36991 * util/i386/pc/grub-install.in: Handle empty string as output from
36992 make_system_path_relative_to_its_root().
36993
1b7748eb 369942008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36995
36996 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36997 circular metadata worst case scenario. If the metadata is circular
36998 then copy the wrap in place.
36999 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37000 project lib/format_text/layout.h
37001 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37002
c9618ab2 370032008-10-03 Felix Zielcke <fzielcke@z-51.de>
37004
7a36edca 37005 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37006
bf981c62 370072008-10-03 Felix Zielcke <fzielcke@z-51.de>
37008
37009 * util/update-grub_lib.in: Mention filename in warning message.
37010
6d994591 370112008-09-29 Felix Zielcke <fzielcke@z-51.de>
37012
37013 * NEWS: Update for rename of update-grub to grub-mkconfig.
37014
18ade780 370152008-09-29 Felix Zielcke <fzielcke@z-51.de>
37016
37017 * util/update-grub_lib.in: Copy to ...
37018 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37019 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37020 * util/update-grub.in: Rename to ...
37021 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37022 option. Add `--output' option to allow users to specify the generated
37023 configuration file. Default to stdout.
37024 (update_grub_dir): Rename to ...
37025 (grub_mkconfig_dir): ... this.
37026 (grub_cfg): Default to an empty string.
37027 * conf/common.rmk (update-grub): Rename to ...
37028 (grub-mkconfig): ... this.
37029 (update-grub_lib): Copy to ...
37030 (grub-mkconfig_lib): ... this.
37031 (update-grub_SCRIPTS): Copy to ...
37032 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37033 (update-grub_DATA): Rename to ...
37034 (grub-mkconfig_DATA): ... this.
37035
556ce6ac 370362008-09-28 Robert Millan <rmh@aybabtu.com>
37037
37038 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37039 to `modified'. Add the real `created' field.
37040 (grub_iso9660_uuid): Use `modified' rather than `created' for
37041 constructing the UUID.
37042
370432008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37044
37045 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37046 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37047
92274e85 370482008-09-28 Bean <bean123ch@gmail.com>
37049
37050 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37051 Thanks to Christian Franke for finding this bug.
37052
add6f17a 370532008-09-25 Robert Millan <rmh@aybabtu.com>
37054
37055 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37056 instances of grub_util_get_disk_name() (see previous commit).
37057
d2a367b8 370582008-09-25 Robert Millan <rmh@aybabtu.com>
37059
37060 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37061 `util/i386/get_disk_name.c'.
37062 * conf/i386-efi.rmk: Likewise.
37063 * conf/x86_64-efi.rmk: Likewise.
37064 * conf/i386-coreboot.rmk: Likewise.
37065 * conf/i386-ieee1275.rmk: Likewise.
37066 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37067 `util/ieee1275/get_disk_name.c'.
37068 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37069 * util/ieee1275/get_disk_name.c: Remove file.
37070 * util/i386/get_disk_name.c: Remove file.
37071 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37072 "hd%d" for device.map entries, rather than using
37073 grub_util_get_disk_name().
37074
81a06771 370752008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37076
37077 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37078 warning.
37079 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37080
5a004279 370812008-09-24 Carles Pina i Estany <carles@pina.cat>
37082
37083 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37084 Changed to 0x5100.
37085 (GRUB_TERM_PPAGE): Changed to 0x4900.
37086
397093d3 370872008-09-24 Robert Millan <rmh@aybabtu.com>
37088
37089 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37090 macros (they were i386-pc specific).
37091 * include/grub/sparc64/ieee1275/console.h: Likewise.
37092 * include/grub/efi/console.h: Likewise.
37093
a91b6c7c 370942008-09-22 Bean <bean123ch@gmail.com>
37095
37096 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37097 resident and in attribute list.
37098
37099 * include/grub/ntfs.h (BMP_LEN): Removed.
37100
c40fd116 371012008-09-22 Bean <bean123ch@gmail.com>
37102
81a06771 37103 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37104 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37105
37106 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37107 error occurs, as grub_disk_open will call grub_disk_close, which will
37108 call p->close (scsi).
37109
81a06771 371102008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37111
37112 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37113 (AC_PREREQ): Bumped to 2.59.
37114 (AC_TRY_COMPILE): Replace obsolete macro with ...
37115 (AC_COMPILE_IFELSE): ... this.
37116 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37117 (AC_LINK_IFELSE): ... this.
37118
5dc43410 371192008-09-21 Felix Zielcke <fzielcke@z-51.de>
37120
37121 * autogen.sh: Add a call to `gendistlist.sh'.
37122
9035dce4 371232008-09-19 Christian Franke <franke@computer.org>
37124
37125 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37126 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37127 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37128 Export __enable_execute_stack() to modules.
37129 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37130 New function.
37131
7fd75377 371322008-09-09 Felix Zielcke <fzielcke@z-51.de>
37133
040030b3 37134 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37135 Sort the list.
37136
371372008-09-09 Felix Zielcke <fzielcke@z-51.de>
37138
37139 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37140 #include <grub/util/hostdisk.h>.
37141
89d5ffcf 371422008-09-08 Robert Millan <rmh@aybabtu.com>
37143
37144 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37145 segments when their filesz is zero (grub_file_read() interprets
81a06771 37146 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37147 Use `lowest_segment' rather than 0 for calculating the current
37148 segment load address.
37149
40da438f 371502008-09-08 Robert Millan <rmh@aybabtu.com>
37151
37152 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37153 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37154 clobbered useful information.
37155
ddbf5556 371562008-09-08 Robert Millan <rmh@aybabtu.com>
37157
37158 * include/grub/util/biosdisk.h: Move to ...
37159 * include/grub/util/hostdisk.h: ... here. Update all users.
37160 * util/biosdisk.c: Move to ...
37161 * util/hostdisk.c: ... here. Update all users.
37162
783d0f48 371632008-09-07 Robert Millan <rmh@aybabtu.com>
37164
37165 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37166 variables.
37167 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37168 and length can be stored directly in the `mbi->mmap_addr' and
37169 `mbi->mmap_length' struct fields.
37170
548e2ea5 371712008-09-07 Robert Millan <rmh@aybabtu.com>
37172
37173 * conf/i386.rmk: New file. Provides declaration for building
37174 `cpuid.mod'.
37175 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37176 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37177 variables.
37178 Include `conf/i386.mk'.
37179 * conf/i386-efi.rmk: Likewise.
37180 * conf/x86_64-efi.rmk: Likewise.
37181 * conf/i386-coreboot.rmk: Likewise.
37182 * conf/i386-ieee1275.rmk: Likewise.
37183
0ea85a37 371842008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37185
37186 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37187 Adds optimization support for BGR based modes.
37188
37189 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) 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.
81a06771 37206 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 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.
37213
37214 * include/grub/i386/pc/vbefill.h (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.
37221
81a06771 37222 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37223 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37224 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37225 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37226 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37227 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37228
0ea85a37 37229 * video/video.c (grub_video_get_blit_format): Updated to use new
37230 blit formats. Added handling for 16 bit color modes.
81a06771 37231
37232 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37233 fillers.
37234 (common_blitter): Updated to use new blitters.
37235
37236 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37237 Removed.
37238 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37239 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37240 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37241 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37242 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37243 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37244 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37245 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37246 (grub_video_i386_vbeblit_index_index): Likewise.
37247 (grub_video_i386_vbeblit_replace_directN): Added.
37248 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37249 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37250 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37251 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37252 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37253 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37254 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37255 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37256 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37257 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37258 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37259 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37260 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37261
0ea85a37 37262 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37263 (grub_video_i386_vbefill_R8G8B8): Likewise.
37264 (grub_video_i386_vbefill_index): Likewise.
37265 (grub_video_i386_vbefill_direct32): Added.
37266 (grub_video_i386_vbefill_direct24): Likewise.
37267 (grub_video_i386_vbefill_direct16): Likewise.
37268 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37269
0ea85a37 37270 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37271 types.
81a06771 37272
0ea85a37 37273 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37274 types.
81a06771 37275
0ea85a37 37276 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37277 blitter types.
81a06771 37278
0ea85a37 37279 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37280 types.
37281
e8a83df6 372822008-09-06 Felix Zielcke <fzielcke@z-51.de>
37283
37284 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37285 RAID level 1.
37286
6bcd8ee5 372872008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37288
6bcd8ee5 37289 * fs/iso9660.c (grub_iso9660_date): New structure.
37290 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37291 (grub_iso9660_uuid): New function.
c375ae58 37292
59261157 372932008-09-05 Bean <bean123ch@gmail.com>
37294
37295 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37296
37297 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37298 insensitive bit for names in Win32 and Win32 & DOS namespace.
37299
37300 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37301
37302 * include/grub/types.h (LONG_MAX): Likewise.
37303
58b6645a 373042008-09-04 Felix Zielcke <fzielcke@z-51.de>
37305
4ee55921 37306 * util/getroot.c: Include <config.h>.
37307 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37308 add support for /dev/md/N devices and handle LVM double dash escaping.
37309
373102008-09-04 Felix Zielcke <fzielcke@z-51.de>
37311
37312 * config.guess: Update to latest version from config git.
37313 * config.sub: Likewise.
58b6645a 37314
9124f65d 373152008-09-03 Robert Millan <rmh@aybabtu.com>
37316
37317 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37318 `disk->total_sectors'.
37319
81a06771 373202008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37321
37322 * include/grub/normal.h: Fixed incorrect comment for
37323 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37324
81a06771 373252008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37326
37327 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37328 values with defines.
37329
37330 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37331 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37332 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37333 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37334 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37335 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37336 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37337 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37338 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37339 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37340 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37341 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37342 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37343 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37344 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37345 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37346 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37347 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37348 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37349
93d5cbf8 373502008-08-31 Robert Millan <rmh@aybabtu.com>
37351
37352 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37353 declaration.
37354 (grub_multiboot): Fix a few warnings.
37355
21751d50 373562008-08-31 Robert Millan <rmh@aybabtu.com>
37357
37358 * loader/i386/pc/multiboot.c: Update comment not to say that
37359 boot_device support is unimplemented.
37360
e27a75c5 373612008-08-31 Robert Millan <rmh@aybabtu.com>
37362
37363 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37364 or memory map support are unimplemented.
37365
81a06771 373662008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37367
37368 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37369
81a06771 373702008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37371
37372 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37373 total video memory in 'vbeinfo' output; show color format details for
37374 each video mode.
37375
7c5d8d95 373762008-08-30 Pavel Roskin <proski@gnu.org>
37377
37378 * util/genmoddep.c: Remove for real this time.
37379 * DISTLIST: Remove util/genmoddep.c.
37380
4cebd25a 373812008-08-30 Robert Millan <rmh@aybabtu.com>
37382
37383 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37384 as required by Multiboot spec (it was already 4-byte aligned, but
37385 only by chance).
37386
b497a269 373872008-08-29 Pavel Roskin <proski@gnu.org>
37388
e3925185 37389 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37390 * kern/powerpc/ieee1275/startup.S: ... this.
37391 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37392 * DISTLIST: Likewise.
37393
b497a269 37394 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37395 grub/cpu/kernel.h. Add start label for consistency with other
37396 platforms. Add grub_prefix immediately after start. Add jump
37397 to the code after grub_prefix.
37398 * include/grub/powerpc/kernel.h: Provide valid values for
37399 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37400
6e5a42fe 374012008-08-29 Bean <bean123ch@gmail.com>
37402
37403 * configure.ac: Change host_os to cygwin for mingw.
37404 (asprintf): New check for function.
37405
37406 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37407 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37408
37409 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37410 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37411 sync, sleep and grub_util_get_disk_size for mingw.
37412
37413 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37414 to get size in mingw.
37415 (open_device): Use flag O_BINARY if it's defined.
37416 (find_root_device): Add dummy code for mingw.
37417
37418 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37419 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37420 (get_scsi_disk_name): Return 0 for mingw.
37421
37422 * util/hostfs.c: #include <grub/util/misc.h>.
37423 (grub_hostfs_open): Use "rb" flag to open file, use
37424 grub_util_get_disk_size to get disk size for mingw.
37425
37426 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37427 (asprintf): New function if HAVE_ASPRINTF is not set.
37428 (sync): New function for mingw.
37429 (sleep): Likewise.
37430 (grub_util_get_disk_size): Likewise.
37431
ab3f2673 374322008-08-28 Pavel Roskin <proski@gnu.org>
37433
37434 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37435 kern/time.c.
37436
1c282483 374372008-08-28 Robert Millan <rmh@aybabtu.com>
37438
37439 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37440
678e849c 374412008-08-28 Robert Millan <rmh@aybabtu.com>
37442
37443 Change find_grub_drive() syntax so it doesn't prevent it from
37444 detecting NULL names as errors.
37445
37446 * util/biosdisk.c (find_grub_drive): Move free slot search code
37447 from here ...
37448 (find_free_slot): ... to here.
37449 (read_device_map): Use find_free_slot() to search for free slots.
37450
965c75ca 374512008-08-27 Marco Gerards <marco@gnu.org>
37452
37453 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37454 (scsi_mod_SOURCES): New variable.
37455 (scsi_mod_CFLAGS): Likewise
37456 (scsi_mod_LDFLAGS): Likewise.
37457
37458 * disk/scsi.c: New file.
37459
37460 * include/grub/scsi.h: Likewise.
37461
37462 * include/grub/scsicmd.h: Likewise.
37463
37464 * disk/ata.c: Include <grub/scsi.h>.
37465 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37466 instead.
37467 (grub_ata_iterate): Skip ATAPI devices.
37468 (grub_ata_open): Only handle ATAPI devices.
37469 (struct grub_atapi_read): Removed.
37470 (grub_atapi_readsector): Likewise.
37471 (grub_ata_read): No longer handle ATAPI devices.
37472 (grub_ata_write): Likewise.
37473 (grub_atapi_iterate): New function.
37474 (grub_atapi_read): Likewise.
37475 (grub_atapi_write): Likewise.
37476 (grub_atapi_open): Likewise.
37477 (grub_atapi_close): Likewise.
37478 (grub_atapi_dev): New variable.
37479 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37480 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37481
37482 * include/grub/disk.h (enum grub_disk_dev_id): Add
37483 `GRUB_DISK_DEVICE_SCSI_ID'.
37484
c07ae501 374852008-08-26 Robert Millan <rmh@aybabtu.com>
37486
37487 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37488 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37489 descriptive.
37490
5ed20adc 374912008-08-23 Bean <bean123ch@gmail.com>
37492
37493 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37494 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37495 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37496 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37497 dm_nv.mod.
37498 (raid5rec_mod_SOURCES): New macro.
37499 (raid5rec_mod_CFLAGS): Likewise.
37500 (raid5rec_mod_LDFLAGS): Likewise.
37501 (raid6rec_mod_SOURCES): Likewise.
37502 (raid6rec_mod_CFLAGS): Likewise.
37503 (raid6rec_mod_LDFLAGS): Likewise.
37504 (mdraid_mod_SOURCES): Likewise.
37505 (mdraid_mod_CFLAGS): Likewise.
37506 (mdraid_mod_LDFLAGS): Likewise.
37507 (dm_nv_mod_SOURCES): Likewise.
37508 (dm_nv_mod_CFLAGS): Likewise.
37509 (dm_nv_mod_LDFLAGS): Likewise.
37510
37511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37512 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37513 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37514
37515 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37516 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37517
37518 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37519
37520 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37521
37522 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37523
37524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37525
37526 * disk/raid5_recover.c: New file.
37527
37528 * disk/raid6_recover.c: Likewise.
37529
37530 * disk/mdraid_linux.c: Likewise.
37531
37532 * disk/dmraid_nvidia.c: Likewise.
37533
37534 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37535 ULONG_MAX.
37536
37537 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37538 calculate the size of raid device.
37539 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37540 different layout of raid5.
37541 (grub_raid_scan_device): Remove code specific to mdraid.
37542 (grub_raid_list): New variable.
37543 (free_array): New function.
37544 (grub_raid_register): Likewise.
37545 (grub_raid_unregister): Likewise.
37546 (grub_raid_rescan): Likewise.
37547 (GRUB_MOD_INIT): Don't iterate device here.
37548 (GRUB_MOD_FINI): Use free_array to release resource.
37549
37550 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37551 (grub_raid5_recover_func_t): New function variable type.
37552 (grub_raid6_recover_func_t): Likewise.
37553 (grub_raid5_recover_func): New variable.
37554 (grub_raid6_recover_func): Likewise.
37555 (grub_raid_register): New function.
37556 (grub_raid_unregister): Likewise.
37557 (grub_raid_rescan): Likewise.
37558 (grub_raid_block_xor): Likewise.
37559
37560 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37561 (CMD_CRC): New macro.
37562 (part): Removed.
37563 (read_file): Handle device as well as file.
37564 (cmd_crc): New function.
37565 (fstest): Handle multiple disks.
37566 (options): Remove part, raw and long, add root and diskcount.
37567 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37568 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37569 add handling for the new options, support multiple disks.
37570
37571 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37572
29c18915 375732008-08-23 Bean <bean123ch@gmail.com>
37574
37575 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37576
37577 * genfslist.sh: Ignore kernel.mod.
37578
37579 * genpartmaplist.sh: Likewise.
37580
8415f261 375812008-08-23 Robert Millan <rmh@aybabtu.com>
37582
37583 * util/getroot.c (find_root_device): Skip anything that starts with
37584 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37585
d5a7dc5b 375862008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37587
d5a7dc5b 37588 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37589 * util/grub.d/00_header.in: Allow the administrator to change default
37590 gfxmode via ${GRUB_GFXMODE}.
37591
380cfbb4 375922008-08-21 Felix Zielcke <fzielcke@z-51.de>
37593
37594 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37595
c9baafe7 375962008-08-21 Robert Millan <rmh@aybabtu.com>
37597
37598 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37599 loader.
37600 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37601 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37602
e290bef2 376032008-08-20 Carles Pina i Estany <carles@pina.cat>
37604
37605 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37606 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37607
f9dbfc96 376082008-08-19 Robert Millan <rmh@aybabtu.com>
37609
37610 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37611 (struct grub_virtual_screen): Remove `cursor_color'.
37612 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37613 initialization.
37614 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37615
dd6bd6ab 376162008-08-18 Robert Millan <rmh@aybabtu.com>
37617
37618 Unify (identical) linux_normal.c files.
37619 * loader/i386/efi/linux_normal.c: Move from here ...
37620 * loader/linux_normal.c: ... to here. Update all users.
37621 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37622 * loader/i386/ieee1275/linux_normal.c: Likewise.
37623
7f42f83e 376242008-08-18 Robert Millan <rmh@aybabtu.com>
37625
37626 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37627 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37628 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37629 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37630 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37631 New macros.
37632 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37633 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37634 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37635 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37636 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37637 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37638 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37639 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37640 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37641 portably using grub_getxy().
37642 Replace `-EFI' with `-bzImage' in boot message.
37643
38487ddb 376442008-08-17 Robert Millan <rmh@aybabtu.com>
37645
37646 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37647
deceb3ec 376482008-08-17 Robert Millan <rmh@aybabtu.com>
37649
37650 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37651
37652 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37653 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37654 (grub_machine_mmap_iterate): New function declaration.
37655 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37656 structure.
37657 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37658 macros.
37659
37660 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37661 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37662 Move e820 parsing from here ...
37663 * kern/i386/pc/mmap.c: New file.
37664 (grub_machine_mmap_iterate): ... to here.
37665
37666 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37667 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37668 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37669 (grub_available_iterate): Redeclare to return `void', and redeclare
37670 its hook to use grub_uint64_t as addr and size parameters, and rename
37671 to ...
37672 (grub_machine_mmap_iterate): ... this. Update all users.
37673
37674 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37675 to make it more readable. Rename to ...
37676 (grub_machine_mmap_iterate): ... this.
37677
37678 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37679 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37680 (grub_multiboot): Allocate an extra region after the payload, and fill
37681 it with a Multiboot memory map. Adjust a.out loader to calculate size
37682 with the extra space.
37683 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37684 with the extra space.
37685
f8aa0f43 376862008-08-17 Carles Pina i Estany <carles@pina.cat>
37687
9807deb9 37688 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 37689
605f5bb6 376902008-08-17 Felix Zielcke <fzielcke@z-51.de>
37691
37692 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37693 mdate-sh to the list `find' searches for.
37694 * DISTLIST: Regenerated.
37695
210db6c6 376962008-08-16 Felix Zielcke <fzielcke@z-51.de>
37697
37698 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37699 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 37700 genmoddep.awk, gensymlist.sh.in.
37701 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 37702 * DISTLIST: Regenerated.
48cdbfd4 37703 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 37704
1082b929 377052008-08-16 Robert Millan <rmh@aybabtu.com>
37706
37707 * disk/raid.c (grub_raid_init): Handle/report errors set by
37708 grub_device_iterate().
37709 * disk/lvm.c (grub_lvm_init): Likewise.
37710
42ce5170 377112008-08-15 Bean <bean123ch@gmail.com>
37712
37713 * conf/i386-pc.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 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37726 and datehook.mod.
37727 (datetime_mod_SOURCES): New macro.
37728 (datetime_mod_CFLAGS): Likewise.
37729 (datetime_mod_LDFLAGS): Likewise.
37730 (date_mod_SOURCES): Likewise.
37731 (date_mod_CFLAGS): Likewise.
37732 (date_mod_LDFLAGS): Likewise.
37733 (datehook_mod_SOURCES): Likewise.
37734 (datehook_mod_CFLAGS): Likewise.
37735 (datehook_mod_LDFLAGS): Likewise.
37736
37737 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37738 and datehook.mod.
37739 (datetime_mod_SOURCES): New macro.
37740 (datetime_mod_CFLAGS): Likewise.
37741 (datetime_mod_LDFLAGS): Likewise.
37742 (date_mod_SOURCES): Likewise.
37743 (date_mod_CFLAGS): Likewise.
37744 (date_mod_LDFLAGS): Likewise.
37745 (datehook_mod_SOURCES): Likewise.
37746 (datehook_mod_CFLAGS): Likewise.
37747 (datehook_mod_LDFLAGS): Likewise.
37748
37749 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37750 and datehook.mod.
37751 (datetime_mod_SOURCES): New macro.
37752 (datetime_mod_CFLAGS): Likewise.
37753 (datetime_mod_LDFLAGS): Likewise.
37754 (date_mod_SOURCES): Likewise.
37755 (date_mod_CFLAGS): Likewise.
37756 (date_mod_LDFLAGS): Likewise.
37757 (datehook_mod_SOURCES): Likewise.
37758 (datehook_mod_CFLAGS): Likewise.
37759 (datehook_mod_LDFLAGS): Likewise.
37760
37761 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37762 and datehook.mod.
37763 (datetime_mod_SOURCES): New macro.
37764 (datetime_mod_CFLAGS): Likewise.
37765 (datetime_mod_LDFLAGS): Likewise.
37766 (date_mod_SOURCES): Likewise.
37767 (date_mod_CFLAGS): Likewise.
37768 (date_mod_LDFLAGS): Likewise.
37769 (datehook_mod_SOURCES): Likewise.
37770 (datehook_mod_CFLAGS): Likewise.
37771 (datehook_mod_LDFLAGS): Likewise.
37772
37773 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37774
37775 * commands/date.c: New file.
37776
37777 * hook/datehook.c: Likewise.
37778
37779 * include/grub/lib/datetime.h: Likewise.
37780
37781 * include/grub/i386/cmos.h: Likewise.
37782
37783 * lib/datetime.c: Likewise.
37784
37785 * lib/i386/datetime.c: Likewise.
37786
37787 * lib/efi/datetime.c: Likewise.
37788
0e9242da 377892008-08-14 Robert Millan <rmh@aybabtu.com>
37790
37791 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37792 (grub_mkelfimage_SOURCES): New variable.
37793 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37794
37795 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37796 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37797 * conf/powerpc-ieee1275.rmk: Likewise.
37798 * conf/i386-ieee1275.rmk: Likewise.
37799
37800 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37801 * kern/i386/coreboot/init.c: Likewise.
37802
37803 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37804 with `<grub/cpu/kernel.h>'.
37805 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37806 to ...
37807 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37808 * kern/i386/coreboot/startup.S: Likewise.
37809
37810 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37811 (GRUB_MOD_GAP): Remove.
37812 * include/grub/powerpc/kernel.h: New file.
37813 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37814 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37815 * include/grub/i386/kernel.h: New file.
37816 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37817 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37818 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37819
37820 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37821 `grub-mkelfimage'.
37822 Use --directory when invoking grub_mkimage.
37823
37824 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37825 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37826 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37827 and GRUB_KERNEL_CPU_PREFIX.
37828
b86408f8 378292008-08-14 Felix Zielcke <fzielcke@z-51.de>
37830
d5e619ca 37831 * include/grub/err.h (grub_err_printf): New function prototype.
37832 * util/misc.c (grub_err_printf): New function.
37833 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37834 grub_printf.
37835 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37836
7161f0e0 378372008-08-13 Robert Millan <rmh@aybabtu.com>
37838
37839 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37840
a1967522 378412008-08-13 Robert Millan <rmh@aybabtu.com>
37842
37843 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37844 boot entry.
37845
371458b5 378462008-08-12 Robert Millan <rmh@aybabtu.com>
37847
37848 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37849 of the relocation code from here ...
37850 (grub_multiboot): ... to here.
37851 (forward_relocator, backward_relocator): Move from here ...
37852 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37853 (grub_multiboot_backward_relocator): ... to here.
37854 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37855 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37856 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37857 (grub_multiboot_forward_relocator_end)
37858 (grub_multiboot_backward_relocator)
37859 (grub_multiboot_backward_relocator_end): New variables.
37860
05f9452b 378612008-08-12 Bean <bean123ch@gmail.com>
37862
37863 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37864
20024ab0 378652008-08-11 Robert Millan <rmh@aybabtu.com>
37866
37867 * kern/i386/linuxbios/startup.S: Move from here ...
37868 * kern/i386/coreboot/startup.S: ... to here.
37869
37870 * kern/i386/linuxbios/init.c: Move from here ...
37871 * kern/i386/coreboot/init.c: ... to here.
37872
37873 * kern/i386/linuxbios/table.c: Move from here ...
37874 * kern/i386/coreboot/mmap.c: ... to here.
37875
37876 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37877
e352e9cd 378782008-08-11 Robert Millan <rmh@aybabtu.com>
37879
37880 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37881 errors. Leave it to the upper layer to handle them.
37882
2d05bc6a 378832008-08-09 Christian Franke <franke@computer.org>
37884
37885 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37886 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37887 Install `grub.d/10_windows' only on Cygwin.
37888 * configure.ac: Add subst of `target_os'.
37889 Check `target_os' also before setting TARGET_OBJ2ELF.
37890 Add `--enable-grub-pe2elf'.
37891
042bd419 378922008-08-08 Robert Millan <rmh@aybabtu.com>
37893
37894 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37895 (grub_last_time): Change type to grub_uint64_t.
37896 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37897 (grub_disk_close): Likewise.
37898
37899 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37900 (run_menu): Migrate code from to using grub_get_time_ms().
37901
37902 * util/misc.c (grub_get_time_ms): New function.
37903
7f280db5 379042008-08-08 Marco Gerards <marco@gnu.org>
37905
37906 * disk/ata.c (grub_ata_regget): Change return type to
37907 `grub_uint8_t'.
37908 (grub_ata_regget2): Likewise.
37909 (grub_ata_wait_status): New function.
37910 (grub_ata_wait_busy): Removed function, updated all users to use
37911 `grub_ata_wait_status'.
37912 (grub_ata_wait_drq): Likewise.
37913 (grub_ata_cmd): New function.
37914 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37915 error handling.
37916 (grub_ata_pio_write): Add error handling.
37917 (grub_atapi_identify): Likewise.
37918 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37919 handling.
37920 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37921 handling. Actually use the detected registers. Reorder the
37922 detection logic such that it is easier to read.
37923 (grub_ata_pciinit): Do not assign the same ID to each controller.
37924 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37925 handling.
37926 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37927
37928 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37929
1fbc5e66 379302008-08-08 Marco Gerards <marco@gnu.org>
37931
37932 * NEWS: Update.
37933
819ce6c0 379342008-08-07 Bean <bean123ch@gmail.com>
37935
37936 * include/grub/x86_64/pci.h: New file.
37937
5c41d44d 379382008-08-07 Christian Franke <franke@computer.org>
37939
37940 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37941 (TIMER2_GATE): Likewise.
37942 (grub_pit_wait): Add enable/disable of the timer2 gate
37943 bit of port 0x61. This fixes a possible infinite loop.
37944
5ebc275d 379452008-08-07 Bean <bean123ch@gmail.com>
37946
37947 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37948 kern/i386/tsc.c and kern/i386/pit.c.
37949
37950 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37951 x86_64 platform.
37952
37953 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37954 <grub/i386/tsc.h>.
37955
37956 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37957
e383b3d0 379582008-08-07 Bean <bean123ch@gmail.com>
37959
37960 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37961
37962 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37963
37964 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37965 multiple inclusion. Add #include <grub/types.h>.
37966
1cbb58ac 379672008-08-06 Christian Franke <franke@computer.org>
37968
37969 * conf/common.rmk: Build and install `10_windows'.
37970 * util/grub.d/10_windows.in: New script.
37971
337f5a1e 379722008-08-06 Pavel Roskin <proski@gnu.org>
37973
37974 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37975
057bc4ac 379762008-08-06 Robert Millan <rmh@aybabtu.com>
37977
37978 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37979 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37980
2b99f123 379812008-08-06 Bean <bean123ch@gmail.com>
37982
37983 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37984 (grub_pxefs_fs_int): Remove dummy definition.
37985 (grub_pxefs_open): Use data->block_size to store the current block
37986 size setting.
37987 (grub_pxefs_read): Use block size stored in data->block_size. As the
37988 value of grub_pxe_blksize can be changed after the file is opened.
37989
9f0234cb 379902008-08-06 Bean <bean123ch@gmail.com>
37991
37992 * fs/i386/pc/pxe.c (curr_file): new variable.
37993 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37994 require the dummy internal file system anymore.
37995 (grub_pxefs_read): Removed.
37996 (grub_pxefs_close): Likewise.
37997 (grub_pxefs_fs_int): Likewise.
37998 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37999 connection when we switch file.
38000 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38001
a55d42e0 380022008-08-06 Robert Millan <rmh@aybabtu.com>
38003
38004 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38005 `halt.mod'.
38006 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38007 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38008
38009 * kern/i386/halt.c: New file.
38010 * kern/i386/reboot.c: Likewise.
38011 * include/grub/i386/reboot.h: Likewise.
38012 * include/grub/i386/halt.h: Likewise.
38013
38014 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38015 Include `<grub/cpu/halt.h>'.
38016 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38017 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38018
38019 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38020 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38021 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38022 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38023 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38024 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38025 from here ...
38026 * include/grub/i386/at_keyboard.h: ... to here.
38027
24371d26 380282008-08-05 Robert Millan <rmh@aybabtu.com>
38029
38030 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38031 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38032 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38033 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38034 `kern/generic/millisleep.c'.
38035
38036 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38037 instead of grub_get_rtc().
38038 (grub_tsc_init): Initialize `tsc_boot_time'.
38039
38040 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38041 (grub_machine_init): Use grub_tsc_init() rather than
38042 installing an RTC-based handler via grub_install_get_time_ms().
38043
38044 * kern/i386/pit.c: New file.
38045 * include/grub/i386/pit.h: Likewise.
38046
9e7007b3 380472008-08-05 Bean <bean123ch@gmail.com>
38048
38049 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38050
38051 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38052 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38053 (pxe_mod_SOURCES): New macro.
38054 (pxe_mod_CFLAGS): Likewise.
38055 (pxe_mod_LDFLAGS): Likewise.
38056 (pxecmd_mod_SOURCES): Likewise.
38057 (pxecmd_mod_CFLAGS): Likewise.
38058 (pxecmd_mod_LDFLAGS): Likewise.
38059
38060 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38061 (grub_pxe_call): Likewise.
38062
38063 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38064
38065 * commands/i386/pc/pxecmd.c: New file.
38066
9f0234cb 38067 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38068
38069 * include/grub/i386/pc/pxe.h: Likewise.
38070
6977d49f 380712008-08-05 Bean <bean123ch@gmail.com>
38072
38073 * util/console.c (grub_console_cur_color): New variable.
38074 (grub_console_standard_color): Likewise.
38075 (grub_console_normal_color): Likewise.
38076 (grub_console_highlight_color): Likewise.
38077 (color_map): Likewise.
38078 (use_color): Likewise.
38079 (NUM_COLORS): New macro.
38080 (grub_ncurses_setcolorstate): Handle color properly.
38081 (grub_ncurses_setcolor): Don't change color here, just remember the
38082 settings, color will be set in grub_ncurses_setcolorstate.
38083 (grub_ncurses_getcolor): New function.
38084 (grub_ncurses_init): Initialize color pairs.
38085 (grub_ncurses_term): New member grub_ncurses_getcolor.
38086
9c2ff3ee 380872008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38088
9c2ff3ee 38089 High resolution timer support. Implemented for x86 CPUs using TSC.
38090 Extracted generic grub_millisleep() so it's linked in only as needed.
38091 This requires a Pentium compatible CPU; if the RDTSC instruction is
38092 not supported, then it falls back on the generic grub_get_time_ms()
38093 implementation that uses the machine's RTC.
38094
38095 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38096 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38097 `kern/generic/millisleep.c'.
38098
38099 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38100 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38101
38102 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38103 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38104
38105 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38106
38107 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38108 `kern/generic/millisleep.c'.
38109
38110 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38111
38112 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38113
38114 * kern/generic/rtc_get_time_ms.c: New file.
38115
38116 * kern/generic/millisleep.c: New file.
337f5a1e 38117
9c2ff3ee 38118 * kern/misc.c: Don't include
38119 <kern/time.h> anymore.
38120 (grub_millisleep_generic): Removed.
38121
38122 * commands/sleep.c (grub_interruptible_millisleep): Uses
38123 grub_get_time_ms() instead of grub_get_rtc().
38124
38125 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38126 function.
38127 (grub_cpu_is_cpuid_supported): New inline function.
38128 (grub_cpu_is_tsc_supported): New inline function.
38129 (grub_tsc_init): New function prototype.
38130 (grub_tsc_get_time_ms): New function prototype.
38131
38132 * kern/i386/tsc.c (grub_get_time_ms): New file.
38133
38134 * include/grub/time.h: Include <grub/types.h.
38135 (grub_millisleep_generic): Removed.
38136 (grub_get_time_ms): New prototype.
38137 (grub_install_get_time_ms): New prototype.
38138 (grub_rtc_get_time_ms): New prototype.
38139
38140 * kern/time.c (grub_get_time_ms): New function.
38141 (grub_install_get_time_ms): New function.
38142
38143 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38144 <grub/time.h> anymore.
38145 (grub_millisleep): Removed.
38146 (grub_machine_init): Call grub_tsc_init.
38147
38148 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38149 get_time_ms() implementation.
38150
38151 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38152 (ieee1275_get_time_ms): New function.
38153 (grub_machine_init): Install get_time_ms() implementation.
38154
38155 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38156 (grub_machine_init): Call grub_tsc_init().
38157 (grub_millisleep): Removed.
bf06a93f 38158
9c2ff3ee 38159 * kern/ieee1275/init.c (grub_millisleep): Removed.
38160 (grub_machine_init): Install ieee1275_get_time_ms()
38161 implementation.
38162 (ieee1275_get_time_ms): New function.
38163 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38164 real work.
38165
9ec92aaf 381662008-08-05 Marco Gerards <marco@gnu.org>
38167
38168 * disk/ata.c: Include <grub/pci.h>.
38169 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38170 (grub_ata_initialize): Rewritten.
38171 (grub_ata_device_initialize): New function.
38172
8d23f507 381732008-08-04 Pavel Roskin <proski@gnu.org>
38174
38175 * kern/main.c: Include grub/mm.h.
38176
5e15ee3d 381772008-08-04 Robert Millan <rmh@aybabtu.com>
38178
38179 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38180 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38181 corruption problem).
38182
a9053f8f 381832008-08-04 Robert Millan <rmh@aybabtu.com>
38184
38185 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38186 warnings introduced in my last commit.
38187
dd19c7d7 381882008-08-03 Robert Millan <rmh@aybabtu.com>
38189
38190 Make PCI available on all i386 architectures.
38191
38192 * include/grub/i386/pc/pci.h: Move from here ...
38193 * include/grub/i386/pci.h: ... to here.
38194
38195 * include/grub/i386/pc/pci.h: Remove.
38196 * include/grub/i386/efi/pci.h: Remove.
38197 * include/grub/x86_64/efi/pci.h: Remove.
38198
38199 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38200 `<grub/cpu/pci.h>'.
38201
38202 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38203 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38204 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38205
38206 * conf/i386-ieee1275.rmk: Likewise.
38207
e14a6184 382082008-08-03 Robert Millan <rmh@aybabtu.com>
38209
38210 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38211 (grub_console_setcursor): Make it possible to set cursor off.
38212
52768e37 382132008-08-03 Robert Millan <rmh@aybabtu.com>
38214
38215 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38216 of modules instead of assuming which platform provides what.
38217 * util/update-grub.in: Likewise.
38218
2d52f57f 382192008-08-03 Robert Millan <rmh@aybabtu.com>
38220
38221 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38222 instead of `grub_install_dos_part' to determine whether a drive needs
38223 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38224 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38225
2a5cd121 382262008-08-02 Robert Millan <rmh@aybabtu.com>
38227
38228 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38229
93808428 382302008-08-02 Robert Millan <rmh@aybabtu.com>
38231
38232 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38233 of informational grub_dprintf() calls.
38234
3bd0a12a 382352008-08-02 Robert Millan <rmh@aybabtu.com>
38236
38237 * disk/memdisk.c (memdisk_size): Don't initialize.
38238 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38239
38240 * include/grub/i386/pc/kernel.h
38241 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38242 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38243 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38244 (grub_arch_memdisk_size): Remove.
38245
38246 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38247 field (was only used to transfer a constant). Add `type' field to
38248 support multiple module types.
38249 (grub_module_iterate): New function.
38250
38251 * kern/device.c (grub_device_open): Do not hide error messages
38252 when grub_disk_open() fails. Use grub_print_error() instead.
38253
38254 * kern/i386/pc/init.c (grub_arch_modules_addr)
38255 (grub_arch_memdisk_size): Remove functions.
38256 (grub_arch_modules_addr): Return the module address in high memory
38257 (now that it isn't copied anymore).
38258
38259 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38260 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38261 decompression routine (grub_total_module_size already includes that
38262 now). Don't copy modules back to low memory.
38263
38264 * kern/main.c: Include `<grub/mm.h>'.
38265 (grub_load_modules): Split out (and use) ...
38266 (grub_module_iterate): ... this function, which iterates through
38267 module objects and runs a hook.
38268 Comment out grub_mm_init_region() call, as it would cause non-ELF
38269 modules to be overwritten.
38270
38271 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38272 the memdisk image in its own region, make it part of the module list.
38273 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38274 (main): Parse --memdisk|-m option, and pass user-provided path as
38275 parameter to generate_image().
38276 (add_segments): Pass `memdisk_path' down to load_modules().
38277 (load_modules): Embed memdisk image in module section when requested.
38278 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38279 `header.type' instead of `header.offset'.
38280
38281 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38282 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38283 (memdisk_mod_LDFLAGS): New variables.
38284 * conf/i386-coreboot.rmk: Likewise.
38285 * conf/i386-ieee1275.rmk: Likewise.
38286
a927cc73 382872008-08-02 Robert Millan <rmh@aybabtu.com>
38288
38289 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38290 (backward_relocator): New variables. Used to allocate and relocate
38291 the payload, respectively.
38292 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38293 address, install the appropriate relocator code in each bound of
a927cc73 38294 the payload, and set the entry point such that
38295 grub_multiboot_real_boot() will jump to one of them.
38296
38297 * kern/i386/loader.S (grub_multiboot_payload_size)
38298 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38299 (grub_multiboot_payload_entry_offset): New variables.
38300 (grub_multiboot_real_boot): Set cpu context to what the relocator
38301 expects, and jump to the relocator instead of the payload.
38302
38303 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38304 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38305 (grub_multiboot_payload_entry_offset): Export.
38306
b15d8a0c 383072008-08-01 Bean <bean123ch@gmail.com>
38308
38309 * normal/menu_entry.c (editor_getline): Don't return the original
38310 string as result, as it will be released by lexer once it has done
38311 using it.
38312
cdfb3d22 383132008-08-01 Robert Millan <rmh@aybabtu.com>
38314
38315 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38316 within menuentries, not before them.
38317 util/grub.d/10_hurd.in: Likewise.
38318
9175e93d 383192008-08-01 Bean <bean123ch@gmail.com>
38320
38321 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38322 (bufio_mod_SOURCES): New macro.
38323 (bufio_mod_CFLAGS): Likewise.
38324 (bufio_mod_LDFLAGS): Likewise.
38325
38326 * include/grub/bufio.h: New file.
38327
38328 * io/bufio.c: Likewise.
38329
38330 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38331 (grub_video_reader_png): Use grub_buffile_open to open file.
38332
38333 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38334 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38335
38336 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38337 (grub_video_reader_tga): Use grub_buffile_open to open file.
38338
38339 * font/manager.c: Include <grub/bufio.h>.
38340 (add_font): Use grub_buffile_open to open file.
38341
3d8383e7 383422008-07-31 Robert Millan <rmh@aybabtu.com>
38343
38344 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38345 ELF segments, use a macro for arbitrarily accessing any of them instead
38346 of preparing a pointer that allows access to one at a time.
38347 (grub_multiboot_load_elf64): Likewise.
38348
16e641b6 383492008-07-31 Bean <bean123ch@gmail.com>
38350
38351 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38352 GRUB_KERNEL_MACHINE_DATA_END.
38353
59198b72 383542008-07-30 Robert Millan <rmh@aybabtu.com>
38355
38356 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38357 Increase from 0x50 to 0x60.
38358 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38359 use UUIDs to identify the root drive for them. If that's not
38360 possible, abort.
38361 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38362 check, for cross-disk installs.
38363
ae88bca3 383642008-07-30 Robert Millan <rmh@aybabtu.com>
38365
38366 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38367 is non-empty, use it to set the `prefix' environment variable instead
38368 of the usual approach.
38369 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38370 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38371 environment variable instead of dummy make_install_device().
38372
38373 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38374 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38375 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38376
38377 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38378 New variable reference.
38379 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38380 New macro. Defines offset of `grub_prefix' within startup.S (relative
38381 to `start').
38382 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38383 section within startup.S (relative to `start').
38384 * include/grub/i386/coreboot/kernel.h: Likewise.
38385
38386 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38387 Overwrite grub_prefix with its contents, at the beginning of the
38388 first segment.
38389 (main): Understand -p|--prefix.
38390
14f41dd1 383912008-07-30 Robert Millan <rmh@aybabtu.com>
38392
38393 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38394
4ca049a3 383952008-07-30 Robert Millan <rmh@aybabtu.com>
38396
38397 * term/i386/pc/vga_text.c (grub_console_cls): Use
38398 grub_console_gotoxy() to go back to beginning of the screen.
38399 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38400
2921d337 384012008-07-29 Christian Franke <franke@computer.org>
38402
38403 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38404 Add conversion of emulated mount points on Cygwin.
38405
b609876d 384062008-07-29 Christian Franke <franke@computer.org>
38407
38408 * util/update-grub.in: Add a check for admin
38409 group on Cygwin.
38410 Remove old `grub.cfg.new' before creation.
38411 Add `-f' to `mv' to handle the different filesystem
38412 semantics of Windows.
38413
e93e4679 384142008-07-29 Bean <bean123ch@gmail.com>
38415
38416 * normal/main.c (get_line): Fix buffer overflow bug.
38417
41694fd0 384182008-07-28 Robert Millan <rmh@aybabtu.com>
38419
38420 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38421 (struct grub_apple_header): New struct. Describes the layout of
38422 the partmap header.
38423 (apple_partition_map_iterate): Check the header magic as well as the
38424 partition magic (which was already being checked).
38425
cfd0b4e6 384262008-07-28 Pavel Roskin <proski@gnu.org>
38427
38428 * genmk.rb: Add a warning to the beginning of the output that
38429 it's a generated file and should not be edited.
38430
93cce016 384312008-07-28 Robert Millan <rmh@aybabtu.com>
38432
38433 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38434 with the same number are found, just use issue a warning with
38435 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38436
cd1df915 384372008-07-27 Robert Millan <rmh@aybabtu.com>
38438
38439 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38440 information.
38441
b70a8427 384422008-07-27 Bean <bean123ch@gmail.com>
38443
38444 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38445 (grub_fat_find_dir): Ignore case when comparing filename.
38446
8f5e379f 384472008-07-27 Bean <bean123ch@gmail.com>
38448
38449 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38450 smallino, as it's more descriptive, and i8count can be confused with
38451 the other field count.
38452 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38453 inode type.
38454
a85cd5a0 384552008-07-27 Bean <bean123ch@gmail.com>
38456
38457 * commands/crc.c: New file.
38458
38459 * lib/crc.c: Likewise.
38460
38461 * include/grub/lib/crc.h: Likewise.
38462
38463 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38464
38465 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38466 (hexdump): Move this function to ...
38467
38468 * lib/hexdump.c: ... here.
38469
38470 * include/grub/hexdump.h: Renamed to ...
38471
38472 * include/grub/lib/hexdump.h: ... this.
38473
38474 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38475
38476 * util/grub-editenv.c: Likewise.
38477
38478 * include/envblk.h: Renamed to ...
38479
38480 * include/lib/envblk.h: ... this.
38481
38482 * util/envblk.c: Renamed to ...
38483
38484 * lib/envblk.c: ... this.
38485
38486 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38487 lib/hexdump.c.
38488 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38489 (pkglib_MODULES): Add crc.mod.
38490 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38491 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38492 (crc_mod_SOURCES): New macro.
38493 (crc_mod_CFLAGS): Likewise.
38494 (crc_mod_LDFLAGS): Likewise.
38495
38496 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38497
38498 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38499
38500 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38501
38502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38503
38504 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38505
c298def0 385062008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38507
38508 * commands/help.c: Include <grub/term.h>.
38509 (TERM_WIDTH): Removed. Updated all users.
38510
cc349fb3 385112008-07-27 Pavel Roskin <proski@gnu.org>
38512
38513 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38514 spurious warnings about a comment within a comment.
38515
9051607e 385162008-07-25 Robert Millan <rmh@aybabtu.com>
38517
38518 * util/getroot.c (find_root_device): Skip devices that match
38519 /dev/dm-[0-9]. This lets the real device be found for any type of
38520 abstraction (LVM, EVMS, RAID..).
38521 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38522 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38523 device is found first, find_root_device() will now skip it.
38524
01453bfc 385252008-07-24 Pavel Roskin <proski@gnu.org>
38526
38527 * include/grub/types.h: Use __builtin_bswap32() and
38528 __builtin_bswap64() with gcc 4.3 and newer.
38529
6af9849f 385302008-07-24 Christian Franke <franke@computer.org>
38531
3a0fa256 38532 * util/i386/pc/grub-install.in: If `--debug' is specified,
38533 pass `--verbose' to grub-setup.
38534 Abort script if make_system_path_relative_to_its_root() fails.
38535
7810e747 385362008-07-24 Bean <bean123ch@gmail.com>
38537
38538 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38539 variable `target_platform' should be `platform'.
38540
42290e17 385412008-07-24 Bean <bean123ch@gmail.com>
38542
51cc5193 38543 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38544 (grub_png_init_fixed_block): New function.
38545 (grub_png_decode_image_data): Handle fixed huffman code compression.
38546
2a8a80e4 385472008-07-24 Bean <bean123ch@gmail.com>
38548
38549 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38550 (grub_pe2elf_SOURCES): New macro.
38551 (CLEANFILES): Add grub-pe2elf.
38552
38553 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38554 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38555 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38556 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38557 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38558 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38559 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38560 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38561 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38562 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38563 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38564 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38565 (GRUB_PE32_DT_FUNCTION): Likewise.
38566 (GRUB_PE32_REL_I386_DIR32): Likewise.
38567 (GRUB_PE32_REL_I386_REL32): Likewise.
38568 (grub_pe32_symbol): New structure.
38569 (grub_pe32_reloc): Likewise.
38570
38571 * util/grub-pe2elf.c: New file.
38572
38573 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38574 start symbol in non pc platform.
38575
38576 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38577
38578 The following patches are from Christian Franke.
38579
38580 * include/grub/dl.h: Remove .previous, gas supports this only
38581 for ELF format.
38582
38583 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38584 Remove .type, gas supports this only for ELF format.
38585
38586 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38587 nullbytes in symbol table. This fixes an infinite loop if table is
38588 zero filled.
38589
38590 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38591 TARGET_IMG_LDFLAGS and EXEEXT.
38592
38593 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38594 TARGET_IMG_LDFLAGS_AC.
38595 (grub_CHECK_STACK_ARG_PROBE): New function.
38596
38597 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38598
38599 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38600
38601 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38602 to set TARGET_IMG_LD* accordingly.
38603 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38604 Add call to grub_CHECK_STACK_ARG_PROBE.
38605 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38606
38607 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38608
38609 * genmk.rb: Add EXEEXT to CLEANFILES.
38610
12ccdb75 386112008-07-23 Robert Millan <rmh@aybabtu.com>
38612
38613 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38614 define the codes for arrows and lines used for the menu).
38615 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38616 as well.
38617
38618 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38619 fonts, because the latter are too slow.
38620
18eeaf04 386212008-07-21 Bean <bean123ch@gmail.com>
38622
38623 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38624 a20. Run keyboard test last, as it will cause macbook to halt.
38625
b095e2ad 386262008-07-18 Pavel Roskin <proski@gnu.org>
38627
38628 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38629 load foreign architecture modules correctly anyway. Keep
38630 support for loading host architecture modules, whether we
38631 compile them or not.
38632
737feb35 386332008-07-17 Pavel Roskin <proski@gnu.org>
38634
3f4ce737 38635 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38636 change target_cpu. The compiler default can mismatch target_cpu
38637 in any case.
38638
4ad2d049 38639 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38640 * kern/efi/efi.c: Likewise.
38641
f6130a12 38642 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38643 target compiler is functional.
38644 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38645 are set up.
38646
58393a2d 38647 * configure.ac: Default to efi platform for x86_64-apple. Allow
38648 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38649 adjustments from the rest, only do them if target is not
38650 explicitly given. Merge other adjustments with the final sanity
38651 check. Remove an extraneous check for supported CPU. Be
38652 specific which CPU and which platform is not supported.
38653
737feb35 38654 * configure.ac: Default to pc platform for x86_64.
38655
546f966a 386562008-07-17 Robert Millan <rmh@aybabtu.com>
38657
38658 Partial LinuxBIOS -> Coreboot rename.
38659
38660 * conf/i386-linuxbios.rmk: Renamed to ...
38661 * conf/i386-coreboot.rmk: ... this.
38662 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38663 * configure.ac: Accept "coreboot" as input platform (but maintain
38664 compatibility with "linuxbios").
38665 * include/grub/i386/linuxbios: Renamed to ...
38666 * include/grub/i386/coreboot: ... this.
38667
20011694 386682008-07-17 Bean <bean123ch@gmail.com>
38669
38670 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 38671 (appleldr_mod_SOURCE): New variable.
20011694 38672 (appleldr_mod_CFLAGS): Likewise.
38673 (appleldr_mod_LDFLAGS): Likewise.
38674 (pci_mod_SOURCES): Likewise.
38675 (pci_mod_CFLAGS): Likewise.
38676 (pci_mod_LDFLAGS): Likewise.
38677 (lspci_mod_SOURCES): Likewise.
38678 (lspci_mod_CFLAGS): Likewise.
38679 (lspci_mod_LDFLAGS): Likewise.
38680
38681 * conf/x86_64-efi.rmk: New file.
38682
38683 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38684 macro.
38685 (grub_efidisk_write): Likewise.
38686
38687 * include/efi/api.h (efi_call_0): New macro.
38688 (efi_call_1): Likewise.
38689 (efi_call_2): Likewise.
38690 (efi_call_3): Likewise.
38691 (efi_call_4): Likewise.
38692 (efi_call_5): Likewise.
38693 (efi_call_6): Likewise.
38694
38695 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38696 grub_rescue_cmd_chainloader.
38697
38698 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38699 (grub_pe32_optional_header): Change some fields based on i386 or
38700 x86_64 platform.
38701 (GRUB_PE32_PE32_MAGIC): Likewise.
38702
38703 * include/grub/efi/uga_draw.h: New file.
38704
38705 * include/grub/elf.h (STN_ABS): New constant.
38706 (R_X86_64_NONE): Relocation constant for x86_64.
38707 (R_X86_64_64): Likewise.
38708 (R_X86_64_PC32): Likewise.
38709 (R_X86_64_GOT32): Likewise.
38710 (R_X86_64_PLT32): Likewise.
38711 (R_X86_64_COPY): Likewise.
38712 (R_X86_64_GLOB_DAT): Likewise.
38713 (R_X86_64_JUMP_SLOT): Likewise.
38714 (R_X86_64_RELATIVE): Likewise.
38715 (R_X86_64_GOTPCREL): Likewise.
38716 (R_X86_64_32): Likewise.
38717 (R_X86_64_32S): Likewise.
38718 (R_X86_64_16): Likewise.
38719 (R_X86_64_PC16): Likewise.
38720 (R_X86_64_8): Likewise.
38721 (R_X86_64_PC8): Likewise.
38722
38723 * include/grub/i386/efi/pci.h: New file.
38724
38725 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38726 Change it value based on platform.
38727 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38728 (GRUB_E820_RAM): Likewise.
38729 (GRUB_E820_RESERVED): Likewise.
38730 (GRUB_E820_ACPI): Likewise.
38731 (GRUB_E820_NVS): Likewise.
38732 (GRUB_E820_EXEC_CODE): Likewise.
38733 (GRUB_E820_MAX_ENTRY): Likewise.
38734 (grub_e820_mmap): New structure.
38735 (linux_kernel_header): Change the efi field according to different
38736 kernel version, also field from linux_kernel_header.
38737
38738 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38739
38740 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38741 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38742 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38743 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38744 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38745 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38746 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38747 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38748 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38749 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38750
38751 * include/grub/x86_64/efi/kernel.h: New file.
38752
38753 * include/grub/x86_64/efi/loader.h: Likewise.
38754
38755 * include/grub/x86_64/efi/machine.h: Likewise.
38756
38757 * include/grub/x86_64/efi/pci.h: Likewise.
38758
38759 * include/grub/x86_64/efi/time.h: Likewise.
38760
38761 * include/grub/x86_64/linux.h: Likewise.
38762
38763 * include/grub/x86_64/setjmp.h: Likewise.
38764
38765 * include/grub/x86_64/time.h: Likewise.
38766
38767 * include/grub/x86_64/types.h: Likewise.
38768
38769 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38770 GRUB_TARGET_SIZEOF_VOID_P.
38771
38772 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38773 (grub_efi_locate_handle): Likewise.
38774 (grub_efi_open_protocol): Likewise.
38775 (grub_efi_set_text_mode): Likewise.
38776 (grub_efi_stall): Likewise.
38777 (grub_exit): Likewise.
38778 (grub_reboot): Likewise.
38779 (grub_halt): Likewise.
38780 (grub_efi_exit_boot_services): Likewise.
38781 (grub_get_rtc): Likewise.
38782
38783 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38784 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38785 (grub_efi_allocate_pages): Wrap efi calls.
38786 (grub_efi_free_pages): Wrap efi calls.
38787 (grub_efi_get_memory_map): Wrap efi calls.
38788
38789 * kern/x86_64/dl.c: New file.
38790
38791 * kern/x86_64/efi/callwrap.S: Likewise.
38792
38793 * kern/x86_64/efi/startup.S: Likewise.
38794
38795 * loader/efi/appleloader.c: Likewise.
38796
38797 * loader/efi/chainloader.c (cmdline): New variable.
38798 (grub_chainloader_unload): Wrap efi calls.
38799 (grub_chainloader_boot): Likewise.
38800 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38801 command line.
38802
38803 * loader/efi/chainloader_normal.c (chainloader_command):
38804 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38805 command line.
38806
38807 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38808 method.
38809 (grub_e820_add_region): New function.
38810 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38811 booting.
38812 (grub_find_video_card): New function.
38813 (grub_linux_setup_video): New function.
38814 (grub_rescue_cmd_linux): Probe for video information.
38815
38816 * normal/x86_64/setjmp.S: New file.
38817
38818 * term/efi/console.c (map_char): New function.
38819 (grub_console_putchar): Map unicode char.
38820 (grub_console_checkkey): Wrap efi calls.
38821 (grub_console_getkey): Likewise.
38822 (grub_console_getwh): Likewise.
38823 (grub_console_gotoxy): Likewise.
38824 (grub_console_cls): Likewise.
38825 (grub_console_setcolorstate): Likewise.
38826 (grub_console_setcursor): Likewise.
38827
38828 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38829
59652a20 388302008-07-16 Pavel Roskin <proski@gnu.org>
38831
ef294055 38832 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38833 format strings.
38834
59652a20 38835 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38836 pointer, not an integer. This fixes a warning and prevents
38837 precision loss on 64-bit systems.
38838 (relocate_addresses): Remove unneeded cast.
38839
afc3b5d7 388402008-07-15 Pavel Roskin <proski@gnu.org>
38841
506b2b3e 38842 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38843
62ead89c 38844 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38845
c4cd51d7 38846 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38847 Fix comparison between signed and unsigned.
38848
0d3d8f28 38849 * include/grub/i386/ieee1275/console.h: Declare
38850 grub_console_init() and grub_console_fini().
38851
8804b286 38852 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38853 It's empty and unused.
38854
ee01cf35 38855 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38856 beginning to avoid warnings with some compilers.
38857
afc3b5d7 38858 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38859 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38860
e4e8eaa5 388612008-07-14 Pavel Roskin <proski@gnu.org>
38862
407aceb4 38863 * kern/env.c (grub_register_variable_hook): Don't copy empty
38864 string, it leaks memory. Pass "" to grub_env_set(), it should
38865 handle constant strings.
38866
e4e8eaa5 38867 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38868 * commands/cmp.c (grub_cmd_cmp): Likewise.
38869 * kern/dl.c (grub_dl_flush_cache): Likewise.
38870 (grub_dl_load_core): Likewise.
38871 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38872 (grub_elf64_load_phdrs): Likewise.
38873
d4e2dad3 388742008-07-13 Pavel Roskin <proski@gnu.org>
38875
38876 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38877 between signed and unsigned.
38878 (LzmaEnc_Finish): Fix warning about an unused parameter.
38879
aa24b516 388802008-07-13 Bean <bean123ch@gmail.com>
38881
38882 * Makefile.in (enable_lzo): New rule.
38883
38884 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38885
38886 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38887
38888 * boot/i386/pc/lnxboot.S: #include <config.h>.
38889
38890 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38891 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38892
38893 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38894 compression algorithm according to configure macro.
38895
38896 * kern/i386/pc/startup.S (codestart): Likewise.
38897
38898 * kern/i386/pc/lzma_decode.S: New file.
38899
38900 * include/grub/lib/LzFind.h: Likewise.
38901
38902 * include/grub/lib/LzHash.h: Likewise.
38903
38904 * include/grub/lib/LzmaDec.h: Likewise.
38905
38906 * include/grub/lib/LzmaEnc.h: Likewise.
38907
38908 * include/grub/lib/LzmaTypes.h: Likewise.
38909
38910 * lib/LzFind.c: Likewise.
38911
38912 * lib/LzmaDec.c: Likewise.
38913
38914 * lib/LzmaEnc.c: Likewise.
38915
4ae821ac 389162008-07-13 Bean <bean123ch@gmail.com>
38917
38918 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38919 (grub_ext4_extent_header): New structure.
38920 (grub_ext4_extent): Likewise.
38921 (grub_ext4_extent_idx): Likewise.
38922 (grub_ext4_find_leaf): New function.
38923 (grub_ext2_read_block): Handle extents.
38924
9a745147 389252008-07-12 Robert Millan <rmh@aybabtu.com>
38926
38927 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38928
d49a4cf6 389292008-07-11 Robert Millan <rmh@aybabtu.com>
38930
38931 * util/grub.d/40_custom.in: New file. Example on how to add custom
38932 entries to /etc/grub.d.
38933 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38934 40_custom (implicitly, by merging all the grub.d rules).
38935
947414b4 389362008-07-11 Pavel Roskin <proski@gnu.org>
38937
0059cf6f 38938 * commands/read.c (grub_getline): Fix invalid memory access.
38939 Don't add newline to the variable value.
38940
947414b4 38941 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38942 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38943 (serial_hw_get_port): Check validity of the port number.
38944 (grub_cmd_serial): Check return value of serial_hw_get_port().
38945
62a02d00 389462008-07-07 Pavel Roskin <proski@gnu.org>
38947
38948 * boot/i386/pc/diskboot.S (notification_string): Replace
38949 "Loading kernel" with just "loading". This is shorter, less
38950 confusing and saves a few bytes for possible future changes.
38951
3e5581b0 389522008-07-05 Pavel Roskin <proski@gnu.org>
38953
ea387a48 38954 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38955 size for ATAPI devices, they are undefined. Output sector
38956 number in decimal form.
38957
3e5581b0 38958 * disk/ata.c: Use named constants for status bits.
38959
fdecb8fd 389602008-07-04 Pavel Roskin <proski@gnu.org>
38961
bcd35b90 38962 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38963 grub_addr_t before casting it to the void pointer to fix a
38964 warning. Non-addressable regions are discarded earlier.
38965 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38966 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38967 (check_signature): Don't shadow table_header.
38968 (grub_linuxbios_table_iterate): Cast numeric constants to
38969 grub_linuxbios_table_header_t.
38970 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38971 grub_stop().
38972
af58ab3d 38973 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38974 prevent warnings.
38975
1759aa57 38976 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38977 pointer, which can cause warnings. Support 64-bit addresses.
38978
fdecb8fd 38979 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38980 of sizeof(long). This fixes PowerPC image generation on x86_64.
38981
8516d2a8 389822008-07-04 Robert Millan <rmh@aybabtu.com>
38983
38984 This fixes a performance issue when pc & gpt partmap iterators
38985 didn't abort iteration even after our hook found what it was
fe987087 38986 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38987
38988 Some callers relied on previous buggy behaviour, since they would
34c44600 38989 raise an error when their own hooks caused early abortion of its
8516d2a8 38990 iteration.
38991
38992 * kern/device.c (grub_device_open): Improve error message.
38993 * disk/lvm.c (grub_lvm_open): Likewise.
38994 * disk/raid.c (grub_raid_open): Likewise.
38995
38996 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38997 when hook requests it, independently of grub_errno.
38998 (pc_partition_map_probe): Do not fail when find_func() caused
38999 early abortion of pc_partition_map_iterate().
39000
39001 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39002 when hook requests it, independently of grub_errno.
39003 (gpt_partition_map_probe): Do not fail when find_func() caused
39004 early abortion of gpt_partition_map_iterate().
39005
39006 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39007 when hook requests it, independently of grub_errno. Do not fail when
39008 part_map_iterate_hook() caused early abortion of p->iterate().
39009
39010 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39011 when grub_partition_iterate() returned with non-zero.
39012
277d0de9 390132008-07-03 Pavel Roskin <proski@gnu.org>
39014
39015 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39016 like we do in grub_ata_pio_read().
39017 (grub_ata_readwrite): Always write individual sectors. Fix the
39018 sector count for the remainder.
39019 (grub_ata_write): Enable writing to ATA devices. Correctly
39020 report error for ATAPI devices.
39021
d4c9b428 390222008-07-02 Pavel Roskin <proski@gnu.org>
39023
e43fc690 39024 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39025 warning.
39026
f707af42 39027 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39028 for every read sector, we already increment it for the whole
39029 batch. This fixes reading more than 256 sectors at once.
39030
11e16b15 39031 * util/grub-editenv.c (cmd_info): Cast argument to long
39032 explicitly. ptrdiff_t reduces to int on i386.
39033
cbabfdd4 39034 * util/grub-editenv.c (main): Be specific which parameter is
39035 missing.
39036
b8fbce0a 39037 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39038 (memdisk): Make memdisk_orig_addr a pointer.
39039
c9c8e606 39040 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39041 for file offsets, use grub_off_t instead. Fix printf format
39042 warnings.
39043
ca62e598 39044 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39045 there. Real unexpected warnings should not drown in the noise
39046 about known problems.
39047
ce8d1766 39048 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39049 grub_disk_addr_t for memory addresses.
39050
00c7a56a 39051 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39052 explicitly to fix a warning.
39053
08d3ef09 39054 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39055
cb71ba20 39056 * Makefile.in (MODULE_LDFLAGS): New variable.
39057 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39058 the linker accepts --build-id=none.
39059 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39060 MODULE_LDFLAGS.
39061 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39062
d4c9b428 39063 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39064 those in Linux XFS code. Provide a way to access 64-bit parent
39065 inode.
39066 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39067 the end of struct grub_xfs_dir_header.
39068
d4156eee 390692008-07-02 Bean <bean123ch@gmail.com>
39070
39071 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39072 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39073 and GRUB_IEEE1275_FLAG_NO_ANSI.
39074
39075 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39076 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39077 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39078
39079 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39080 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39081
39082 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39083 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39084
39085 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39086 esc sequence on non ANSI terminal.
39087 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39088
39089 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39090 beginning of file.
39091
2270f77b 390922008-07-02 Bean <bean123ch@gmail.com>
39093
39094 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39095 (grub_editenv_SOURCES): New variable.
39096 (pkglib_MODULES): Add loadenv.mod.
39097 (loadenv_mod_SOURCES): New variable.
39098 (loadenv_mod_CFLAGS): Likewise.
39099 (loadenv_mod_LDFLAGS): Likewise.
39100
39101 * include/grub/envblk.h: New file.
39102
39103 * util/envblk.c: New file.
39104
39105 * util/grub-editenv.c: New file.
39106
39107 * commands/loadenv.c: New file.
39108
0e9e51ec 391092008-07-01 Pavel Roskin <proski@gnu.org>
39110
d89b7634 39111 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39112 not unsigned char. This fixes warnings and is consistent with
39113 other tags.
39114
bf1835b1 39115 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39116
8222a04b 39117 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39118
6a42d99d 39119 * term/tparm.c (analyze): Always set *popcount.
39120
10b159d1 39121 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39122 cast to fix a warning.
39123
b8789f6c 39124 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39125 cast to suppress a warning.
39126
29d7e38a 39127 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39128 grub_fshelp_read_file() expects.
39129
f341f669 39130 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39131 write uuid as a 32-bit value in CPU byte order, so declare and
39132 use it as such.
39133
0e9e51ec 39134 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39135 long if the format specifier expects it.
39136 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39137 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39138 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39139 long to fix a warning.
39140 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39141 grub_dprintf() arguments to fix warnings.
39142
3aefa857 391432008-06-30 Pavel Roskin <proski@gnu.org>
39144
56c7668b 39145 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39146 install_bsd_part immediately before core.img is embedded or
39147 modified on disk. This fixes core.img verification if core.img
39148 cannot be embedded.
39149
3aefa857 39150 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39151 core_path to calculate the blocklist.
39152 Patch from Javier Martín <lordhabbit@gmail.com>
39153
5444088d 391542008-06-29 Robert Millan <rmh@aybabtu.com>
39155
39156 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39157 block to disk block.
39158 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39159 Patch from Niels Böhm <bitbucket@arcor.de>
39160
674835c8 391612008-06-29 Robert Millan <rmh@aybabtu.com>
39162
39163 * util/update-grub_lib.in (font_path): Search for fonts in
39164 /boot/grub first, which is more likely to be readable (we aren't
39165 deciding where fonts live, just looking for them).
39166
f527dbc8 391672008-06-26 Pavel Roskin <proski@gnu.org>
39168
6c2d8df6 39169 * util/biosdisk.c (read_device_map): Don't leave dead map
39170 entries for devices failing stat() check.
39171
f527dbc8 39172 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39173 core_path_dev for the core.img path on the target device.
39174
aebe3d13 391752008-06-26 Robert Millan <rmh@aybabtu.com>
39176
39177 * disk/fs_uuid.c: New file.
39178 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39179 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39180 (fs_uuid_mod_LDFLAGS): New variables.
39181 * include/grub/disk.h (grub_disk_dev_id): Add
39182 `GRUB_DISK_DEVICE_UUID_ID'.
39183 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39184 implement iterate().
39185
37aaf354 391862008-06-26 Robert Millan <rmh@aybabtu.com>
39187
39188 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39189 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39190 Linux image includes no initrd.
39191
25ff262a 391922008-06-21 Javier Martín <lordhabbit@gmail.com>
39193
39194 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39195 call to resolve the core image location that effectively appended the
39196 name twice.
39197
76a2bd44 391982008-06-21 Robert Millan <rmh@aybabtu.com>
39199
39200 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39201 call from here ...
39202
39203 * util/grub.d/10_hurd.in: ... to here ...
39204 * util/grub.d/10_linux.in: ... and here.
39205
650e1c79 392062008-06-19 Robert Millan <rmh@aybabtu.com>
39207
fe987087 39208 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39209 after it has been set by grub_machine_set_prefix().
39210
6ce63911 392112008-06-19 Robert Millan <rmh@aybabtu.com>
39212
39213 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39214 search result when not saving to variable, not the other way around.
39215 When saving to variable, abort iteration as soon as a match is found.
39216
73940cec 392172008-06-19 Robert Millan <rmh@aybabtu.com>
39218
39219 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39220 check for partition that provides /boot/grub. Its logic is flawed,
39221 as it prevents prepare_grub_to_access_device() from being called
39222 multiple times.
39223
3c62a39d 392242008-06-19 Robert Millan <rmh@aybabtu.com>
39225
39226 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39227 "insmod" command directly when abstraction modules are needed,
fe987087 39228 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39229 since it had already been processed).
39230
47395a42 392312008-06-19 Pavel Roskin <proski@gnu.org>
39232
39233 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39234 changed. This is needed in case GRUB_LIBDIR changes.
39235 * conf/i386-ieee1275.rmk: Likewise.
39236 * conf/i386-linuxbios.rmk: Likewise.
39237 * conf/i386-pc.rmk: Likewise.
39238 * conf/powerpc-ieee1275.rmk: Likewise.
39239
a145ac2d 392402008-06-18 Pavel Roskin <proski@gnu.org>
39241
39242 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39243 kernel_elf_symlist.c to symlist.c for consistency with other
39244 architectures. Update all users.
39245 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39246
7847c51e 392472008-06-18 Robert Millan <rmh@aybabtu.com>
39248
39249 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39250 it in prefix.
39251
39252 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39253 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39254 a RAID device, run setup() for all members independently on whether
39255 LVM abstraction is being used.
39256 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39257 If grub-mkimage has set `*install_dos_part == -2', don't override this
39258 value.
39259 Perform *install_dos_part adjustments independently on whether
39260 we're embedding or not.
39261 Clarify error message when image is too big for embedding.
39262 Remove duplicate *install_dos_part stanza.
39263
b23e5644 392642008-06-17 Robert Millan <rmh@aybabtu.com>
39265
39266 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39267 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39268 variables.
39269 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39270 values in grub_ofconsole_normal_color and
39271 grub_ofconsole_highlight_color (they're not directly related to
39272 background and foreground).
39273 (grub_ofconsole_setcolorstate): Extract background and foreground
39274 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39275
0aac2f79 392762008-06-17 Robert Millan <rmh@aybabtu.com>
39277
39278 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39279 /boot/grub for the check in last commit, not /boot (they could be
39280 different partitions).
39281
3cca7ef3 392822008-06-16 Robert Millan <rmh@aybabtu.com>
39283
39284 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39285 asked to setup access for the same partition that provides /boot,
39286 don't bother using UUIDs since our root already has the value we
39287 want.
39288
347396d8 392892008-06-16 Robert Millan <rmh@aybabtu.com>
39290
39291 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39292 I2O devices.
39293 Patch from Sven Mueller <sven@debian.org>.
39294
991477f8 392952008-06-16 Robert Millan <rmh@aybabtu.com>
39296
39297 * util/update-grub.in: Check for $EUID instead of $UID.
39298 Reported by Vincent Zweije.
39299
d31a32a1 393002008-06-16 Bean <bean123ch@gmail.com>
39301
fe987087 39302 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39303 (grub_ext2_read_block): Likewise.
39304 (grub_ext2_read_inode): Likewise.
39305 (grub_ext2_mount): Likewise.
39306 (grub_ext2_close): Likewise.
39307 (grub_ext3_get_journal): Removed.
39308
fe987087 39309 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39310 (grub_reiserfs_read_symlink): Likewise.
39311 (grub_reiserfs_mount): Likewise.
39312 (grub_reiserfs_open): Likewise.
39313 (grub_reiserfs_read): Likewise.
39314 (grub_reiserfs_close): Likewise.
39315 (grub_reiserfs_get_journal): Removed.
39316
39317 * fs/fshelp.c (grub_fshelp_read): Removed.
39318 (grub_fshelp_map_block): Likewise.
39319
39320 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39321 (grub_fshelp_journal): Likewise.
39322 (grub_fshelp_read): Likewise.
39323 (grub_fshelp_map_block): Likewise.
39324
3540a760 393252008-06-16 Pavel Roskin <proski@gnu.org>
39326
39327 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39328 floating point anymore.
39329 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39330
95614c84 393312008-06-15 Pavel Roskin <proski@gnu.org>
39332
39333 * commands/ls.c (grub_ls_list_files): Use integer calculations
39334 for human readable format, avoid floating point use.
39335 * kern/misc.c (grub_ftoa): Remove.
39336 (grub_vsprintf): Remove floating point support.
39337
50465dd6 393382008-06-15 Robert Millan <rmh@aybabtu.com>
39339
fe6b695a 39340 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39341 devices.
39342 Reported by Max Vozeler.
39343
a9207284 393442008-06-15 Robert Millan <rmh@aybabtu.com>
39345
39346 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39347 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39348 skipped later.
39349 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39350 the beginning of the prefix.
39351
39352 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39353 It is assumed that if we have a memdisk, grub-mkimage has set
39354 grub_prefix to include the "(memdisk)" drive in it.
39355
a7cbd45a 393562008-06-15 Robert Millan <rmh@aybabtu.com>
39357
39358 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39359 Initialize keyboard controller after registering the terminal, so that
39360 grub_printf() can be called from grub_keyboard_controller_init().
39361
21cf716a 393622008-06-15 Robert Millan <rmh@aybabtu.com>
39363
39364 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39365 extent-btree which is written as big endian on disk.
39366 Reported by Alain Greppin <al@chilibi.org>.
39367
23a64d8e 393682008-06-14 Robert Millan <rmh@aybabtu.com>
39369
39370 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39371 * util/i386/pc/grub-install.in (modules): Likewise.
39372
d687651c 393732008-06-13 Pavel Roskin <proski@gnu.org>
39374
39375 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39376
dfe9ddd4 393772008-06-13 Bean <bean123ch@gmail.com>
39378
39379 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39380
39381 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39382
39383 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39384 to indicate sparse block.
39385
16ae7781 393862008-06-12 Pavel Roskin <proski@gnu.org>
39387
e6d1a308 39388 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39389 number, grub_fshelp_read() does it for us.
39390
16ae7781 39391 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39392 linear disk read with journal translation.
39393 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39394 * include/grub/fshelp.h: Declare grub_fshelp_read().
39395
40fd3a2b 393962008-06-09 Pavel Roskin <proski@gnu.org>
39397
39398 * fs/minix.c (grub_minix_mount): Handle error reading
39399 superblock.
39400
f5679726 394012008-06-08 Robert Millan <rmh@aybabtu.com>
39402
39403 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39404 don't append the RAID prefix afterwards.
39405 Reported by Clint Adams.
39406
ce525529 394072008-06-08 Robert Millan <rmh@aybabtu.com>
39408
39409 Based on description from Pavel:
39410 * kern/disk.c (grub_disk_check_range): Rename to ...
39411 (grub_disk_adjust_range): ... this. Add a comment explaining the
39412 tasks performed by this function.
39413
ad4936a0 394142008-06-08 Robert Millan <rmh@aybabtu.com>
39415
39416 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39417 `num_serial' (for consistency with other variables).
39418 (struct grub_ntfs_data): Add `uuid' member.
39419 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39420 (grub_ntfs_uuid): New function.
39421 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39422
dc20b0f9 394232008-06-07 Pavel Roskin <proski@gnu.org>
39424
39425 * util/biosdisk.c (open_device): Revert last change to the
39426 function, it broke installation. The sector needs to be
39427 different dependent on which device is opened.
39428
c5e3cfba 394292008-06-06 Robert Millan <rmh@aybabtu.com>
39430
39431 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39432 rest of GRUB, and breakage doesn't happen if its value were modified.
39433
39434 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39435 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39436 a constant (same value).
39437 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39438 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39439
26a1f8c4 394402008-06-06 Robert Millan <rmh@aybabtu.com>
39441
39442 * util/biosdisk.c (open_device): Do not modify sector offset when
39443 accessing a partition. kern/disk.c already handles this for us.
39444
25d6b327 394452008-06-06 Robert Millan <rmh@aybabtu.com>
39446
39447 * util/grub-emu.c (grub_machine_init): Move code in this function from
39448 here ...
39449 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39450 segfault in case grub_printf() is called).
39451
39452 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39453 grub_probe. Update all users not to explicitly add it again.
39454 (grub_device): New variable; contains corresponding device for grubdir.
39455 (fs_module, partmap_module, devabstraction_module): Pass
39456 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39457 every time.
39458
9ece62fb 394592008-06-05 Robert Millan <rmh@aybabtu.com>
39460
39461 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39462 is found, print it (same layout as with labels).
39463
1ad36d37 394642008-06-04 Robert Millan <rmh@aybabtu.com>
39465
39466 * util/biosdisk.c (get_drive): Rename to ...
39467 (find_grub_drive): ... this. Update all users.
39468
39469 (get_os_disk): Rename to ...
39470 (convert_system_partition_to_system_disk): ... this. Update all users.
39471
39472 (find_drive): Rename to ...
39473 (find_system_device): ... this. Update all users.
39474
e6a30859 394752008-06-04 Robert Millan <rmh@aybabtu.com>
39476
39477 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39478 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39479 (make_device_map): Likewise.
39480
00c108a4 394812008-06-01 Robert Millan <rmh@aybabtu.com>
39482
39483 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39484 before dereferencing it.
39485
39486 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39487 union with fat12/fat16-specific ones. Add some new fields, including
39488 `num_serial' for both versions.
39489 (struct grub_fat_data): Add `uuid' member.
39490 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39491 names. Initialize `data->uuid' using `num_serial'.
39492 (grub_fat_uuid): New function.
39493 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39494
39495 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39496 (grub_reiserfs_uuid): New function.
39497 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39498 member.
39499
39500 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39501 (grub_xfs_uuid): New function.
39502 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39503
1385c5bb 395042008-06-01 Robert Millan <rmh@aybabtu.com>
39505
39506 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39507 code that is backward compatible with pre-uuid search command.
39508
c682dfd7 395092008-05-31 Robert Millan <rmh@aybabtu.com>
39510
39511 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39512 floppies after everything else, to ensure floppy drive isn't accessed
39513 unnecessarily (patch from Bean).
39514
b7db5d47 395152008-05-31 Robert Millan <rmh@aybabtu.com>
39516
39517 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39518 not print device names when we were asked to set a variable.
39519
6e037aa9 395202008-05-31 Robert Millan <rmh@aybabtu.com>
39521
39522 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39523 using "cursor-on" and "cursor-off" commands (understood at least by
39524 the Open Firmware flavour on OLPC).
39525
41305bc8 395262008-05-31 Michael Gorven <michael@gorven.za.net>
39527
39528 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39529 on and off sequences.
39530
69ba137e 395312008-05-31 Robert Millan <rmh@aybabtu.com>
39532
39533 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39534 * util/update-grub.in: Likewise.
39535
520ae21b 395362008-05-30 Pavel Roskin <proski@gnu.org>
39537
39538 * util/biosdisk.c (linux_find_partition): Simplify logic and
39539 make the code more universal. Keep special processing for
39540 devfs, but use a simple rule for all other devices. If the
39541 device ends with a number, append 'p' and the partition number.
39542 Otherwise, append only the partition number.
39543
5786569b 395442008-05-30 Robert Millan <rmh@aybabtu.com>
39545
39546 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39547 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39548 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39549 the `root' parameter to Linux.
39550
51500452 395512008-05-30 Robert Millan <rmh@aybabtu.com>
39552
39553 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39554 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39555 --fs_uuid with --fs-uuid.
39556 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39557 all filesystems support them).
39558
811d3878 395592008-05-30 Robert Millan <rmh@aybabtu.com>
39560
39561 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39562 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39563
cab63c95 395642008-05-30 Robert Millan <rmh@aybabtu.com>
39565
39566 * util/grub.d/00_header.in: Remove obsolete comment referencing
39567 convert_system_path_to_grub_path().
39568 * util/update-grub.in: Likewise.
39569 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39570 (convert_system_path_to_grub_path): Add a warning message explaining
39571 that this function is deprecated. Rely on is_path_readable_by_grub()
39572 for the readability checks.
39573 (font_path): Use is_path_readable_by_grub() for the readability
39574 check rather than convert_system_path_to_grub_path().
39575
972e2f7a 395762008-05-30 Robert Millan <rmh@aybabtu.com>
39577
39578 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39579 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39580 converting it first.
39581 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39582 grub.cfg for access to font file, and afterwards call it again to set
39583 the root device.
39584
62191274 395852008-05-30 Robert Millan <rmh@aybabtu.com>
39586
39587 * commands/search.c (options): Add --fs_uuid option.
39588 (search_fs_uuid): New function.
39589 (grub_cmd_search): Fix --set argument passing.
39590 Use search_fs_uuid() when requested via --fs_uuid.
39591 (grub_search_init): Update help message.
39592 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39593 and redeclare it as an array of 16-bit words.
39594 (grub_ext2_uuid): New function.
39595 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39596 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39597 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39598 (GRUB_DEVICE_BOOT_UUID): New variables.
39599 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39600 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39601 whenever possible.
39602 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39603 just assume `root' variable has the right value.
39604 * util/grub.d/10_linux.in: Likewise.
39605 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39606 via PRINT_FS_UUID.
39607 (main): Recognise `-t fs_uuid' argument.
39608
01b73ec8 396092008-05-30 Robert Millan <rmh@aybabtu.com>
39610
39611 * util/biosdisk.c (map): Redefine structure to hold information
39612 about GRUB drive name.
fe6b695a 39613 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39614 drive names.
39615 (call_hook): Remove.
39616 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39617 member. Assume drive has partitions.
39618 (grub_util_biosdisk_open): Access device names via `.device' struct
39619 member.
39620 (open_device): Likewise.
39621 (find_drive): Likewise.
39622 (read_device_map): Adjust map[] usage to match the new struct
39623 definition. Don't check for duplicates (still possible, but not cheap
39624 anymore).
39625 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39626 (make_device_name): Remove assumption of BIOS-like drive names.
39627
22f16596 396282008-05-30 Pavel Roskin <proski@gnu.org>
39629
39630 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39631 compiling execute.c doesn't need grub_script.tab.h anymore.
39632 (normal/command.c_DEPENDENCIES): Likewise.
39633 (normal/function.c_DEPENDENCIES): Likewise.
39634 * conf/i386-ieee1275.rmk: Likewise.
39635 * conf/i386-linuxbios.rmk: Likewise.
39636 * conf/i386-pc.rmk: Likewise.
39637 * conf/powerpc-ieee1275.rmk: Likewise.
39638 * conf/sparc64-ieee1275.rmk: Likewise.
39639
528ad8f2 396402008-05-29 Pavel Roskin <proski@gnu.org>
39641
d1dff95d 39642 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39643 when scanning metadata for volume group name.
39644
528ad8f2 39645 * include/grub/script.h: Don't include grub_script.tab.h. It's
39646 a generated file, which may only be included from the files with
39647 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39648 use union YYSTYPE, as the later allows forward declaration.
39649 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39650
47248e08 396512008-05-29 Robert Millan <rmh@aybabtu.com>
39652
39653 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39654 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39655 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39656 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39657 scan codes.
39658
ee632529 396592008-05-29 Robert Millan <rmh@aybabtu.com>
39660
39661 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39662 control key combinations.
39663
eee96e08 396642008-05-29 Robert Millan <rmh@aybabtu.com>
39665
39666 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39667 * util/ieee1275/grub-install.in: ... to here.
39668 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39669 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39670 (grub_install_SOURCES): Likewise.
39671
da9a6a94 396722008-05-29 Robert Millan <rmh@aybabtu.com>
39673
39674 * fs/affs.c: Update copyright year.
39675 * fs/ext2.c: Likewise.
39676 * fs/fshelp.c: Likewise.
39677 * fs/hfsplus.c: Likewise.
39678 * fs/ntfs.c: Likewise.
39679 * fs/xfs.c: Likewise.
39680 * include/grub/fshelp.h: Likewise.
39681 * util/grub-mkdevicemap.c: Likewise.
39682
12e65f3a 396832008-05-28 Robert Millan <rmh@aybabtu.com>
39684
39685 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39686 might need to be fatfs to support some firmware implementations
39687 (e.g. OFW or EFI).
39688
23023641 396892008-05-28 Robert Millan <rmh@aybabtu.com>
39690
39691 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39692 devices.
39693 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39694 (make_device_map): Likewise.
39695
887d2619 396962008-05-20 Bean <bean123ch@gmail.com>
39697
39698 * fs/fshelp.c (grub_fshelp_map_block): New function.
39699 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39700 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39701
39702 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39703 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39704 (grub_fshelp_journal): New structure.
39705 (grub_fshelp_map_block): New function prototype.
39706 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39707 (grub_fshelp_map_block): Likewise.
39708
39709 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39710 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39711 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39712 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39713 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39714 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39715 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39716 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39717 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39718 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39719 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39720 (grub_ext2_sblock): New members for journal support.
39721 (grub_ext3_journal_header): New structure.
39722 (grub_ext3_journal_revoke_header): Likewise.
39723 (grub_ext3_journal_block_tag): Likewise.
39724 (grub_ext3_journal_sblock): Likewise.
39725 (grub_fshelp_node): New members logfile and journal.
39726 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39727 grub_fshelp_map_block to get real block number.
39728 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39729 number.
39730 (grub_ext2_read_inode): Likewise.
39731 (grub_ext3_get_journal): New function.
39732 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39733 (grub_ext2_close): Release memory used by journal.
39734
39735 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39736 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39737 (grub_reiserfs_transaction_header): Renamed to
39738 grub_reiserfs_description_block, replace field data with real_blocks.
39739 (grub_reiserfs_commit_block): New structure.
39740 (grub_reiserfs_data): New member journal.
39741 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39742 number.
39743 (grub_reiserfs_read_symlink): Likewise.
39744 (grub_reiserfs_iterate_dir): Likewise.
39745 (grub_reiserfs_open): Likewise.
39746 (grub_reiserfs_read): Likewise.
39747 (grub_reiserfs_get_journal): New function.
39748 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39749 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39750 using grub_reiserfs_get_journal.
39751 (grub_reiserfs_close): Release memory used by journal.
39752
39753 * fs/affs.c (grub_affs_read_block): Change block type to
39754 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39755
39756 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39757
39758 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39759
39760 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39761
39762 * fs/udf.c (grub_udf_read_block): Change block type to
39763 grub_disk_addr_t. Use type cast to avoid warning.
39764
39765 * fs/xfs.c (grub_xfs_read_block): Likewise.
39766
b7c6bed5 397672008-05-16 Christian Franke <franke@computer.org>
39768
39769 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39770 to ensure that break with ESC will always work.
39771 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39772 Remove ESC from keyboard queue.
39773
eedf167f 397742008-05-16 Christian Franke <franke@computer.org>
39775
39776 * util/biosdisk.c: [__CYGWIN__] Add includes.
39777 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39778 (get_os_disk): Move variable declarations to OS specific
39779 parts to avoid warning.
39780 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39781 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39782 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39783 Cygwin.
39784 * util/getroot.c: [__CYGWIN__] Add includes.
39785 (strip_extra_slashes): Fix "/" case.
39786 [__CYGWIN__] (get_win32_path): New function.
39787 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39788 [__CYGWIN__] (find_root_device): Disable.
39789 [__CYGWIN__] (get_bootsec_serial): New function.
39790 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39791 [__linux__] (grub_guess_root_device): Add early returns to simplify
39792 structure.
39793 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39794 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39795 check for Linux only.
39796
a079699e 397972008-05-15 Bean <bean123ch@gmail.com>
39798
39799 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39800 keyboard hang problem in apple's intel mac.
39801
1cf4059a 398022008-05-09 Robert Millan <rmh@aybabtu.com>
39803
39804 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39805 devices.
39806 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39807 (make_device_map): Likewise.
39808 Reported by Aurelien Jarno <aurel32@debian.org>
39809
ed759390 398102008-05-07 Ian Campbell <ijc@hellion.org.uk>
39811
39812 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39813 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39814 (make_device_map): Output entries for xvd type disks.
39815
b56c4eaa 398162008-05-07 Robert Millan <rmh@aybabtu.com>
39817
39818 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39819 devices.
39820 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39821 (make_device_map): Likewise.
39822 Reported by Roland Dreier <rdreier@cisco.com>
39823
7f8866ed 398242008-05-07 Robert Millan <rmh@aybabtu.com>
39825
39826 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39827 grub_strstr() call. Correct a few mistakes in failure path handling.
39828
b0346e0f 398292008-05-06 Robert Millan <rmh@aybabtu.com>
39830
39831 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39832 Do not print a trailing slash (therefore, the root directory is an
39833 empty string).
39834 (convert_system_path_to_grub_path): Do not remove trailing slash
39835 from make_system_path_relative_to_its_root() output.
39836
39837 * util/i386/pc/grub-install.in: Add trailing slash to output from
39838 make_system_path_relative_to_its_root().
39839
6cf12cbd 398402008-05-06 Robert Millan <rmh@aybabtu.com>
39841
39842 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39843 ensures that output lines aren't intermangled with those sent to
39844 stderr (via grub_util_info()).
39845 * util/grub-probe.c (grub_refresh): Likewise.
39846 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39847
0fbb3117 398482008-05-05 Christian Franke <franke@computer.org>
39849
39850 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39851 Add Cygwin device names.
39852 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39853 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39854 (check_device): Return error instead of success on empty name.
39855 (make_device_map): Move label inside linux specific code to
39856 prevent compiler warning.
39857
8124cdb7 398582008-04-30 Robert Millan <rmh@aybabtu.com>
39859
39860 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39861 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39862 first boot option.
39863 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39864
094c01d0 398652008-04-29 Robert Millan <rmh@aybabtu.com>
39866
39867 * docs/grub.cfg: New file (example GRUB configuration).
39868
f4b1fc02 398692008-04-26 Robert Millan <rmh@aybabtu.com>
39870
329ce2a5 39871 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39872 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39873 and `disk/ieee1275/nand.c'.
f4b1fc02 39874
25f16ec1 398752008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39876
25f16ec1 39877 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39878 i386-linuxbios.
39879
39880 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39881 change the buffer size to 4096 for cdrom device.
39882
39883 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39884 and nand.mod.
39885 (_linux_mod_SOURCES): New variable.
39886 (_linux_mod_CFLAGS): Likewise.
39887 (_linux_mod_LDFLAGS): Likewise.
39888 (linux_mod_SOURCES): Likewise.
39889 (linux_mod_CFLAGS): Likewise.
39890 (linux_mod_LDFLAGS): Likewise.
39891 (nand_mod_SOURCES): Likewise.
39892 (nand_mod_CFLAGS): Likewise.
39893 (nand_mod_LDFLAGS): Likewise.
39894
39895 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39896 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39897 type property. (nand device in olpc don't have this property)
39898
39899 * include/grub/disk.h (grub_disk_dev_id): New macro
39900 GRUB_DISK_DEVICE_NAND_ID.
39901
39902 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39903 function prototype.
39904 (grub_rescue_cmd_initrd): Likewise.
39905
39906 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39907 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39908 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39909
25f16ec1 39910 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39911 GRUB_MACHINE_IEEE1275 is defined.
39912
39913 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39914 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39915
39916 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39917 on nested function heap_init.
39918 (grub_upper_mem): New variable for i386-ieee1275.
39919 (grub_get_extended_memory): New function for i386-ieee1275.
39920 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39921
39922 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39923 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39924 property.
f19dbdb7 39925
25f16ec1 39926 * loader/i386/ieee1275/linux.c: New file.
39927
39928 * loader/i386/ieee1275/linux_normal.c: New file.
39929
39930 * disk/ieee1275/nand.c: New file.
39931
e89d61e9 399322008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39933
39934 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39935 value.
39936 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39937
602566f6 399382008-04-18 Robert Millan <rmh@aybabtu.com>
39939
39940 Restructures early code path on ieee1275 to unify grub_main() as
39941 the first C function that is executed in every platform.
39942
39943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39944 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39945 cmain().
39946 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39947 * kern/ieee1275/cmain.c (cmain): Rename to ...
39948 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39949 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39950 at the beginning.
39951
57490c2b 399522008-04-18 Robert Millan <rmh@aybabtu.com>
39953
39954 * util/update-grub.in: Fix syntax error when setting
39955 `GRUB_PRELOAD_MODULES'.
39956 Reported by Stephane Chazelas <stephane@artesyncp.com>
39957
1977517d 399582008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39959
39960 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39961 section into account, newer toolchains generate unique build ids
39962 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39963 we want build ids to be preserved
1977517d 39964 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39965 far from other sections don't cause the raw binary images grow
39966 size
39967
bfb1f1a2 399682008-04-15 Robert Millan <rmh@aybabtu.com>
39969
39970 * disk/lvm.c: Update copyright year.
39971 * kern/misc.c: Likewise.
39972
01979850 399732008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39974
39975 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39976 there is no memory left for physical volume name.
01979850 39977
0a1150e2 399782008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39979
39980 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39981 volume name mapping to support bigger than 9 character names properly.
39982
82ead3fe 399832008-04-13 Robert Millan <rmh@aybabtu.com>
39984
39985 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39986 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39987
e54a72f5 399882008-04-13 Christian Franke <franke@computer.org>
39989
39990 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39991 to create a floppy emulation boot CD when non emulation mode
39992 does not work.
39993 Enable Joliet CD filesystem extension.
39994
9fe86034 399952008-04-13 Robert Millan <rmh@aybabtu.com>
39996
39997 * kern/misc.c (grub_strncat): Fix off-by-one error.
39998 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39999
40000 * kern/env.c (grub_env_context_close): Clear current context, not
40001 previous one.
40002 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40003
40004 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40005
7ceeee39 400062008-04-13 Robert Millan <rmh@aybabtu.com>
40007
40008 Improve robustness when handling LVM.
40009
40010 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40011 (and leave `*p' unmodified).
7ceeee39 40012 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40013 through it.
40014 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40015 iterating through it.
40016 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40017 through it.
fe6b695a 40018 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40019 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40020 Don't assume `vg->pvs != NULL' when iterating through it.
40021
58cd3d85 400222008-04-13 Robert Millan <rmh@aybabtu.com>
40023
40024 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40025 * genmk.rb (partmap): New variable.
40026 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40027 (#{partmap}): New target rule.
40028 * genpartmaplist.sh: New file.
40029 * Makefile.in (pkglib_DATA): Add partmap.lst.
40030 (partmap.lst): New target rule.
40031 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40032 modules (including all partition maps), instead of preloading them.
40033
78b51059 400342007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40035
40036 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40037 `linux-boot-prober' (if installed) to detect other operating
40038 systems which are installed on the computer and add them to
40039 the boot menu.
40040 * conf/common.rmk: Build and install 30_os-prober.
40041
a91627b4 400422008-04-12 Robert Millan <rmh@aybabtu.com>
40043
40044 * kern/powerpc/ieee1275/init.c: Move from here ...
40045 * kern/ieee1275/init.c: ... to here. Update all users.
40046
40047 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40048 * kern/ieee1275/cmain.c: ... to here. Update all users.
40049
40050 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40051 * kern/ieee1275/openfw.c: ... to here. Update all users.
40052
40053 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40054 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40055
322562ea 400562008-04-10 Pavel Roskin <proski@gnu.org>
40057
40058 * configure.ac: Always use "_cv_" in cache variables for
40059 compatibility with Autoconf 2.62.
40060
a02a73c5 400612008-04-07 Robert Millan <rmh@aybabtu.com>
40062
40063 Revert grub/machine/init.h addition by Pavel (since it breaks on
40064 i386-ieee1275 and others):
40065 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40066 * util/powerpc/ieee1275/misc.c: Likewise.
40067
25c024b1 400682008-04-07 Robert Millan <rmh@aybabtu.com>
40069
40070 * util/grub-probe.c (probe): Improve error message.
40071
3cbd2f98 400722008-04-07 Robert Millan <rmh@aybabtu.com>
40073
40074 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40075 (this prevents the presence of a bogus entry from ruining the whole
40076 thing).
40077
87a297bf 400782008-04-06 Pavel Roskin <proski@gnu.org>
40079
36747a62 40080 * util/biosdisk.c: Include grub/util/biosdisk.h.
40081 * util/grub-fstest.c (execute_command): Make static.
40082 * util/grub-mkdevicemap.c (check_device): Likewise.
40083 * util/i386/pc/misc.c: Include grub/machine/init.h.
40084 * util/powerpc/ieee1275/misc.c: Likewise.
40085 * util/lvm.c: Include grub/util/lvm.h.
40086 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40087 grub/cache.h.
40088 * util/raid.c: Include grub/util/raid.h.
40089 (grub_util_getdiskname): Make static.
40090
87a297bf 40091 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40092 grub_hostfs_fini(), as they are called from grub_init_all() and
40093 grub_fini_all() respectively. This fixes an infinite loop in
40094 grub-fstest due to double registration of hostfs.
40095 Reported by Christian Franke <Christian.Franke@t-online.de>
40096
f6ce7629 400972008-04-05 Pavel Roskin <proski@gnu.org>
40098
40099 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40100 all 8 functions. Otherwise, probe function 0 only.
40101
070e49e4 401022008-04-04 Pavel Roskin <proski@gnu.org>
40103
8b088a4c 40104 * commands/lspci.c (grub_lspci_iter): Print the bus number
40105 correctly.
40106
4f657021 40107 * commands/lspci.c (grub_pci_classes): Fix typos.
40108 (grub_lspci_iter): Don't print func twice. Print vendor ID
40109 before device ID, as it's normally done.
40110
070e49e4 40111 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40112 Fix signedness warnings.
40113 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40114 Likewise.
40115 * util/ieee1275/get_disk_name.c: Include config.h so that
40116 _GNU_SOURCE is defined and getline() is declared. Mark an
40117 unused argument as such. Fix a signedness warning.
40118
ba7328dc 401192008-04-02 Pavel Roskin <proski@gnu.org>
40120
26887f22 40121 * genkernsyms.sh.in: Use more robust assignments for CC and
40122 srcdir. Quote srcdir.
40123 * gensymlist.sh.in: Likewise. Assert at the compile time that
40124 the symbol table is not empty.
40125
ba7328dc 40126 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40127 * fs/cpio.c (grub_cpio_read): Likewise.
40128
0f582c6b 401292008-04-01 Pavel Roskin <proski@gnu.org>
40130
4b6e1995 40131 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40132 * disk/host.c (grub_host_open): Likewise.
40133 * disk/loopback.c (grub_loopback_open): Likewise.
40134 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40135 disk->id as in disk/host.c, not a multi-character constant.
40136
828a2768 40137 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40138 later is obsolete, potentially dangerous and sets a bad example.
40139 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40140 * util/misc.c (grub_util_get_image_size): Likewise.
40141
2bb4fb47 40142 * disk/loopback.c (options): Improve help for "--partitions".
40143
0f582c6b 40144 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40145 options to align them with the short options, e.g. "echo -e".
40146
a33224e0 401472008-03-31 Bean <bean123ch@gmail.com>
40148
40149 * video/reader/png.c (grub_png_data): New member is_16bit and
40150 image_data.
40151 (grub_png_decode_image_header): Detect 16 bit png image.
40152 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40153 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40154 (grub_video_reader_png): Release memory occupied by image_data.
40155
40156 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40157 4096 bytes.
40158 (grub_nfs_mount): Skip the test for sector per cluster.
40159
40160 * include/grub/ntfs.h (MAX_SPC): Removed.
40161
86cb4f54 401622008-03-31 Bean <bean123ch@gmail.com>
40163
40164 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40165 (grub_probe_SOURCES): Add fs/afs.c.
40166 (grub_fstest_SOURCES): Likewise.
40167 (afs_mod_SOURCES): New variable.
40168 (afs_mod_CFLAGS): Likewise.
40169 (afs_mod_LDFLAGS): Likewise.
40170
40171 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40172 (grub_emu_SOURCES): Likewise.
40173
40174 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40175
40176 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40177
40178 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40179
40180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40181
40182 * fs/afs.c: New file.
40183
17c74c21 401842008-03-30 Pavel Roskin <proski@gnu.org>
40185
4cb68e89 40186 * disk/host.c: Include grub/misc.h to fix a warning.
40187 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40188 warnings about implicit declarations.
40189
8790bb04 40190 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40191 variable.
40192 * include/grub/i386/loader.h: Change declaration of
40193 grub_linux_boot() to match what grub_loader_set() expects.
40194 * util/getroot.c (grub_guess_root_device): Return const char* to
40195 fix a warning.
40196 * util/grub-probe.c (probe): Fix a warning about uninitialized
40197 abstraction_name variable.
40198 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40199 second argument as unused to fix a warning.
40200
9a3f3296 40201 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40202 missing grub_error() call.
40203
0ecef90d 40204 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40205 2.60 and newer uses it to define datadir.
40206
0bf6d401 40207 * commands/sleep.c: Fix warning about implicit declaration.
40208 * disk/memdisk.c: Likewise.
40209 * loader/aout.c: Likewise.
40210 * loader/i386/bsd_normal.c: Likewise.
40211 * util/grub-probe.c: Likewise.
40212
7cdacf97 40213 * commands/i386/cpuid.c (has_longmode): Make static.
40214 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40215 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40216
17c74c21 40217 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40218 GDT. This is more robust, as %ds can change.
40219 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40220 calling real_to_prot().
40221 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40222
80a3e68b 402232008-03-28 Pavel Roskin <proski@gnu.org>
40224
40225 * kern/i386/pc/startup.S: Assert that uncompressed functions
40226 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40227 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40228 code, as they push parts of the code (error handlers) beyond
40229 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40230 code as correctness and size.
40231
77bcd272 402322008-03-28 Pavel Roskin <proski@gnu.org>
40233
40234 * kern/i386/pc/startup.S
40235 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40236 data block address to the real mode, keep offset minimal. This
40237 works around a bug in AWARD BIOS on old Athlon systems, which
40238 makes CD detection hang.
40239
c5dfd43b 402402008-03-26 Pavel Roskin <proski@gnu.org>
40241
40242 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40243 const.
40244 * include/grub/normal.h: Add grub_parse_color_name_pair()
40245 declaration.
40246
bf962df2 402472008-03-24 Bean <bean123ch@gmail.com>
40248
40249 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40250 (cd_count): Removed.
40251 (cd_drive): New variable.
40252 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40253 (grub_biosdisk_call_hook): Likewise.
40254 (grub_biosdisk_iterate): Change cdrom detection method.
40255 (grub_biosdisk_open): Replace cd_start with cd_drive.
40256 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40257 detect cdrom device.
40258
40259 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40260 Removed.
40261 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40262 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40263 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40264 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40265 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40266 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40267 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40268 (grub_biosdisk_cdrp): New structure.
40269 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40270
40271 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40272
40273 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40274 device.
40275
40276 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40277 New function.
40278
68e7fc7a 402792008-03-20 Robert Millan <rmh@aybabtu.com>
40280
40281 Remove 2 TiB limit in ata.mod.
40282 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40283 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40284 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40285 grub_uint64_t instead of grub_uint32_t.
40286
38ad2cf5 402872008-03-05 Bean <bean123ch@gmail.com>
40288
40289 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40290 (grub_multiboot): Set boot device.
40291
40292 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40293
2b89344e 402942008-03-02 Bean <bean123ch@gmail.com>
40295
40296 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40297 symlink_buffer.
40298
87a95d1f 402992008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40300
40301 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40302 texinfo.tex.
40303
40304 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40305 modified.
40306
40307 * docs/fdl.texi: New file.
f19dbdb7 40308
87a95d1f 40309 * docs/mdate-sh: New file. Copied from gnulib.
40310 * docs/texinfo.tex: Likewise.
40311
40312 * config.guess: Updated from gnulib.
40313 * install-sh: Likewise.
40314
7dc15d8e 403152008-02-28 Robert Millan <rmh@aybabtu.com>
40316
40317 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40318 (aout_mod_SOURCES): New variable.
40319 (aout_mod_CFLAGS): Likewise.
40320 (aout_mod_LDFLAGS): Likewise.
40321
40322 * conf/i386-ieee1275.rmk: Likewise.
40323
b00ab696 403242008-02-28 Robert Millan <rmh@aybabtu.com>
40325
40326 * util/update-grub.in: Reorganise terminal validity check. Accept
40327 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40328 Based on suggestion by Franklin PIAT.
40329
79ca2d78 403302008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40331
40332 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40333 function.
40334 * util/getroot.c (grub_util_check_block_device): New function that
40335 returns the given argument if it is a block device and returns NULL else.
40336 * util/grub-probe.c (argument_is_device): New variable.
40337 (probe): Promote device_name from a variable to an argument. Receive
40338 device_name from grub_util_check_block_device() if path is NULL and from
40339 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40340 (options): Introduce new parameter '-d, --device'.
79ca2d78 40341 (main): Add description of the new parameter to the help screen.
40342 Rename path variable to argument. Set argument_is_device if the '-d'
40343 option is given. Pass argument to probe() depending on
40344 argument_is_device.
40345
0d16e571 403462008-02-24 Bean <bean123ch@gmail.com>
40347
40348 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40349 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40350 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40351 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40352 (GRUB_ISO9660_VOLDESC_END): Likewise.
40353 (grub_iso9660_primary_voldesc): New member escape.
40354 (grub_iso9660_data): New member joliet.
40355 (grub_iso9660_convert_string): New function.
40356 (grub_iso9660_mount): Detect joliet extension.
40357 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40358 (grub_iso9660_iso9660_label): Likewise.
40359
40360 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40361 (grub_setup_SOURCES): Add fs/udf.c.
40362 (grub_fstest_SOURCES): Likewise.
40363 (udf_mod_SOURCES): New variable.
40364 (udf_mod_CFLAGS): Likewise.
40365 (udf_mod_LDFLAGS): Likewise.
40366
40367 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40368 (grub_emu_SOURCES): Likewise.
40369
40370 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40371
40372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40373
40374 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40375
40376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40377
40378 * fs/udf.c: New file.
40379
8a594a17 403802008-02-24 Robert Millan <rmh@aybabtu.com>
40381
40382 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40383 (normal/lexer.c_DEPENDENCIES): New variables.
40384 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40385 (normal/lexer.c_DEPENDENCIES): Likewise.
40386 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40387 (normal/lexer.c_DEPENDENCIES): Likewise.
40388 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40389 (normal/lexer.c_DEPENDENCIES): Likewise.
40390 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40391 (normal/lexer.c_DEPENDENCIES): Likewise.
40392 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40393 (normal/lexer.c_DEPENDENCIES): Likewise.
40394
2dc33c03 403952008-02-23 Robert Millan <rmh@aybabtu.com>
40396
40397 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40398 since they were intended to be in hex. This didn't break previously
40399 because of a bug in gpt_partition_map_iterate() (see below).
40400
40401 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40402 when checking the validity of GPT header.
40403 Remove `partno', since it always provides the same information as `i'.
40404
f6f4cfb0 404052008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40406
40407 * include/grub/efi/time.h: Fix a wrong comment.
40408
79ff665f 404092008-02-19 Pavel Roskin <proski@gnu.org>
40410
40411 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40412 message.
40413
d38e24c2 404142008-02-19 Bean <bean123ch@gmail.com>
40415
40416 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40417 (aout_mod_SOURCES): New variable.
40418 (aout_mod_CFLAGS): Likewise.
40419 (aout_mod_LDFLAGS): Likewise.
40420 (_bsd_mod_SOURCES): New variable.
40421 (_bsd_mod_CFLAGS): Likewise.
40422 (_bsd_mod_LDFLAGS): Likewise.
40423 (bsd_mod_SOURCES): New variable.
40424 (bsd_mod_CFLAGS): Likewise.
40425 (bsd_mod_LDFLAGS): Likewise.
40426
40427 * include/grub/aout.h: New file.
40428
40429 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40430
40431 * include/grub/i386/bsd.h: New file.
40432
40433 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40434 to make it public.
40435
40436 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40437 function is called, so that it's possible to change it inside the hook.
40438 (grub_elf64_load): Likewise.
40439 (grub_elf_file): Don't close the file if elf header is not found.
40440 (grub_elf_close): Close the file if grub_elf_file fails (The new
40441 grub_elf_file won't close it).
40442 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40443 (grub_elf64_size): Likewise.
40444
40445 * kern/i386/loader.S (grub_unix_real_boot): New function.
40446
40447 * loader/aout.c: New file.
40448
40449 * loader/i386/bsd.c: New file.
40450
40451 * loader/i386/bsd_normal.c: New file.
40452
40453 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40454
40455 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40456 can test other formats.
d38e24c2 40457
b93bdb0f 404582008-02-19 Robert Millan <rmh@aybabtu.com>
40459
40460 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40461 (grub_gpt_partition_type_empty): Redefine with macro from
40462 `<grub/gpt_partition.h>'.
40463 (gpt_partition_map_iterate): Adjust partition type comparison.
40464
40465 Export `entry' as partmap-specific `part.data' struct.
40466 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40467
40468 * include/grub/gpt_partition.h (grub_gpt_header)
40469 (grub_gpt_partentry): ... to here (new file).
40470
40471 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40472
40473 (grub_gpt_partition_type_bios_boot): New const variable, defined
40474 with macro from `<grub/gpt_partition.h>'.
40475
40476 (setup): Replace `first_start' with `embed_region', which keeps
40477 track of the embed region (and is partmap-agnostic).
40478
40479 Replace find_first_partition_start() with find_usable_region(),
40480 which finds a usable region for embedding using partmap-specific
40481 knowledge (supports PC/MSDOS and GPT).
40482
40483 Fix all assumptions that the embed region start at sector 1, using
40484 `embed_region.start' from now on. Similarly, use `embed_region.end'
40485 rather than `first_start' to calculate available size.
40486
40487 In grub_util_info() message, replace "into after the MBR" with an
40488 indication of the specific sector our embed region starts at.
40489
66cb40f6 404902008-02-19 Robert Millan <rmh@aybabtu.com>
40491
40492 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40493 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40494 `commands/reboot.c'.
40495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40496 (halt_mod_SOURCES): Likewise.
40497 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40498 (halt_mod_SOURCES): Likewise.
40499
b7202015 405002008-02-17 Christian Franke <franke@computer.org>
40501
40502 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40503
32b0fc49 405042008-02-17 Robert Millan <rmh@aybabtu.com>
40505
40506 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40507 set `first_start' to 0 for non-PC/MSDOS partition maps.
40508
aca63502 405092008-02-16 Robert Millan <rmh@aybabtu.com>
40510
40511 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40512 do not assume partition map is PC/MSDOS before performing checks that
40513 are specific to that layout.
40514
0de8be86 405152008-02-13 Robert Millan <rmh@aybabtu.com>
40516
40517 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40518 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40519 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40520
c3db8364 405212008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40522
40523 * configure.ac: Only a cosmetic change on the handling of
40524 -fno-stack-protector.
40525
f714229e 405262008-02-12 Alexandre Boeglin <alex@boeglin.org>
40527
c3db8364 40528 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40529 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40530 reboot.c.
f714229e 40531 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40532 (halt_mod_SOURCES): New variable.
40533 (halt_mod_CFLAGS): Likewise.
40534 (halt_mod_LDFLAGS): Likewise.
40535 (reboot_mod_SOURCES): Likewise.
40536 (reboot_mod_CFLAGS): Likewise.
40537 (reboot_mod_LDFLAGS): Likewise.
40538
c3db8364 40539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40540 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40541 reboot.c.
f714229e 40542 (halt_mod_SOURCES): Likewise.
40543 (reboot_mod_SOURCES): Likewise.
40544
c3db8364 40545 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40546 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40547 (reboot_mod_SOURCES): Likewise.
40548
40549 * commands/i386/pc/reboot.c: merge this file ...
40550
40551 * commands/ieee1275/reboot.c: ... and this file ...
40552
40553 * commands/reboot.c: ... to this file.
c3db8364 40554 Add some precompiler directive to include the correct header for
40555 each machine.
f714229e 40556
40557 * commands/ieee1275/halt.c: move this file ...
40558
40559 * commands/halt.c: ... to here.
c3db8364 40560 Add some precompiler directive to include the correct header for
40561 each machine.
f714229e 40562
40563 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40564 (grub_halt): Likewise.
40565
40566 * kern/efi/efi.c (grub_reboot): New function.
40567 (grub_halt): Likewise.
40568
c74493e0 405692008-02-12 Robert Millan <rmh@aybabtu.com>
40570
40571 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40572 /dev (like it is done for /dev/mapper). This doesn't provide support
40573 for EVMS, but at least it is now easy to identify the problem when it
40574 arises.
40575
d0db4b04 405762008-02-11 Robert Millan <rmh@aybabtu.com>
40577
40578 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40579 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40580 comparing it with -1, not 0.
40581
bf748642 405822008-02-10 Robert Millan <rmh@aybabtu.com>
40583
40584 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40585 `disk/lvm.c'.
40586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40587 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40588
40589 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40590 `disk/lvm.c' to the end of the list.
40591 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40592 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40593
b5db202a 405942008-02-10 Robert Millan <rmh@aybabtu.com>
40595
40596 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40597 grub_print_error() instead. This will let user know why we're entering
40598 rescue mode.
40599 Based on suggestions from Sam Morris.
40600
83abee31 406012008-02-10 Alexandre Boeglin <alex@boeglin.org>
40602
40603 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40604 on remaining N args, instead of "--" arg N times.
40605
78d5a08b 406062008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40607
40608 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40609 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40610 pattern for unknown glyphs.
40611
68807e5f 406122008-02-09 Robert Millan <rmh@aybabtu.com>
40613
40614 * configure.ac: Probe for `help2man'.
40615 * Makefile.in (builddir): New variable.
40616 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40617 or otherwise add a few flags/options to it.
40618 (install-local): For every executable utility or script that is
40619 installed, invoke $(HELP2MAN) to install a manpage based on --help
40620 output.
40621
40622 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40623 that it doesn't prevent --help from working in build tree.
40624
40625 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40626 with `bug-grub@gnu.org'.
40627 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40628 * util/update-grub.in (usage): New function.
40629 Implement proper argument check, with support for --help and --version
40630 (as well as existing -y).
40631
406322008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40633
40634 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40635 avoid overwriting previous output.
40636 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40637
c1962162 406382008-02-09 Robert Millan <rmh@aybabtu.com>
40639
40640 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40641 drawing the menu.
40642
3dac2e3f 406432008-02-09 Robert Millan <rmh@aybabtu.com>
40644
40645 * commands/sleep.c: New file.
40646 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40647 (sleep_mod_SOURCES): New variable.
40648 (sleep_mod_CFLAGS): Likewise.
40649 (sleep_mod_LDFLAGS): Likewise.
40650
7a634e08 406512008-02-09 Robert Millan <rmh@aybabtu.com>
40652
40653 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40654 situations in which we can deduce the RAID size and the superblock
40655 doesn't match it.
40656
b92f0c18 406572008-02-09 Robert Millan <rmh@aybabtu.com>
40658
40659 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40660 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40661 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40662
40663 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40664 and return a grub_diskmemberlist_t composed of physical array members.
40665 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40666
40667 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40668 prototype.
40669 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40670 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40671 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40672
40673 * util/grub-probe.c (probe): Move partmap probing code from here ...
40674 (probe_partmap): ... to here.
40675 (probe): Use probe_partmap() once for the disk we're probing, and
40676 additionally, when such disk contains a memberlist() struct member,
40677 once for each disk that is contained in the structure returned by
40678 memberlist().
40679
91a4bf68 406802008-02-09 Robert Millan <rmh@aybabtu.com>
40681
40682 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40683 environment variable to 'all' in order to obtain debug output from
40684 non-util/ code.
40685 * util/i386/pc/grub-setup.c (main): Likewise.
40686
a96f9caa 406872008-02-08 Robert Millan <rmh@aybabtu.com>
40688
40689 * disk/raid.c (grub_raid_scan_device): Check for
40690 `array->device[sb.this_disk.number]' rather than for
40691 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 40692 guaranteed to be accessible.
a96f9caa 40693
b37a9222 406942008-02-08 Robert Millan <rmh@aybabtu.com>
40695
40696 * disk/raid.c: Update copyright.
40697 * fs/cpio.c: Likewise.
40698 * include/grub/raid.h: Likewise.
40699 * loader/i386/pc/multiboot.c: Likewise.
40700 * util/hostfs.c: Likewise.
40701
5626aee1 407022008-02-08 Robert Millan <rmh@aybabtu.com>
40703
40704 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40705 to a grub_disk_t array.
40706 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40707 `device[x]'.
40708 (grub_raid_scan_device): Replace `device[x].name' accesses with
40709 `device[x]->name'. Simplify initialization of `array->device[x]'.
40710
554f0187 407112008-02-08 Robert Millan <rmh@aybabtu.com>
40712
40713 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40714 grub_dprintf() calls.
40715 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40716 error message.
40717
1ec8425d 407182008-02-07 Christian Franke <franke@computer.org>
40719
40720 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40721 instead of fseek and ftell to support large files.
40722 (grub_hostfs_read): Likewise.
40723
f2156fda 407242008-02-07 Robert Millan <rmh@aybabtu.com>
40725
40726 Patch from Jeroen Dekkers.
40727 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40728 failure, since successfully reading all array members might not be
f2156fda 40729 required.
40730
9216e0e7 407312008-02-06 Robert Millan <rmh@aybabtu.com>
40732
40733 * util/grub-probe.c (probe): Simplify partmap probing (with the
40734 assumption that the first word up to the underscore equals to
40735 the module name).
40736
b0dfd29a 407372008-02-06 Christian Franke <franke@computer.org>
40738
40739 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40740 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40741 last block of a cpio or tar stream.
40742 Check for "TRAILER!!!" instead of any empty data
40743 block to detect last block of a cpio stream.
40744 (grub_cpio_dir): Fix constness of variable np.
40745 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40746 cpio or tar trailer is detected. This fixes a crash
40747 on open of a non existing file.
40748
c32865bf 407492008-02-05 Bean <bean123ch@gmail.com>
40750
40751 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40752 address of entry.
40753 (grub_multiboot_load_elf64): Likewise.
40754 (grub_multiboot): Initialize mbi structure.
40755
40756 * util/grub-fstest.c: Don't include unused header file script.h.
40757
fe6b695a 40758 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40759 of file.
40760 (grub_fstest_SOURCES): Likewise.
40761
409480b7 407622008-02-05 Robert Millan <rmh@aybabtu.com>
40763
40764 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40765 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40766 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40767 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40768
40769 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40770 (translation_table): Replace hardcoded values with macros
40771 provided by `<grub/term.h>'.
40772
40773 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40774 (keyboard_map): Correct/add a few values, with macros provided
40775 by `<grub/term.h>'.
40776 (keyboard_map_shift): Zero values that don't differ from their
40777 `keyboard_map' equivalents.
40778 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40779 Discard the second scan code that is always sent by Caps lock.
40780 Only use `keyboard_map_shift' when it provides a non-zero value,
40781 otherwise fallback to `keyboard_map'.
40782
99fadbaa 407832008-02-04 Bean <bean123ch@gmail.com>
40784
40785 * Makefile.in (enable_grub_fstest): New variable.
40786
40787 * conf/common.rmk (grub_fstest_init.lst): New rule.
40788 (grub_fstest_init.h): Likewise.
40789 (grub_fstest_init.c): Likewise.
40790 (util/grub-fstest.c_DEPENDENCIES): New variable.
40791 (grub_fstest_SOURCES): Likewise.
40792
40793 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40794
40795 * util/grub-fstest.c: New file.
40796
bf567c50 407972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40798
40799 Make grub-setup handle a separate root device.
f19dbdb7 40800
bf567c50 40801 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40802 so that the root device can be compared with the destination
40803 device.
40804 When embedding the core image, if the root and destination devices
40805 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40806 0xFF.
40807 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40808
9be6b98b 408092008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40810
40811 Add support for having a grub directory in a different drive. This
40812 is still only the data handling part.
f19dbdb7 40813
9be6b98b 40814 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40815 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40816 (grub_root_drive): New variable.
40817
40818 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40819 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40820 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40821 as it was.
40822
40823 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40824
40825 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40826 macro.
40827 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40828
40829 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40830 is bogus, because PXE booting does not specify any drive
40831 correctly.
40832
40833 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40834 am not sure if this is really correct.
40835
40836 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40837 is always identical to the boot drive when booting from a CD.
40838
40839 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40840 longer.
40841 (root_drive): New variable.
40842 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40843 (setup_sectors): Push %dx right after popping it, because %dh will
40844 be modified later.
40845 (copy_buffer): Restore %dx.
40846
e0ca0677 408472008-02-03 Robert Millan <rmh@aybabtu.com>
40848
40849 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40850 use `cdboot.img' for cdrom images.
40851
3b3f6629 408522008-02-03 Robert Millan <rmh@aybabtu.com>
40853
40854 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40855 only setup gfxterm when `font' command has succeeded.
40856
d42b3672 408572008-02-03 Robert Millan <rmh@aybabtu.com>
40858
40859 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40860 (grub_rescue_cmd_multiboot_loader)
40861 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40862
fa370ea6 408632008-02-03 Pavel Roskin <proski@gnu.org>
40864
e0c5dacb 40865 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40866 %edx and %esi from stack only after grub_gate_a20() is called.
40867 grub_gate_a20() clobbers %edx.
40868
f2a76e1d 408692008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40870
40871 * configure.ac (AC_INIT): Bumped to 1.96.
40872
40873 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40874 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40875 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40876 video/readers/png.c.
40877
90fd32d1 408782008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40879
40880 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40881 (cdboot_img_SOURCES): New variable.
40882 (cdboot_img_ASFLAGS): New variable.
40883 (cdboot_img_LDFLAGS): New variable.
40884
40885 * boot/i386/pc/cdboot.S: New file.
40886
40887 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40888 (cd_count): Likewise.
40889 (grub_biosdisk_get_drive): Add support for cd device.
40890 (grub_biosdisk_call_hook): Likewise.
40891 (grub_biosdisk_iterate): Likewise.
40892 (grub_biosdisk_open): Likewise.
40893 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40894 (grub_biosdisk_rw): Support reading from cd device.
40895 (GRUB_MOD_INIT): Iterate cd devices.
40896
40897 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40898 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40899 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40900
40901 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40902
4020aa53 409032008-02-02 Robert Millan <rmh@aybabtu.com>
40904
40905 * commands/read.c: New file.
40906 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40907 (read_mod_SOURCES): New variable.
40908 (read_mod_CFLAGS): Likewise.
40909 (read_mod_LDFLAGS): Likewise.
40910
e03a1132 409112008-02-02 Robert Millan <rmh@aybabtu.com>
40912
40913 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40914 determining whether menu has to be displayed.
40915
58c69220 409162008-02-02 Marco Gerards <marco@gnu.org>
40917
40918 * bus/pci.c: New file.
40919
40920 * include/grub/pci.h: Likewise.
40921
40922 * include/grub/i386/pc/pci.h: Likewise.
40923
40924 * commands/lspci.c: Likewise.
40925
40926 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40927 `lspci.mod'.
40928 (pci_mod_SOURCES): New variable.
40929 (pci_mod_CFLAGS): Likewise.
40930 (pci_mod_LDFLAGS): Likewise.
40931 (lspci_mod_SOURCES): Likewise.
40932 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40933 (lspci_mod_LDFLAGS): Likewise.
58c69220 40934
c004e1b4 409352008-02-02 Bean <bean123ch@gmail.com>
40936
40937 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40938 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40939
40940 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40941 (grub_xfs_btree_node): New structure.
40942 (grub_xfs_btree_root): New structure.
40943 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40944 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40945 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40946 (GRUB_XFS_EXTENT_SIZE): Likewise.
40947 (grub_xfs_read_block): Support btree format type.
40948 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40949 Use directory block as basic unit.
40950
40951 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40952
40953 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40954 __attribute__ ((__regparm__ (1))).
40955
f95562bf 409562008-02-01 Robert Millan <rmh@aybabtu.com>
40957
40958 Correct a mistake in previous commit.
40959
40960 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40961 top.
40962 (normal/command.c_DEPENDENCIES): New variable.
40963
7d31f41f 409642008-02-01 Robert Millan <rmh@aybabtu.com>
40965
40966 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40967 top.
40968 (normal/command.c_DEPENDENCIES): New variable.
40969 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40970 * conf/i386-ieee1275.rmk: Likewise.
40971 * conf/i386-linuxbios.rmk: Likewise.
40972 * conf/i386-pc.rmk: Likewise.
40973 * conf/sparc64-ieee1275.rmk: Likewise.
40974 * conf/powerpc-ieee1275.rmk: Likewise.
40975 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40976
40977 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40978
60b6be74 409792008-02-01 Robert Millan <rmh@aybabtu.com>
40980
40981 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40982 call at beginning of function.
40983
078522ab 409842008-01-31 Pavel Roskin <proski@gnu.org>
40985
40986 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40987 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40988 (grub_mkrescue_SOURCES): Likewise.
078522ab 40989 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40990
ccaa8a5f 409912008-01-30 Robert Millan <rmh@aybabtu.com>
40992
40993 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40994 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40995 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40996 (grub_probe_SOURCES): ... to here.
40997
40998 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40999 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41000 * conf/i386-ieee1275.rmk: Likewise.
41001 * conf/i386-linuxbios.rmk: Likewise.
41002 * conf/powerpc-ieee1275.rmk: Likewise.
41003
ae5a9cd7 410042008-01-30 Tristan Gingold <gingold@free.fr>
41005
41006 * kern/rescue.c: Silently accept empty lines.
41007
70bc2ef2 410082008-01-29 Bean <bean123ch@gmail.com>
41009
41010 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41011 (real_code_2): Code cleanup and change comment style.
41012 (move_memory): Avoid using 32-bit address mode.
41013
6a4d50ea 410142008-01-29 Bean <bean123ch@gmail.com>
41015
41016 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41017 (png_mod_SOURCES): New variable.
41018 (png_mod_CFLAGS): Likewise.
41019 (png_mod_LDFLAGS): Likewise.
41020
41021 * video/readers/png.c: New file.
41022
11cc30ac 410232008-01-28 Robert Millan <rmh@aybabtu.com>
41024
41025 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41026 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41027 `ifndef GRUB_MOD_GAP' hack.
41028 * util/elf/grub-mkimage.c (add_segments): Likewise.
41029
3abc589f 410302008-01-27 Robert Millan <rmh@aybabtu.com>
41031
41032 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41033 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41034 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41035
e1907778 410362008-01-27 Robert Millan <rmh@aybabtu.com>
41037
41038 Get grub-emu to build again (including parallel builds).
41039
41040 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41041 Split into ...
41042 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41043 (normal/execute.c_DEPENDENCIES): ... this, ...
41044 (grub-emu_DEPENDENCIES): ... and this.
41045
41046 * conf/i386-efi.rmk: Likewise.
41047 * conf/i386-linuxbios.rmk: Likewise.
41048 * conf/i386-ieee1275.rmk: Likewise.
41049 * conf/powerpc-ieee1275.rmk: Likewise.
41050 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41051
2216b101 410522008-01-27 Robert Millan <rmh@aybabtu.com>
41053
41054 * NEWS: Add a few items.
41055
f75172d9 410562008-01-27 Robert Millan <rmh@aybabtu.com>
41057
41058 Fix parallel builds with grub-emu. Based on earlier commit for
41059 grub-probe and grub-setup.
41060
41061 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41062 (util/grub-emu.c_DEPENDENCIES): ... this.
41063 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41064 (util/grub-emu.c_DEPENDENCIES): ... this.
41065 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41066 (util/grub-emu.c_DEPENDENCIES): ... this.
41067 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41068 (util/grub-emu.c_DEPENDENCIES): ... this.
41069 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41070 (util/grub-emu.c_DEPENDENCIES): ... this.
41071
3f51de77 410722008-01-27 Pavel Roskin <proski@gnu.org>
41073
41074 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41075 to create a gap between _end and the modules added to the image
41076 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41077 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41078 * util/elf/grub-mkimage.c (add_segments): Likewise.
41079
2033f53e 410802008-01-26 Pavel Roskin <proski@gnu.org>
41081
41082 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41083 just return an error.
41084
22da1f6f 410852008-01-26 Bean <bean123ch@gmail.com>
41086
41087 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41088 (grub_reiserfs_get_item): Save offset of the next item.
41089 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41090
2a9525e6 410912008-01-25 Robert Millan <rmh@aybabtu.com>
41092
41093 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41094 make all filesystem sources appear together (possibly fixing omissions
41095 while at it).
41096 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41097 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41098 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41100
41101 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41102 add `kern/file.c'.
41103 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41104 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41105 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41106 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41107
41108 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41109 (probe): Add a sanity check to make sure of our ability to read
41110 requested files when probing for filesystem type.
41111
41112 * genmk.rb: Update copyright year (2007).
41113
41114 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41115 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41116 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41117 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41118 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41119 : Remove function prototypes.
41120
b95f71b5 411212008-01-25 Robert Millan <rmh@aybabtu.com>
41122
41123 Revert my previous commits (based on wrong assumption of how grub_errno
41124 works).
41125
fe6b695a 41126 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41127 * kern/file.c (grub_file_open): Likewise.
41128
d08bbb49 411292008-01-24 Pavel Roskin <proski@gnu.org>
41130
41131 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41132 that hang if GRUB tries to setup colors.
41133 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41134 colors for firmwares that don't support it.
41135 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41136 Recognize Open Hack'Ware, set flags to work around its
41137 limitations.
41138
605e36ed 411392008-01-24 Robert Millan <rmh@aybabtu.com>
41140
41141 * kern/file.c (grub_file_open): Do not account previous failures of
41142 unrelated functions when grub_errno is checked for.
41143 Reported by Oleg Strikov.
41144
bac332a1 411452008-01-24 Bean <bean123ch@gmail.com>
41146
41147 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41148 (grub_ufs_sblock): New member volume name.
41149 (grub_ufs_find_file): Fix string copy bug.
41150 (grub_ufs_label): Implement this function properly.
41151
41152 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41153 (grub_hfs_iterate_records): Use the correct file number for extents
41154 and catalog file. Fix problem in next index calculation.
41155 (grub_hfs_find_node): Replace recursive function call with loop.
41156 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41157
15c80c09 411582008-01-23 Robert Millan <rmh@aybabtu.com>
41159
41160 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41161 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41162 (grub_multiboot2_real_boot): New function prototype.
41163
41164 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41165 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41166
41167 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41168 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41169
305338fd 411702008-01-23 Robert Millan <rmh@aybabtu.com>
41171
41172 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41173 #ifdef'ed out grub_printf().
41174
3ea52685 411752008-01-23 Robert Millan <rmh@aybabtu.com>
41176
41177 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41178 grub_dprintf calls, since they make "debug=all" mode unusable.
41179 (grub_console_checkkey): Likewise.
41180
5882ae4b 411812008-01-23 Robert Millan <rmh@aybabtu.com>
41182
41183 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41184 `term/i386/pc/at_keyboard.c'.
41185 (pkglib_MODULES): Add `serial.mod'.
41186 (serial_mod_SOURCES): New variable.
41187 (serial_mod_CFLAGS): Likewise.
41188 (serial_mod_LDFLAGS): Likewise.
41189
41190 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41191 `<grub/powerpc/ieee1275/console.h>'.
41192 (grub_keyboard_controller_init): New function prototype.
41193 (grub_console_checkkey): Likewise.
41194 (grub_console_getkey): Likewise.
41195
41196 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41197 keyboard on i386.
41198
41199 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41200 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41201
06ab5303 412022008-01-23 Robert Millan <rmh@aybabtu.com>
41203
41204 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41205 present, "(memdisk)/boot/grub" becomes the default prefix.
41206
41207 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41208 a memdisk tarball with all the modules. Add --overlay=DIR option that
41209 allows users to overlay additional files into the image.
41210
dbb475a4 412112008-01-23 Robert Millan <rmh@aybabtu.com>
41212
41213 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41214 and `machine/memory.h'.
41215 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41216 (_multiboot_mod_SOURCES): New variable.
41217 (_multiboot_mod_CFLAGS): Likewise.
41218 (_multiboot_mod_LDFLAGS): Likewise.
41219 (multiboot_mod_SOURCES): Likewise.
41220 (multiboot_mod_CFLAGS): Likewise.
41221 (multiboot_mod_LDFLAGS): Likewise.
41222
41223 * include/grub/i386/ieee1275/loader.h: New file.
41224
41225 * include/grub/i386/ieee1275/machine.h: Likewise.
41226
41227 * include/grub/i386/ieee1275/memory.h: Likewise.
41228
41229 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41230 variable declaration.
41231 (grub_os_area_size): Likewise.
41232
41233 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41234 (grub_lower_mem, grub_upper_mem): New variables.
41235 (grub_stop_floppy): New function (just to make
41236 grub_multiboot2_real_boot() happy).
41237
41238 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41239 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41240 (grub_stop): New function.
41241 Include `"../realmode.S"' and `"../loader.S"'.
41242
41243 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41244 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41245
41246 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41247 rely on grub_multiboot2_real_boot() for final boot.
41248
25638629 412492008-01-22 Robert Millan <rmh@aybabtu.com>
41250
41251 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41252 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41253 device that doesn't look like an SD card.
41254 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41255 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41256 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41257 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41258 found.
41259
9dad816d 412602008-01-22 Robert Millan <rmh@aybabtu.com>
41261
41262 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41263 avoid claiming over our own code.
41264
34842f2d 412652008-01-22 Bean <bean123ch@gmail.com>
41266
41267 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41268 (jpeg_mod_SOURCES): New variable.
41269 (jpeg_mod_CFLAGS): Likewise.
41270 (jpeg_mod_LDFLAGS): Likewise.
41271
41272 * video/readers/jpeg.c : New file.
41273
44023a28 412742008-01-22 Bean <bean123ch@gmail.com>
41275
41276 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41277 there are no more items.
41278
bc2d8ac6 412792008-01-21 Robert Millan <rmh@aybabtu.com>
41280
41281 * kern/mm.c (grub_mm_init_region): Improve debug message.
41282
261bd4bc 412832008-01-21 Robert Millan <rmh@aybabtu.com>
41284
41285 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41286 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41287 address.
41288 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41289 a C macro.
41290 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41291 Indicates start of upper memory.
41292 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41293 (generate_image): Abort when image size is big enough to corrupt
41294 upper memory.
41295
41296 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41297 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41298 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41299 instead of hardcoding 0xA0000.
41300 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41301 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41302 instead of hardcoding 0xA0000.
41303
f970b55e 413042008-01-21 Robert Millan <rmh@aybabtu.com>
41305
41306 * disk/memdisk.c (memdisk_size): New variable.
41307 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41308 `memdisk_size'.
41309 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41310 image to dynamic memory.
41311 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41312 `memdisk_size'. Free memdisk block.
41313
1a8b0526 413142008-01-21 Robert Millan <rmh@aybabtu.com>
41315
41316 Fix detection of very small filesystems (like tar).
41317
41318 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41319 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41320 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41321 a problem with this disk).
41322
6e9b4aab 413232008-01-21 Robert Millan <rmh@aybabtu.com>
41324
41325 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41326 on grub_biosdisk_rw_standard() error.
41327
0d8837b2 413282008-01-21 Robert Millan <rmh@aybabtu.com>
41329
41330 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41331 recent changes.
41332 * kern/elf.c: Likewise.
41333 * kern/ieee1275/ieee1275.c: Likewise.
41334 * kern/powerpc/ieee1275/openfw.c: Likewise.
41335 * term/ieee1275/ofconsole.c: Likewise.
41336
ffd36e34 413372008-01-21 Robert Millan <rmh@aybabtu.com>
41338
41339 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41340
3f0093d0 41341 * include/grub/kernel.h (grub_arch_memdisk_addr)
41342 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41343
3f0093d0 41344 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41345 (grub_arch_memdisk_size): ... to here.
ffd36e34 41346
6c391b21 413472008-01-21 Robert Millan <rmh@aybabtu.com>
41348
41349 Mostly based on bugfix from Bean.
41350
41351 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41352 attribute with hook() parameter.
41353 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41354 declaration.
41355 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41356 attribute with hook() parameter.
41357 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41358 declaration.
41359
55a581dc 413602008-01-21 Robert Millan <rmh@aybabtu.com>
41361
41362 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41363 (pkglib_MODULES): Add `memdisk.mod'.
41364 (memdisk_mod_SOURCES): New variable.
41365 (memdisk_mod_CFLAGS): Likewise.
41366 (memdisk_mod_LDFLAGS): Likewise.
41367
41368 * disk/memdisk.c: New file.
41369
41370 * include/grub/disk.h (grub_disk_dev_id): Add
41371 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41372
41373 * include/grub/i386/pc/kernel.h
41374 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41375 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41376 (grub_kernel_image_size): New variable declaration.
41377 (grub_total_module_size): Likewise.
41378 (grub_memdisk_image_size): Likewise.
41379
41380 * include/grub/i386/pc/memory.h
41381 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41382
41383 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41384 (grub_arch_memdisk_addr): New variable declaration.
41385 (grub_arch_memdisk_size): Likewise.
41386
41387 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41388 (grub_arch_memdisk_size): Likewise.
41389
41390 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41391 (codestart): Replace hardcoded `0x100000' with
41392 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41393
41394 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41395 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41396 not NULL, append the contents of the file it refers to, at the end of
41397 the compressed kernel image. Initialize `grub_memdisk_image_size'
41398 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41399 (options): Add "memdisk"|'m' option.
41400 (main): Parse --memdisk|-m option, and pass user-provided path as
41401 parameter to generate_image().
41402
3d7f54c9 414032008-01-20 Robert Millan <rmh@aybabtu.com>
41404
41405 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41406 grub_dprintf() calls from here ...
41407 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41408
0bf74728 414092008-01-20 Robert Millan <rmh@aybabtu.com>
41410
41411 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41412
41413 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41414 declaration.
41415 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41416 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41417 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41418 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41419 property).
41420 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41421 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41422
33bf70a7 414232008-01-19 Robert Millan <rmh@aybabtu.com>
41424
fe6b695a 41425 Get rid of confusing function (superseded by
33bf70a7 41426 `grub_ieee1275_get_integer_property')
41427 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41428 prototype.
41429 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41430 function.
41431 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41432 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41433 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41434
e2da7d26 414352008-01-19 Robert Millan <rmh@aybabtu.com>
41436
41437 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41438 command after "shut-down", since implementations differ on which
41439 the command for halt is.
41440
59f1fd8d 414412008-01-19 Robert Millan <rmh@aybabtu.com>
41442
41443 * include/grub/i386/linuxbios/console.h: Add header protection.
41444 (grub_keyboard_controller_init): New function prototype.
41445 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41446 (KEYBOARD_COMMAND_READ): Likewise.
41447 (KEYBOARD_COMMAND_WRITE): Likewise.
41448 (KEYBOARD_SCANCODE_SET1): Likewise.
41449 (grub_keyboard_controller_write): New function.
41450 (grub_keyboard_controller_read): Likewise.
41451 (grub_keyboard_controller_init): Likewise.
41452
41453 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41454 (grub_console_init): On coreboot/LinuxBIOS, call
41455 grub_keyboard_controller_init().
41456
5f5a7c15 414572008-01-19 Robert Millan <rmh@aybabtu.com>
41458
41459 PowerPC changes provided by Pavel Roskin.
41460
41461 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41462 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41463 don't rely on cmain() doing it.
41464 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41465 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41466
1210e168 414672008-01-16 Robert Millan <rmh@aybabtu.com>
41468
41469 * include/grub/i386/linuxbios/memory.h
41470 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41471 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41472 receive `table_header' as argument. Instead, probe for it in the
41473 known memory ranges where it can be present.
41474 (grub_available_iterate): Do not pass a fixed `table_header' address
41475 to grub_linuxbios_table_iterate().
41476
3d04eab8 414772008-01-15 Robert Millan <rmh@aybabtu.com>
41478
41479 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41480 * conf/i386-ieee1275.rmk: New file.
41481 * include/grub/i386/ieee1275/console.h: Likewise.
41482 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41483 * include/grub/i386/ieee1275/kernel.h: Likewise.
41484 * include/grub/i386/ieee1275/time.h: Likewise.
41485 * kern/i386/ieee1275/init.c: Likewise.
41486 * kern/i386/ieee1275/startup.S: Likewise.
41487
d1bc1b73 414882008-01-15 Robert Millan <rmh@aybabtu.com>
41489
41490 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41491 when pointers are 32-bit (but still do set it to one when they are
41492 64-bit).
41493
66a65807 414942008-01-15 Robert Millan <rmh@aybabtu.com>
41495
41496 * include/grub/ieee1275/ieee1275.h
41497 (grub_ieee1275_get_integer_property): New function prototype.
41498
41499 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41500 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41501 grub_ieee1275_get_property() to handle endianness.
66a65807 41502
41503 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41504 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41505 where appropriate.
66a65807 41506 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41507 (grub_map): Likewise.
41508 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41509
a83ccafd 415102008-01-15 Bean <bean123ch@gmail.com>
41511
41512 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41513 (grub_script_execute_cmdline): Reset grub_errno.
41514
41515 * normal/main.c (read_config_file): Reset grub_errno.
41516
41517 * normal/parse.y (script_init): New.
41518 (script): Move function and menuentry here.
41519 (delimiter): New.
41520 (command): Add delimiter at the end of command.
41521 (commands): Adjust to match the new command.
41522 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41523 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41524 (if): Use the new commands.
41525
41526 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41527
df6ecfc6 415282008-01-15 Robert Millan <rmh@aybabtu.com>
41529
41530 * normal/menu.c (run_menu): Move timeout message from here ...
41531 (print_timeout): ... to here.
41532 (run_menu): Use print_timeout() once during initial draw to print
41533 the whole message, and again in every clock tick to update only
41534 the number of seconds.
41535
87ae25eb 415362008-01-15 Robert Millan <rmh@aybabtu.com>
41537
41538 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41539 actual size of `available' from grub_ieee1275_get_property(), and
41540 restrict parsing to that bound.
41541
47bf09a4 415422008-01-15 Christian Franke <franke@computer.org>
41543
41544 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41545 (argp_program_version): Remove variable.
41546 (argp_program_bug_address): Likewise.
41547 (options): Convert from struct argp_option to struct option.
41548 (struct arguments): Remove.
41549 (parse_opt): Remove.
41550 (usage): New function.
41551 (main): Replace struct args members by simple variables.
41552 Replace argp_parse() by getopt_long().
41553 Add switch to evaluate options.
41554 Add missing "(...)" around root_dev in prefix string.
41555
c86f1469 415562008-01-14 Robert Millan <rmh@aybabtu.com>
41557
41558 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41559 for grub_ieee1275_exit(), in order to improve portability.
41560
e622c559 415612008-01-14 Robert Millan <rmh@aybabtu.com>
41562
41563 * util/grub.d/10_linux.in (prefix): Define.
41564 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41565
44cb1ec8 415662008-01-13 Pavel Roskin <proski@gnu.org>
41567
41568 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41569 grub_errno if no errors have been detected.
41570
1eb8c802 415712008-01-12 Robert Millan <rmh@aybabtu.com>
41572
41573 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41574 (grub_util_get_dev_abstraction): New function prototype.
41575
41576 * util/getroot.c: Include `<grub/util/getroot.h>'
41577 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41578 (grub_util_get_dev_abstraction): ... here (new function).
41579
41580 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41581 `PRINT_ABSTRACTION'.
41582 (probe): Probe for abstraction type when requested.
41583 (main): Understand `--target=abstraction'.
41584
41585 * util/i386/efi/grub-install.in: Add abstraction module to core
41586 image when it is found to be necessary.
41587 * util/i386/pc/grub-install.in: Likewise.
41588 * util/powerpc/ieee1275/grub-install.in: Likewise.
41589
41590 * util/update-grub_lib.in (font_path): Return system path without
41591 converting to GRUB path.
41592 * util/update-grub.in: Convert system path returned by font_path()
41593 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41594 abstraction module is needed for loading fonts (if any). Export
41595 that as `GRUB_PRELOAD_MODULES'.
41596 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41597 insmod commands).
41598
52bd3de9 415992008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41600
41601 Remove some unused code from reiserfs.
f19dbdb7 41602
52bd3de9 41603 * fs/reiserfs.c (struct grub_reiserfs_key)
41604 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41605 (struct grub_reiserfs_node_body): Removed.
41606 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41607 Likewise.
41608 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41609 Likewise.
41610 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41611 Likewise.
41612 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41613 Likewise.
41614 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41615 Likewise.
41616 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41617 Likewise.
41618 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41619 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41620 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41621
2f80039d 416222008-01-10 Robert Millan <rmh@aybabtu.com>
41623
41624 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41625 Determines if a file is garbage left by packaging systems, etc.
41626 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41627 for processing /etc/grub.d scripts.
41628 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41629 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41630 as a condition for processing Linux images.
41631
87888032 416322008-01-10 Pavel Roskin <proski@gnu.org>
41633
41634 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41635 to compile reiserfs.c on PowerPC.
41636
7e54fced 416372008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41638
41639 * kern/device.c (grub_device_iterate): Do not abort device iteration
41640 when one of the devices cannot be opened.
41641 * kern/disk.c (grub_disk_open): Do not account previous failures of
41642 unrelated functions when grub_errno is checked for.
41643
5aa541e6 416442008-01-08 Robert Millan <rmh@aybabtu.com>
41645
41646 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41647 `! grub_linux_is_bzimage', change order of address comparison to make
41648 it more intuitive, and improve "too big zImage" error message.
41649
7076340d 416502008-01-08 Robert Millan <rmh@aybabtu.com>
41651
41652 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41653 `$(update-grub_DATA)'.
41654 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41655 targets.
41656
9ca70333 416572008-01-07 Robert Millan <rmh@aybabtu.com>
41658
41659 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41660 which instruction is modified by grub-setup during installation
41661 (since it wasn't obvious by only looking at this file).
41662
38ccf575 416632008-01-07 Robert Millan <rmh@aybabtu.com>
41664
41665 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41666 listing actual TODO items.
41667
f5db4291 416682008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41669
868967cf 41670 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41671 correctly.
41672 (grub_reiserfs_get_key_offset): Likewise.
41673 (grub_reiserfs_set_key_offset): Likewise.
41674 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 41675 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 41676
41677 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41678 better to remove the bitfield version completely.
f19dbdb7 41679
868967cf 416802008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41681
f5db4291 41682 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41683 allocated from the heap, due to the fshelp implementation.
41684 (grub_reiserfs_dir): Free NODE, due to the same reason.
41685
492e6d9d 416862008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41687
41688 Mostly from Vincent Pelletier:
f19dbdb7 41689
492e6d9d 41690 * fs/reiserfs.c: New file.
f19dbdb7 41691
492e6d9d 41692 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41693 (reiserfs_mod_SOURCES): New variable.
41694 (reiserfs_mod_CFLAGS): Likewise.
41695 (reiserfs_mod_LDFLAGS): Likewise.
41696
41697 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41698 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41699 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41700 normal/color.c.
41701
9ce3e7c1 417022008-01-06 Robert Millan <rmh@aybabtu.com>
41703
41704 * normal/color.c: Remove `<grub/env.h>'.
41705
f3b58148 417062008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41707
41708 * include/grub/normal.h: Include <grub/env.h>.
41709
7ac3bcfa 417102008-01-05 Robert Millan <rmh@aybabtu.com>
41711
41712 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41713 usage example with `(hd0,1)'.
fb358190 41714 Reported by Samuel Thibault.
7ac3bcfa 41715
c8ee99d7 417162008-01-05 Robert Millan <rmh@aybabtu.com>
41717
41718 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41719 (grub_linux_boot_zimage): Rename to ...
41720 (grub_linux_boot): ... this.
41721 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41722 (grub_linux_boot_zimage): Conditionalize zImage copy.
41723
41724 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41725 (grub_linux_boot_bzimage): Remove prototype.
41726 (grub_linux_boot_zimage): Rename to ...
41727 (grub_linux_boot): ... this.
41728
41729 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41730 (grub_linux_boot): Remove function.
41731
0ece25b1 417322008-01-05 Robert Millan <rmh@aybabtu.com>
41733
41734 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41735 (grub_env_write_color_highlight): Likewise.
41736 (grub_wait_after_message): Likewise.
41737
41738 * normal/color.c: New file.
41739
41740 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41741 (normal_mod_DEPENDENCIES): Likewise.
41742
41743 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41744 (normal_mod_DEPENDENCIES): Likewise.
41745
41746 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41747 (normal_mod_DEPENDENCIES): Likewise.
41748
41749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41750 (normal_mod_DEPENDENCIES): Likewise.
41751
41752 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41753 for waiting after a message is printed.
41754 * normal/main.c (read_config_file): Likewise.
41755 (grub_normal_init): Register grub_env_write_color_normal() and
41756 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41757 `color_highlight' variables as global.
41758
41759 * normal/menu.c (grub_wait_after_message): New function.
41760 (grub_color_menu_normal): New variable. Replaces ...
41761 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41762 (grub_color_menu_highlight): New variable. Replaces ...
41763 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41764 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41765 `GRUB_TERM_COLOR_STANDARD'.
41766 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41767 `normal_code' and `highlight_code' to `old_color_normal' and
41768 `old_color_highlight', respectively.
41769 (grub_menu_init_page): Update colors when drawing the menu, based on
41770 `menu_color_normal' and `menu_color_highlight' variables.
41771 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41772 a message is printed.
41773
182dd4e5 417742008-01-05 Robert Millan <rmh@aybabtu.com>
41775
41776 * kern/env.c (grub_env_context_open): Propagate hooks for global
41777 variables to new context.
41778
41779 * kern/main.c (grub_set_root_dev): Export `root' variable.
41780
ddf8f6ad 417812008-01-05 Robert Millan <rmh@aybabtu.com>
41782
41783 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41784 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41785 them.
41786
d8b43d9b 417872008-01-05 Robert Millan <rmh@aybabtu.com>
41788
41789 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41790
2bff2de3 417912008-01-04 Christian Franke <franke@computer.org>
41792
41793 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41794 of eisa_mmap.
41795
97eab917 417962008-01-03 Pavel Roskin <proski@gnu.org>
41797
41798 * kern/i386/linuxbios/init.c: Put "void" to all function
41799 declarations with no arguments.
41800 * kern/powerpc/ieee1275/init.c: Likewise.
41801 * term/i386/pc/at_keyboard.c: Likewise.
41802 * term/i386/pc/vga_text.c: Likewise.
41803 * util/grub-mkdevicemap.c: Likewise.
41804
b9416d00 418052008-01-02 Robert Millan <rmh@aybabtu.com>
41806
41807 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41808 message when loaded image is out of bounds.
41809 (grub_multiboot_load_elf64): Likewise.
41810
92695df9 418112008-01-02 Pavel Roskin <proski@gnu.org>
41812
41813 * util/grub.d/10_linux.in: Try version without ".old" when
41814 looking for initrd. It's better to use initrd from the newer
41815 kernel of the same version than no initrd at all.
41816
d98d9cad 418172008-01-01 Robert Millan <rmh@aybabtu.com>
41818
41819 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41820
dbfdce36 418212008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41822
f19dbdb7 41823 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41824 grub_video_get_active_render_target.
41825 (grub_video_adapter): Added unmap_color and get_active_render_target.
41826
f19dbdb7 41827 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41828 grub_video_get_active_render_target.
41829 (grub_video_get_info): Changed method to accept NULL pointer as an
41830 argument to allow detection of active video adapter.
41831
41832 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41833 grub_video_vbe_unmap_color_int.
41834 Added grub_video_vbe_unmap_color and
41835 grub_video_vbe_get_active_render_target.
41836 (grub_video_vbe_adapter): Added unmap_color and
41837 get_active_render_target.
41838
f19dbdb7 41839 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41840 with grub_video_vbe_unmap_color_int.
41841
41842 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41843 (DEFAULT_NORMAL_COLOR): Likewise.
41844 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41845 (DEFAULT_FG_COLOR): Removed.
41846 (DEFAULT_BG_COLOR): Likewise.
41847 (DEFAULT_CURSOR_COLOR): Changed value.
41848 (grub_virtual_screen): Added standard_color_setting,
41849 normal_color_setting, highlight_color_setting and term_color.
41850 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41851 (bitmap_width): Added.
41852 (bitmap_height): Likewise.
41853 (bitmap): Likewise.
41854 (set_term_color): Likewise.
41855 (grub_virtual_screen_setup): Changed to use new terminal coloring
41856 settings.
41857 (grub_gfxterm_init): Added init for bitmap.
41858 (grub_gfxterm_fini): Added destroy for bitmap.
41859 (redraw_screen_rect): Updated to use background bitmap and new
41860 terminal coloring.
41861 (scroll_up): Added optimization for case when there is no bitmap.
41862 (grub_gfxterm_cls): Fixed to use correct background color.
41863 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41864 coloring.
41865 (grub_virtual_screen_setcolor): Likewise.
41866 (grub_virtual_screen_getcolor): Added.
41867 (grub_gfxterm_background_image_cmd): Likewise.
41868 (grub_video_term): Added setcolor and getcolor.
41869 (MOD_INIT): Added registration of background_image command.
41870 (MOD_TERM): Added unregistration for background_image command.
41871
c3c20931 418722007-12-30 Pavel Roskin <proski@gnu.org>
41873
41874 * loader/multiboot_loader.c: Fix multiboot command
41875 unregistration. Fix all typos in the word "multiboot".
41876
df266716 418772007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41878
41879 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41880 support for initrd names used in Fedora.
41881
fc6e896c 418822007-12-26 Bean <bean123ch@gmail.com>
41883
41884 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41885 (cpio_mod_SOURCES): New variable.
41886 (cpio_mod_CFLAGS): Likewise.
41887 (cpio_mod_LDFLAGS): Likewise.
41888
41889 * fs/cpio.c: New file.
41890
41891 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41892
41893 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41894
41895 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41896
41897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41898
533110ad 418992007-12-25 Robert Millan <rmh@aybabtu.com>
41900
41901 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41902 (grub_getcolor): New function.
41903
41904 * kern/term.c (grub_getcolor): New function.
41905 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41906 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41907 (print_entry): Set normal and highlight colors to
41908 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41909 respectively, before printing and restore them to old
41910 values afterwards.
41911 (grub_menu_init_page): Likewise. Fill an additional colored space
41912 that would otherwise be left blank.
41913
41914 * term/efi/console.c (grub_console_getcolor): New function.
41915 (struct grub_console_term.getcolor): New variable.
41916 * term/i386/pc/console.c (grub_console_getcolor): New function.
41917 (struct grub_console_term.getcolor): New variable.
41918 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41919 (struct grub_console_term.getcolor): New variable.
41920
41921 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41922 (struct grub_console_term.setcolor): Remove variable.
41923 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41924 (struct grub_console_term.setcolor): Remove variable.
41925 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41926 (struct grub_console_term.setcolor): Remove variable.
41927 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41928 (struct grub_console_term.setcolor): Remove variable.
41929
4931827f 419302007-12-25 Robert Millan <rmh@aybabtu.com>
41931
41932 * configure.ac: Search for possible unifont.hex locations, and
41933 define UNIFONT_HEX if found.
41934
41935 * Makefile.in (UNIFONT_HEX): Define variable.
41936 (DATA): Rename to ...
41937 (PKGLIB): ... this. Update all users.
41938 (PKGDATA): New variable.
41939 (pkgdata_IMAGES): Rename to ...
41940 (pkglib_IMAGES): ... this. Update all users.
41941 (pkgdata_MODULES): Rename to ...
41942 (pkglib_MODULES): ... this. Update all users.
41943 (pkgdata_PROGRAMS): Rename to ...
41944 (pkglib_PROGRAMS): ... this. Update all users.
41945 (pkgdata_DATA): Rename to ...
41946 (pkglib_DATA): ... this. Update all users.
41947 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41948 (unicode.pff, ascii.pff): New rules.
41949 (all-local): Add `$(PKGDATA)' dependency.
41950 (install-local): Process `$(PKGDATA)'.
41951
41952 * util/update-grub_lib.in (font_path): Search for *.pff files in
41953 a few more locations, including `${pkgdata}'.
41954
57e57e31 419552007-12-23 Robert Millan <rmh@aybabtu.com>
41956
41957 Patch from Bean <bean123ch@gmail.com>:
41958 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41959 `size'.
41960
4bc72aa9 419612007-12-21 Bean <bean123ch@gmail.com>
41962
41963 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41964 (ntfscomp_mod_SOURCES): New variable.
41965 (ntfscomp_mod_CFLAGS): Likewise.
41966 (ntfscomp_mod_LDFLAGS): Likewise.
41967
41968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41969 (grub_probe_SOURCES): Likewise.
41970 (grub_emu_SOURCES): Likewise.
41971
41972 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41973 (grub_emu_SOURCES): Likewise.
41974
41975 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41976 (grub_emu_SOURCES): Likewise.
41977
41978 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41979 (grub_emu_SOURCES): Likewise.
41980
41981 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41982 (read_run_list): Renamed to grub_ntfs_read_run_list.
41983 (decomp_nextvcn): Moved to ntfscomp.c.
41984 (decomp_getch): Likewise.
41985 (decomp_get16): Likewise.
41986 (decomp_block): Likewise.
41987 (read_block): Likewise.
41988 (read_data): Partially moved to ntfscomp.c.
41989 (fixup): Change unsigned to grub_uint16_t.
41990 (read_mft): Change unsigned long to grub_uint32_t.
41991 (read_attr): Likewise.
41992 (read_data): Likewise.
41993 (read_run_data): Likewise.
41994 (read_run_list): Likewise.
41995 (read_mft): Likewise.
41996
41997 * fs/ntfscomp.c: New file.
41998
41999 * include/grub/ntfs.h: New file.
42000
af680a87 420012007-12-16 Robert Millan <rmh@aybabtu.com>
42002
42003 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42004 IDE disk check, since Linux is known to support 20 IDE disks.
42005 Reported by Colin Watson.
42006
84be7599 420072007-12-15 Bean <bean123ch@gmail.com>
42008
42009 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42010 (lnxboot_img_SOURCES): New variable.
42011 (lnxboot_img_ASFLAGS): Likewise.
42012 (lnxboot_img_LDFLAGS): Likewise.
42013
42014 * boot/i386/pc/lnxboot.S: New file.
42015
6af9db01 420162007-11-24 Pavel Roskin <proski@gnu.org>
42017
42018 * configure.ac: Test if '--build-id=none' is supported by the
42019 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42020 objcopy to generate incorrect binary files (binutils
42021 2.17.50.0.18-1 as shipped by Fedora 8).
42022 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42023 linking, so that build ID doesn't break the test.
42024
7361cfe6 420252007-11-24 Pavel Roskin <proski@gnu.org>
42026
42027 * include/grub/i386/time.h: use "void" in the argument list
42028 of grub_cpu_idle().
42029 * include/grub/powerpc/time.h: Likewise.
42030 * include/grub/sparc64/time.h: Likewise.
42031
1593e10c 420322007-11-18 Christian Franke <franke@computer.org>
42033
42034 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42035 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42036 This fixes the problem that function keys did not work in grub-emu.
42037
3b8db1a8 420382007-11-18 Christian Franke <franke@computer.org>
42039
42040 * disk/host.c (grub_host_open): Remove attribute unused from
42041 name parameter. Add check for "host". This fixes the problem
42042 that grub-emu does not find partitions.
42043
2e29408d 420442007-11-18 Christian Franke <franke@computer.org>
42045
42046 * util/hostfs.c (is_dir): New function.
42047 (grub_hostfs_dir): Handle missing dirent.d_type case.
42048 (grub_hostfs_read): Add missing fseek().
42049 (grub_hostfs_label): Clear label pointer. This fixes a crash
42050 of grub-emu on "ls (host)".
42051
398cd047 420522007-11-18 Christian Franke <franke@computer.org>
42053
42054 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42055 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42056 to 64 bit boundary by default.
42057
c405c391 420582007-11-18 Bean <bean123ch@gmail.com>
42059
42060 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42061 (hexdump_mod_SOURCES): New variable.
42062 (hexdump_mod_CFLAGS): Likewise.
42063 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42064
c405c391 42065 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42066
42067 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42068
42069 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42070
42071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42072
42073 * include/grub/hexdump.h: New file.
42074
42075 * commands/hexdump.c: New file.
42076
5cced7fd 420772007-11-10 Robert Millan <rmh@aybabtu.com>
42078
42079 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42080 in grub_outb() calls.
42081 (beep_on): Likewise.
42082
8b714eb0 420832007-11-10 Christian Franke <franke@computer.org>
42084
42085 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42086 (grub_menu_run): Likewise.
42087
ce0f1839 420882007-11-10 Robert Millan <rmh@aybabtu.com>
42089
42090 * include/grub/i386/efi/machine.h: New file.
42091 * include/grub/i386/linuxbios/machine.h: Likewise.
42092 * include/grub/i386/pc/machine.h: Likewise.
42093 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42094 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42095
42096 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42097 (serial_hw_io_addr): New variable.
42098 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42099 instead of `(unsigned short *) 0x400'.
42100
270c237d 421012007-11-10 Bean <bean123ch@gmail.com>
42102
42103 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42104
a87783bf 421052007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42106
42107 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42108 (vga_mod_SOURCES): Added.
42109 (vga_mod_CFLAGS): Likewise.
42110 (vga_mod_LDFLAGS): Likewise.
42111
42112 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42113 grub_outb() calls.
42114 (set_map_mask): Likewise.
42115 (set_read_map): Likewise.
42116 (set_read_address): Likewise.
42117 (vga_font): Removed variable.
42118 (get_vga_glyph): Removed function.
42119 (invalidate_char): Likewise.
42120 (write_char): Changed to use grub_font_get_glyph() for font
42121 information.
42122 (grub_vga_putchar): Likewise.
42123 (grub_vga_getcharwidth): Likewise.
42124
6433b448 421252007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42126
42127 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42128 flags.
42129 (pxeboot_img_LDFLAGS): Likewise.
42130 (diskboot_img_LDFLAGS): Likewise.
42131 (kernel_img_LDFLAGS): Likewise.
42132
49178511 421332007-11-06 Robert Millan <rmh@aybabtu.com>
42134
42135 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42136 in grub_outb() calls.
42137 (serial_hw_init): Likewise.
42138
53b052de 421392007-11-05 Robert Millan <rmh@aybabtu.com>
42140
42141 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42142 spaces. Skip non-regular files.
42143
5ab33bba 421442007-11-05 Robert Millan <rmh@aybabtu.com>
42145
42146 * kern/disk.c (grub_disk_firmware_fini)
42147 (grub_disk_firmware_is_tainted): New variables.
42148
42149 * include/grub/disk.h (grub_disk_firmware_fini)
42150 (grub_disk_firmware_is_tainted): Likewise.
42151
42152 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42153 (grub_disk_biosdisk_fini): ... to here.
42154 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42155 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42156 is set. Register grub_disk_biosdisk_fini() in
42157 `grub_disk_firmware_fini'.
42158
42159 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42160 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42161 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42162 to finish existing firmware disk interface.
42163
42164 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42165 (ata_mod_SOURCES): New variable.
42166 (ata_mod_CFLAGS): Likewise.
42167 (ata_mod_LDFLAGS): Likewise.
42168
0149ab7c 421692007-11-05 Robert Millan <rmh@aybabtu.com>
42170
42171 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42172 (grub_ata_wait): Reimplement using grub_millisleep().
42173
42174 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42175 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42176
be7ac41e 421772007-11-03 Marco Gerards <marco@gnu.org>
42178
42179 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42180 (CRTC_ADDR_PORT): New macro.
42181 (CRTC_DATA_PORT): Likewise.
42182 (CRTC_CURSOR): Likewise.
42183 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42184 (CRTC_CURSOR_ADDR_LOW): Likewise.
42185 (update_cursor): New function.
42186 (grub_console_real_putchar): Call `update_cursor'.
42187 (grub_console_gotoxy): Likewise.
42188 (grub_console_cls): Set the default color when clearing the
42189 screen.
42190 (grub_console_setcursor): Implemented.
42191
bb06ab2e 421922007-11-03 Marco Gerards <marco@gnu.org>
42193
42194 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42195 become activate.
42196 (grub_ata_pio_write): Likewise.
42197
42198 (grub_atapi_identify): Wait after issuing an ATA command.
42199 (grub_atapi_packet): Likewise.
42200 (grub_ata_identify): Likewise.
42201 (grub_ata_readwrite): Likewise.
42202
cf8f780b 422032007-11-03 Marco Gerards <marco@gnu.org>
42204
42205 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42206 (grub_ata_pio_write): Likewise.
42207 (grub_ata_readwrite): Use `grub_error', instead of
42208 returning `grub_errno'.
42209
ed649e54 422102007-11-03 Marco Gerards <marco@gnu.org>
42211
42212 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42213 grub_ata_pio_write once for every single sector, instead of for
42214 multiple sectors.
42215
ca25d8f0 422162007-10-31 Robert Millan <rmh@aybabtu.com>
42217
42218 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42219
42220 * conf/i386-linuxbios.rmk: New file.
42221
42222 * kern/i386/pc/hardware.c: Likewise.
42223 * term/i386/pc/at_keyboard.c: Likewise.
42224 * term/i386/pc/vga_text.c: Likewise.
42225
42226 * include/grub/i386/linuxbios/boot.h: Likewise.
42227 * include/grub/i386/linuxbios/console.h: Likewise.
42228 * include/grub/i386/linuxbios/init.h: Likewise.
42229 * include/grub/i386/linuxbios/kernel.h: Likewise.
42230 * include/grub/i386/linuxbios/loader.h: Likewise.
42231 * include/grub/i386/linuxbios/memory.h: Likewise.
42232 * include/grub/i386/linuxbios/serial.h: Likewise.
42233 * include/grub/i386/linuxbios/time.h: Likewise.
42234
42235 * kern/i386/linuxbios/init.c: Likewise.
42236 * kern/i386/linuxbios/startup.S: Likewise.
42237 * kern/i386/linuxbios/table.c: Likewise.
42238
e911ecc1 422392007-10-31 Marco Gerards <marco@gnu.org>
42240
42241 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42242 (ata_mod_SOURCES): New variable.
42243 (ata_mod_CFLAGS): Likewise.
42244 (ata_mod_LDFLAGS): Likewise.
42245
42246 * disk/ata.c: New file.
42247
42248 * include/grub/disk.h (grub_disk_dev_id): Add
42249 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42250
7f66d0e0 422512007-10-31 Robert Millan <rmh@aybabtu.com>
42252
42253 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42254 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42255
42256 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42257 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42258
42259 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42260 `<grub/types.h>'.
42261
42262 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42263
5cd7dd46 422642007-10-27 Robert Millan <rmh@aybabtu.com>
42265
3236ca65 42266 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42267
2ebfc90f 422682007-10-22 Robert Millan <rmh@aybabtu.com>
42269
42270 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42271 `"../realmode.S"'.
42272 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42273
73fcb0f3 422742007-10-22 Robert Millan <rmh@aybabtu.com>
42275
42276 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42277 (pkgdata_MODULES): Add `biosdisk.mod'.
42278 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42279 variables.
42280
42281 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42282 (grub_biosdisk_init): Replace with ...
42283 (GRUB_MOD_INIT(biosdisk)): ... this.
42284 (grub_biosdisk_fini): Replace with ...
42285 (GRUB_MOD_FINI(biosdisk)): ... this.
42286
42287 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42288 (grub_machine_init): Remove call to grub_biosdisk_init().
42289 (grub_machine_fini): Remove call to grub_machine_fini().
42290
42291 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42292
3381d274 422932007-10-22 Robert Millan <rmh@aybabtu.com>
42294
42295 * include/grub/time.h: New file.
42296 * include/grub/i386/time.h: Likewise.
42297 * include/grub/powerpc/time.h: Likewise.
42298 * include/grub/sparc64/time.h: Likewise.
42299
42300 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42301 instances to ...
42302 (KERNEL_MACHINE_TIME_HEADER): ... this.
42303 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42304 instances to ...
42305 (KERNEL_MACHINE_TIME_HEADER): ... this.
42306 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42307 instances to ...
42308 (KERNEL_MACHINE_TIME_HEADER): ... this.
42309
42310 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42311 (grub_millisleep): New function.
42312 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42313 (grub_millisleep): New function.
42314 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42315 Remove `grub/machine/time.h' include.
42316 (grub_millisleep): New function.
42317 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42318 Remove `grub/machine/time.h' include.
42319 (grub_millisleep): New function.
42320
42321 * include/grub/misc.h (grub_div_roundup): New function.
42322
42323 * kern/misc.c: Include `<grub/time.h>'.
42324 (grub_millisleep_generic): New function.
42325
42326 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42327 Add `time.h'.
42328 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42329 Add `time.h'.
42330 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42331 `machine/time.h'. Add `time.h'.
42332 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42333
a39a0312 423342007-10-21 Robert Millan <rmh@aybabtu.com>
42335
42336 * include/grub/misc.h (grub_max): New function.
42337
2aad70e2 423382007-10-21 Robert Millan <rmh@aybabtu.com>
42339
42340 * util/misc.c (grub_util_info): Call fflush() before returning.
42341
54b71c4b 423422007-10-20 Robert Millan <rmh@aybabtu.com>
42343
42344 * genmk.rb (Image): Copy `extra_flags' from here ...
42345 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42346
42347 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42348 to `argc' and `args' arguments.
42349
a979f513 423502007-10-17 Robert Millan <rmh@aybabtu.com>
42351
42352 * kern/i386/loader.S: New file.
42353
42354 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42355 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42356 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42357 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42358 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42359 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42360 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42361 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42362 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42363 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42364 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42365 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42366 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42367 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42368
42369 * kern/i386/realmode.S: New file.
42370
42371 * kern/i386/pc/startup.S (protstack): Moved from here ...
42372 * kern/i386/realmode.S (protstack)... to here.
42373 * kern/i386/pc/startup.S (gdt): Moved from here ...
42374 * kern/i386/realmode.S (gdt)... to here.
42375 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42376 * kern/i386/realmode.S (prot_to_real)... to here.
42377
42378 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42379 `kern/i386/realmode.S'.
42380
825fc8fd 423812007-10-17 Robert Millan <rmh@aybabtu.com>
42382
42383 * include/grub/i386/loader.h: New file.
42384
42385 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42386 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42387 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42388 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42389 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42390 * include/grub/i386/loader.h (grub_linux_prot_size)
42391 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42392 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42393 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42394 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42395
42396 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42397
e179b2f4 423982007-10-15 Robert Millan <rmh@aybabtu.com>
42399
42400 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42401 filesystem when dev->disk is unset.
42402 Do probe for filesystem even when dev->disk->has_partitions is set.
42403 In case a filesystem is found, always report it.
42404 In case it isn't, if dev->disk->has_partitions is set, report that
42405 a partition table was found instead of reporting that no filesystem
42406 could be identified.
42407
5db82af6 424082007-10-12 Robert Millan <rmh@aybabtu.com>
42409
42410 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42411 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42412
68f6ac74 42413 * include/grub/types.h (grub_host_to_target16): New macro.
42414 (grub_host_to_target32): Likewise.
42415 (grub_host_to_target64): Likewise.
42416 (grub_target_to_host16): Likewise.
42417 (grub_target_to_host32): Likewise.
42418 (grub_target_to_host64): Likewise.
5db82af6 42419
42420 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42421 Renamed from to ...
42422 (GRUB_MOD_ALIGN): ...this. Update all users.
42423
68f6ac74 42424 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42425 grub_host_to_target32.
42426 Replace grub_be_to_cpu32 with grub_target_to_host32.
42427 (load_modules): Likewise.
42428 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42429 Replace grub_be_to_cpu32 with grub_target_to_host32.
42430 Replace grub_cpu_to_be16 with grub_host_to_target16.
42431 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42432
3cf497cc 424332007-10-12 Robert Millan <rmh@aybabtu.com>
42434
42435 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42436 * util/elf/grub-mkimage.c: ... here.
42437
42438 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42439 `util/powerpc/ieee1275/grub-mkimage.c'.
42440
c8cc3692 424412007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42442
c8cc3692 42443 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42444 and make it easier to figure out.
42445 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42446 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42447 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42448 leave us with less than HEAP_MIN_SIZE total heap.
42449 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42450
5c58b791 424512007-10-03 Robert Millan <rmh@aybabtu.com>
42452
42453 * include/grub/i386/io.h: New file.
42454 * commands/i386/pc/play.c (inb): Removed.
42455 (outb): Removed.
42456 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42457 with grub_outb().
afcd2ef8 42458 * term/i386/pc/serial.c (inb): Removed.
42459 (outb): Removed.
42460 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42461 with grub_outb().
42462 * term/i386/pc/vga.c (inb): Removed.
42463 (outb): Removed.
42464 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42465 with grub_outb().
5c58b791 42466
1a477ed6 424672007-10-02 Robert Millan <rmh@aybabtu.com>
42468
42469 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42471 Reported by Marcin Kurek.
42472
6b5d80fa 424732007-09-07 Robert Millan <rmh@aybabtu.com>
42474
42475 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42476 SmartFirmware version updates (as released by Sven Luther), and avoid
42477 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42478 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42479 known broken.
42480
5618afbf 424812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42482
42483 From Hitoshi Ozeki:
42484 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42485 when merging two regions.
42486
6139dcd9 424872007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42488
508e39ee 42489 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42490 * normal/completion.c (grub_normal_do_completion): Likewise.
42491 Reported by Hitoshi Ozeki.
42492
424932007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42494
6139dcd9 42495 Do not use devices at boot in chainloading.
f19dbdb7 42496
6139dcd9 42497 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42498 (boot_part_addr): Likewise.
42499 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42500 with BOOT_DRIVE and BOOT_PART_ADDR.
42501 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42502 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42503
38da6516 425042007-08-29 Robert Millan <rmh@aybabtu.com>
42505
42506 Patch from Simon Peter <dn.tlp@gmx.net>:
42507 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42508 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42509 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42510 util/i386/pc/grub-setup.c_DEPENDENCIES.
42511 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42512 util/grub-probe.c_DEPENDENCIES.
42513 * conf/powerpc-ieee1275.rmk: Likewise.
42514
29d0928c 425152007-08-28 Robert Millan <rmh@aybabtu.com>
42516
42517 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42518 to tell grub-mkdevicemap how to name devices.
42519 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42520 feature).
42521
42522 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42523 util/i386/get_disk_name.c.
42524 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42525 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42526 util/ieee1275/get_disk_name.c.
42527
42528 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42529
42530 * DISTLIST: Add util/i386/get_disk_name.c and
42531 util/ieee1275/get_disk_name.c.
42532
42533 * util/grub-mkdevicemap.c: Replace device naming logic with
42534 grub_util_get_disk_name() calls.
42535
5a0d3cca 425362007-08-20 Robert Millan <rmh@aybabtu.com>
42537
42538 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42539 (so that it works for both plural and singular quantities).
42540
8b72db2f 425412007-08-05 Robert Millan <rmh@aybabtu.com>
42542
42543 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42544 so that [xz] isn't taken into account when determining order.
42545
352466bf 425462007-08-02 Marco Gerards <marco@gnu.org>
42547
42548 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42549 `include/multiboot2.h', `include/grub/elfload.h',
42550 `include/multiboot.h', `include/grub/multiboot.h',
42551 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42552 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42553 `kern/elf.c', `loader/multiboot_loader.c',
42554 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42555 `loader/i386/pc/multiboot2.c',
42556 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42557 `util/i386/pc/grub-mkrescue.in'. Remove
42558 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42559 `include/grub/i386/pc/util/biosdisk.h' and
42560 `include/grub/powerpc/ieee1275/multiboot.h'.
42561
8f096014 425622007-08-02 Bean <bean123ch@gmail.com>
42563
42564 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42565 (ntfs_mod_SOURCES): New variable.
42566 (ntfs_mod_CFLAGS): Likewise.
42567 (ntfs_mod_LDFLAGS): Likewise.
42568
42569 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42570 (grub_probe_SOURCES): Likewise.
42571 (grub_emu_SOURCES): Likewise.
42572
42573 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42574 (grub_emu_SOURCES): Likewise.
42575
42576 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42577 (grub_emu_SOURCES): Likewise.
f19dbdb7 42578
8f096014 42579 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42580
42581 * fs/ntfs.c: New file.
42582
9959f7db 425832007-08-02 Bean <bean123ch@gmail.com>
42584
42585 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42586
42587 * file.h (grub_file): Likewise.
42588
42589 * fshelp.h (grub_fshelp_read_file): Likewise.
42590
42591 * util/i386/pc/grub-setup.c (setup): Likewise.
42592 (save_first_sector): Likewise.
42593 (save_blocklists): Likewise.
f19dbdb7 42594
9959f7db 42595 * fs/affs.c (grub_affs_read_file): Likewise.
42596
42597 * fs/ext2.c (grub_ext2_read_file): Likewise.
42598
42599 * fs/fat.c (grub_fat_read_data): Likewise.
42600
42601 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42602
42603 * fs/hfs.c (grub_hfs_read_file): Likewise.
42604
42605 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42606
42607 * fs/jfs.c (grub_jfs_read_file): Likewise.
42608
42609 * fs/minix.c (grub_minix_read_file): Likewise.
42610
42611 * fs/sfs.c (grub_sfs_read_file): Likewise.
42612
42613 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42614
9959f7db 42615 * fs/xfs.c (grub_xfs_read_file): Likewise.
42616
42617 * command/blocklist.c (read_blocklist): Likewise.
42618 (print_blocklist): Likewise.
42619
0a203f83 426202007-08-02 Marco Gerards <marco@gnu.org>
42621
42622 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42623 `util/hostfs.c'.
42624
42625 * disk/host.c: New file.
42626
42627 * util/hostfs.c: Likewise.
42628
42629 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42630 return `GRUB_ERR_BAD_FS'.
42631 * fs/sfs.c (grub_sfs_mount): Likewise.
42632 * fs/xfs.c (grub_xfs_mount): Likewise.
42633
42634 * include/grub/disk.h (enum grub_disk_dev_id): Add
42635 `GRUB_DISK_DEVICE_HOST_ID'.
42636
42637 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42638
e5dfe777 426392007-07-24 Jerone Young <jerone@gmail.com>
42640
f19dbdb7 42641 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42642 modules for compilation.
42643 * conf/powerpc-ieee1275.rmk: Likewise.
42644
42645 * include/multiboot.h: Move multiboot definitions to one file. Rename
42646 many definitions to not get grub specific.
42647 * include/multiboot2.h: Create header with multiboot 2 definitions.
42648 * include/grub/multiboot.h: Header for grub specific function
42649 prototypes and definitions.
42650 * include/grub/multiboot2.h: Likewise.
42651 * include/grub/multiboot_loader.h: Likewise.
42652 * include/grub/i386/pc/multiboot.h: Removed.
42653 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42654
42655 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42656 and 2 to allow for one multiboot and module commands.
42657 * loader/multiboot2.c: Add multiboot2 functionality.
42658 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42659 and definition names.
42660 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42661 2 functions.
42662 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42663 ieee1275 specific multiboot2 code.
42664
42665 * kern/i386/pc/startup.S: Change headers and definition names for
42666 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42667
daf0f0ba 426682007-07-22 Robert Millan <rmh@aybabtu.com>
42669
42670 * geninitheader.sh: Process file specified in first parameter rather
42671 than hardcoding grub_modules_init.lst.
fe6b695a 42672 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 42673 than hardcoding grub_modules_init.h.
42674
42675 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42676 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42677 grub_probe_init.[ch] and grub_setup_init.[ch].
42678
42679 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42680 grub_modules_init.h with grub_emu_init.h.
42681 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42682 grub_probe_init.[ch] files.
42683 * conf/i386-efi.rmk: Likewise.
42684 * conf/i386-pc.rmk: Likewise.
42685 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42686 grub_setup_init.[ch] files.
42687
42688 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42689 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42690 to initialize modules rather than a list of hardcoded functions.
42691 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42692 grub_init_all() to initialize modules rather than a list of hardcoded
42693 functions.
42694
54cdc1cc 426952007-07-22 Robert Millan <rmh@aybabtu.com>
42696
42697 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42698 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42699
ad0686cc 427002007-07-22 Robert Millan <rmh@aybabtu.com>
42701
42702 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42703 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42704 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42705 flag when running on SmartFirmware.
42706 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42707 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42708 was set.
42709
42710 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42711 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42712 rather than decreasing it.
42713
42714 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42715 there's not enough space to do it, fail in the same way as when it
42716 can't be done because there are no partitions.
42717
42718 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42719 when nvsetenv failed.
42720
969c02ec 427212007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42722
42723 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42724 because this rule is automatically generated.
42725 (grub-mkrescue): Removed for the same reason as above.
42726
5a79f472 427272007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42728
42729 Migrate to GNU General Public License Version 3.
f19dbdb7 42730
5a79f472 42731 * COPYING: Replaced with the plain text version of GPLv3.
42732
42733 * config.guess: Updated from gnulib.
42734 * config.sub: Likewise.
42735
42736 * geninit.sh: Output a GPLv3 copyright notice.
42737 * geninitheader.sh: Likewise.
42738 * genmodsrc.sh: Likewise.
42739 * gensymlist.sh.in: Likewise.
42740
42741 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42742 * boot/i386/pc/diskboot.S: Likewise.
42743 * boot/i386/pc/pxeboot.S: Likewise.
42744 * commands/blocklist.c: Likewise.
42745 * commands/boot.c: Likewise.
42746 * commands/cat.c: Likewise.
42747 * commands/cmp.c: Likewise.
42748 * commands/configfile.c: Likewise.
42749 * commands/echo.c: Likewise.
42750 * commands/help.c: Likewise.
42751 * commands/ls.c: Likewise.
42752 * commands/search.c: Likewise.
42753 * commands/terminal.c: Likewise.
42754 * commands/test.c: Likewise.
42755 * commands/videotest.c: Likewise.
42756 * commands/i386/cpuid.c: Likewise.
42757 * commands/i386/pc/halt.c: Likewise.
42758 * commands/i386/pc/play.c: Likewise.
42759 * commands/i386/pc/reboot.c: Likewise.
42760 * commands/i386/pc/vbeinfo.c: Likewise.
42761 * commands/i386/pc/vbetest.c: Likewise.
42762 * commands/ieee1275/halt.c: Likewise.
42763 * commands/ieee1275/reboot.c: Likewise.
42764 * commands/ieee1275/suspend.c: Likewise.
42765 * disk/loopback.c: Likewise.
42766 * disk/lvm.c: Likewise.
42767 * disk/raid.c: Likewise.
42768 * disk/efi/efidisk.c: Likewise.
42769 * disk/i386/pc/biosdisk.c: Likewise.
42770 * disk/ieee1275/ofdisk.c: Likewise.
42771 * font/manager.c: Likewise.
42772 * fs/affs.c: Likewise.
42773 * fs/ext2.c: Likewise.
42774 * fs/fat.c: Likewise.
42775 * fs/fshelp.c: Likewise.
42776 * fs/hfs.c: Likewise.
42777 * fs/hfsplus.c: Likewise.
42778 * fs/iso9660.c: Likewise.
42779 * fs/jfs.c: Likewise.
42780 * fs/minix.c: Likewise.
42781 * fs/sfs.c: Likewise.
42782 * fs/ufs.c: Likewise.
42783 * fs/xfs.c: Likewise.
42784 * hello/hello.c: Likewise.
42785 * include/grub/acorn_filecore.h: Likewise.
42786 * include/grub/arg.h: Likewise.
42787 * include/grub/bitmap.h: Likewise.
42788 * include/grub/boot.h: Likewise.
42789 * include/grub/cache.h: Likewise.
42790 * include/grub/device.h: Likewise.
42791 * include/grub/disk.h: Likewise.
42792 * include/grub/dl.h: Likewise.
42793 * include/grub/elfload.h: Likewise.
42794 * include/grub/env.h: Likewise.
42795 * include/grub/err.h: Likewise.
42796 * include/grub/file.h: Likewise.
42797 * include/grub/font.h: Likewise.
42798 * include/grub/fs.h: Likewise.
42799 * include/grub/fshelp.h: Likewise.
42800 * include/grub/gzio.h: Likewise.
42801 * include/grub/hfs.h: Likewise.
42802 * include/grub/kernel.h: Likewise.
42803 * include/grub/loader.h: Likewise.
42804 * include/grub/lvm.h: Likewise.
42805 * include/grub/misc.h: Likewise.
42806 * include/grub/mm.h: Likewise.
42807 * include/grub/net.h: Likewise.
42808 * include/grub/normal.h: Likewise.
42809 * include/grub/parser.h: Likewise.
42810 * include/grub/partition.h: Likewise.
42811 * include/grub/pc_partition.h: Likewise.
42812 * include/grub/raid.h: Likewise.
42813 * include/grub/rescue.h: Likewise.
42814 * include/grub/script.h: Likewise.
42815 * include/grub/setjmp.h: Likewise.
42816 * include/grub/symbol.h: Likewise.
42817 * include/grub/term.h: Likewise.
42818 * include/grub/terminfo.h: Likewise.
42819 * include/grub/tparm.h: Likewise.
42820 * include/grub/types.h: Likewise.
42821 * include/grub/video.h: Likewise.
42822 * include/grub/efi/api.h: Likewise.
42823 * include/grub/efi/chainloader.h: Likewise.
42824 * include/grub/efi/console.h: Likewise.
42825 * include/grub/efi/console_control.h: Likewise.
42826 * include/grub/efi/disk.h: Likewise.
42827 * include/grub/efi/efi.h: Likewise.
42828 * include/grub/efi/pe32.h: Likewise.
42829 * include/grub/efi/time.h: Likewise.
42830 * include/grub/i386/linux.h: Likewise.
42831 * include/grub/i386/setjmp.h: Likewise.
42832 * include/grub/i386/types.h: Likewise.
42833 * include/grub/i386/efi/kernel.h: Likewise.
42834 * include/grub/i386/efi/loader.h: Likewise.
42835 * include/grub/i386/efi/time.h: Likewise.
42836 * include/grub/i386/pc/biosdisk.h: Likewise.
42837 * include/grub/i386/pc/boot.h: Likewise.
42838 * include/grub/i386/pc/chainloader.h: Likewise.
42839 * include/grub/i386/pc/console.h: Likewise.
42840 * include/grub/i386/pc/init.h: Likewise.
42841 * include/grub/i386/pc/kernel.h: Likewise.
42842 * include/grub/i386/pc/loader.h: Likewise.
42843 * include/grub/i386/pc/memory.h: Likewise.
42844 * include/grub/i386/pc/multiboot.h: Likewise.
42845 * include/grub/i386/pc/serial.h: Likewise.
42846 * include/grub/i386/pc/time.h: Likewise.
42847 * include/grub/i386/pc/vbe.h: Likewise.
42848 * include/grub/i386/pc/vbeblit.h: Likewise.
42849 * include/grub/i386/pc/vbefill.h: Likewise.
42850 * include/grub/i386/pc/vbeutil.h: Likewise.
42851 * include/grub/i386/pc/vga.h: Likewise.
42852 * include/grub/ieee1275/ieee1275.h: Likewise.
42853 * include/grub/ieee1275/ofdisk.h: Likewise.
42854 * include/grub/powerpc/libgcc.h: Likewise.
42855 * include/grub/powerpc/setjmp.h: Likewise.
42856 * include/grub/powerpc/types.h: Likewise.
42857 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42858 * include/grub/powerpc/ieee1275/console.h: Likewise.
42859 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42860 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42861 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42862 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42863 * include/grub/powerpc/ieee1275/time.h: Likewise.
42864 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42865 * include/grub/sparc64/libgcc.h: Likewise.
42866 * include/grub/sparc64/setjmp.h: Likewise.
42867 * include/grub/sparc64/types.h: Likewise.
42868 * include/grub/sparc64/ieee1275/console.h: Likewise.
42869 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42870 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42871 * include/grub/sparc64/ieee1275/time.h: Likewise.
42872 * include/grub/util/biosdisk.h: Likewise.
42873 * include/grub/util/getroot.h: Likewise.
42874 * include/grub/util/lvm.h: Likewise.
42875 * include/grub/util/misc.h: Likewise.
42876 * include/grub/util/raid.h: Likewise.
42877 * include/grub/util/resolve.h: Likewise.
42878 * io/gzio.c: Likewise.
42879 * kern/device.c: Likewise.
42880 * kern/disk.c: Likewise.
42881 * kern/dl.c: Likewise.
42882 * kern/elf.c: Likewise.
42883 * kern/env.c: Likewise.
42884 * kern/err.c: Likewise.
42885 * kern/file.c: Likewise.
42886 * kern/fs.c: Likewise.
42887 * kern/loader.c: Likewise.
42888 * kern/main.c: Likewise.
42889 * kern/misc.c: Likewise.
42890 * kern/mm.c: Likewise.
42891 * kern/parser.c: Likewise.
42892 * kern/partition.c: Likewise.
42893 * kern/rescue.c: Likewise.
42894 * kern/term.c: Likewise.
42895 * kern/efi/efi.c: Likewise.
42896 * kern/efi/init.c: Likewise.
42897 * kern/efi/mm.c: Likewise.
42898 * kern/i386/dl.c: Likewise.
42899 * kern/i386/efi/init.c: Likewise.
42900 * kern/i386/efi/startup.S: Likewise.
42901 * kern/i386/pc/init.c: Likewise.
42902 * kern/i386/pc/lzo1x.S: Likewise.
42903 * kern/i386/pc/startup.S: Likewise.
42904 * kern/ieee1275/ieee1275.c: Likewise.
42905 * kern/powerpc/cache.S: Likewise.
42906 * kern/powerpc/dl.c: Likewise.
42907 * kern/powerpc/ieee1275/cmain.c: Likewise.
42908 * kern/powerpc/ieee1275/crt0.S: Likewise.
42909 * kern/powerpc/ieee1275/init.c: Likewise.
42910 * kern/powerpc/ieee1275/openfw.c: Likewise.
42911 * kern/sparc64/cache.S: Likewise.
42912 * kern/sparc64/dl.c: Likewise.
42913 * kern/sparc64/ieee1275/init.c: Likewise.
42914 * kern/sparc64/ieee1275/openfw.c: Likewise.
42915 * loader/efi/chainloader.c: Likewise.
42916 * loader/efi/chainloader_normal.c: Likewise.
42917 * loader/i386/efi/linux.c: Likewise.
42918 * loader/i386/efi/linux_normal.c: Likewise.
42919 * loader/i386/pc/chainloader.c: Likewise.
42920 * loader/i386/pc/chainloader_normal.c: Likewise.
42921 * loader/i386/pc/linux.c: Likewise.
42922 * loader/i386/pc/linux_normal.c: Likewise.
42923 * loader/i386/pc/multiboot.c: Likewise.
42924 * loader/i386/pc/multiboot_normal.c: Likewise.
42925 * loader/powerpc/ieee1275/linux.c: Likewise.
42926 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42927 * normal/arg.c: Likewise.
42928 * normal/cmdline.c: Likewise.
42929 * normal/command.c: Likewise.
42930 * normal/completion.c: Likewise.
42931 * normal/execute.c: Likewise.
42932 * normal/function.c: Likewise.
42933 * normal/lexer.c: Likewise.
42934 * normal/main.c: Likewise.
42935 * normal/menu.c: Likewise.
42936 * normal/menu_entry.c: Likewise.
42937 * normal/misc.c: Likewise.
42938 * normal/parser.y: Likewise.
42939 * normal/script.c: Likewise.
42940 * normal/i386/setjmp.S: Likewise.
42941 * normal/powerpc/setjmp.S: Likewise.
42942 * normal/sparc64/setjmp.S: Likewise.
42943 * partmap/acorn.c: Likewise.
42944 * partmap/amiga.c: Likewise.
42945 * partmap/apple.c: Likewise.
42946 * partmap/gpt.c: Likewise.
42947 * partmap/pc.c: Likewise.
42948 * partmap/sun.c: Likewise.
42949 * term/gfxterm.c: Likewise.
42950 * term/terminfo.c: Likewise.
42951 * term/efi/console.c: Likewise.
42952 * term/i386/pc/console.c: Likewise.
42953 * term/i386/pc/serial.c: Likewise.
42954 * term/i386/pc/vesafb.c: Likewise.
42955 * term/i386/pc/vga.c: Likewise.
42956 * term/ieee1275/ofconsole.c: Likewise.
42957 * util/biosdisk.c: Likewise.
42958 * util/console.c: Likewise.
42959 * util/genmoddep.c: Likewise.
42960 * util/getroot.c: Likewise.
42961 * util/grub-emu.c: Likewise.
42962 * util/grub-mkdevicemap.c: Likewise.
42963 * util/grub-probe.c: Likewise.
42964 * util/lvm.c: Likewise.
42965 * util/misc.c: Likewise.
42966 * util/raid.c: Likewise.
42967 * util/resolve.c: Likewise.
42968 * util/update-grub.in: Likewise.
42969 * util/update-grub_lib.in: Likewise.
42970 * util/grub.d/00_header.in: Likewise.
42971 * util/grub.d/10_hurd.in: Likewise.
42972 * util/grub.d/10_linux.in: Likewise.
42973 * util/i386/efi/grub-install.in: Likewise.
42974 * util/i386/efi/grub-mkimage.c: Likewise.
42975 * util/i386/pc/grub-install.in: Likewise.
42976 * util/i386/pc/grub-mkimage.c: Likewise.
42977 * util/i386/pc/grub-mkrescue.in: Likewise.
42978 * util/i386/pc/grub-setup.c: Likewise.
42979 * util/i386/pc/misc.c: Likewise.
42980 * util/powerpc/ieee1275/grub-install.in: Likewise.
42981 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42982 * util/powerpc/ieee1275/misc.c: Likewise.
42983 * video/bitmap.c: Likewise.
42984 * video/video.c: Likewise.
42985 * video/i386/pc/vbe.c: Likewise.
42986 * video/i386/pc/vbeblit.c: Likewise.
42987 * video/i386/pc/vbefill.c: Likewise.
42988 * video/i386/pc/vbeutil.c: Likewise.
42989 * video/readers/tga.c: Likewise.
42990
3572d015 429912007-07-02 Robert Millan <rmh@aybabtu.com>
42992
42993 * conf/i386-efi.rmk: Replace obsolete reference to
42994 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42995 with util/getroot.c.
42996 * conf/powerpc-ieee1275.rmk: Likewise.
42997 * conf/sparc64-ieee1275.rmk: Likewise.
42998
42999 * util/grub-emu.c (main): Fix unchecked pointer handling.
43000
2c2a681b 430012007-07-02 Robert Millan <rmh@aybabtu.com>
43002
43003 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43004 invocation to fail, in order to support partition-less media.
43005
43006 * util/i386/pc/grub-install.in: Likewise.
43007
43008 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43009 which fs or partmap modules are needed (akin to its sister scripts).
43010
43011 Also use grub-probe to get rid of unportable /proc/mounts check.
43012
43013 Print the same informational message that the other scripts do, before
fe6b695a 43014 exiting.
2c2a681b 43015
6193defe 430162007-06-23 Robert Millan <rmh@aybabtu.com>
43017
fe6b695a 43018 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43019 a font file can be found and, if so, echo the GRUB path to it.
43020
43021 * util/update-grub.in: Handle multiple terminals depending on user
43022 input, platform availability and font file presence. Propagate
43023 variables of our findings to /etc/grub.d/ children.
43024
43025 * util/grub.d/00_header.in: Handle multiple terminals, based on
43026 environment setup by update-grub.
43027
eface1dc 430282007-06-23 Robert Millan <rmh@aybabtu.com>
43029
ba50d28f 43030 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43031
bf697e28 430322007-06-21 Robert Millan <rmh@aybabtu.com>
43033
43034 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43035 indicate end of data section in kernel image.
43036 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43037 GRUB_KERNEL_MACHINE_DATA_END.
43038
43039 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43040 space for it.
43041 * kern/i386/efi/startup.S: Likewise.
43042
43043 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43044 during image generation. Implement --prefix option to override this
43045 patch.
43046 * util/i386/efi/grub-mkimage.c: Likewise.
43047
43048 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43049 code to make path relative to its root into a separate function.
43050
43051 * util/i386/pc/grub-install.in: Use newly provided
43052 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43053 pass the result to grub-install --prefix.
43054
baa574b4 430552007-06-13 Robert Millan <rmh@aybabtu.com>
43056
43057 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43058 DEFAULT_DEVICE_MAP.
43059 * util/grub-emu.c: Use above definitions from misc.h instead of
43060 defining them.
43061 * util/grub-mkdevicemap.c: Likewise.
43062 * util/i386/pc/grub-setup.c: Likewise.
43063 * util/grub-probe.c: Likewise.
43064 (probe): Abort with grub_util_error() when either
43065 grub_guess_root_device or grub_util_get_grub_dev fails.
43066
0215dcbf 430672007-06-12 Robert Millan <rmh@aybabtu.com>
43068
43069 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43070 "pager" assignment.
43071 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43072 "pcdata".
43073 * util/grub-probe.c (probe): Likewise for "drive_name".
43074
8af2ab7b 430752007-06-11 Robert Millan <rmh@aybabtu.com>
43076
43077 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43078 not just the cdrom one.
43079
59d31694 430802007-06-11 Robert Millan <rmh@aybabtu.com>
43081
43082 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43083 Add --pkglibdir=DIR option to override pkglibdir.
43084 Mention --image-type=TYPE in help output.
43085 Fix --grub-mkimage (it was a no-op).
fe6b695a 43086 Abort gracefully when no parameter is given.
59d31694 43087
7ee367e4 430882007-06-11 Robert Millan <rmh@aybabtu.com>
43089
43090 * util/i386/pc/grub-mkrescue.in: New file.
43091 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43092 * Makefile.in: Handle bin_SCRIPTS.
43093
29b0ed46 430942007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43095
43096 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43097 list of video modes.
43098
c0f90770 430992007-06-06 Robert Millan <rmh@aybabtu.com>
43100
43101 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43102 file doesn't exist, or if it is in a filesystem grub can't read.
43103
43104 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43105 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43106 header comment to fit in 80 columns when the variables are resolved.
43107
43108 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43109 could be identified by update-grub. Remove redundant check for
fe6b695a 43110 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43111 handles that).
43112
fb36dc26 431132007-06-04 Robert Millan <rmh@aybabtu.com>
43114
43115 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43116
43117 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43118
43119 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43120
0c68c93e 431212007-06-04 Robert Millan <rmh@aybabtu.com>
43122
43123 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43124
43125 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43126 grub_apple_partition_map_fini.
43127
43128 * util/biosdisk.c
43129 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43130 to access >2 TiB disks).
43131
43132 Print disk->total_sectors with %llu instead of %lu, since this
43133 variable is always 64-bit (prevents wrong disk size from being displayed
43134 on either >2 TiB disk or big-endian CPU).
43135
43136 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43137 into a generic case that supports all (sane) partition maps.
43138
43139 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43140 breaks big-endian.
43141
43142 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43143 and grub_apple_partition_map_fini() after that.
43144
0f23eb74 431452007-06-01 Robert Millan <rmh@aybabtu.com>
43146
43147 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43148
43149 * util/grub.d/00_header.in: Only enable gfxterm when
43150 convert_system_path_to_grub_path() succeeds.
43151
42c71976 431522007-05-20 Robert Millan <rmh@aybabtu.com>
43153
43154 * util/update-grub_lib.in: New file.
43155 * DISTLIST: Add update-grub_lib.in.
43156 * conf/common.rmk: Generate update-grub_lib and install it in
43157 $(lib_DATA).
43158 * Makefile.in: Add install routine for $(lib_DATA).
43159
43160 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43161 function provided by update-grub_lib to support arbitrary paths of
43162 unifont.pff.
43163 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43164 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43165
5beb2291 431662007-05-19 Robert Millan <rmh@aybabtu.com>
43167
43168 * commands/i386/cpuid.c: New module.
43169 * DISTLIST: Add it.
43170 * conf/i386-efi.rmk: Enable cpuid.mod.
43171 * conf/i386-pc.rmk: Likewise.
43172
7262eca1 431732007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43174
43175 * kern/disk.c (grub_disk_read): Check return value of
43176 grub_realloc().
43177
260ba823 431782007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43179
43180 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43181 arrays.
43182 * disk/raid.c (grub_raid_open): Likewise.
43183
1ecb6cf2 431842007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43185
43186 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43187 stack instead of on the heap.
43188
43189 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43190 before doing a read on it.
43191
43192 * configure.ac: Only use -fno-stack-protector for the target
43193 environment.
f19dbdb7 43194
21c8cbb1 431952007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43196
43197 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43198 __attribute_ ((unused)) to mode_type argument.
43199
43200 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43201
21c8cbb1 43202 * kern/misc.c (memcmp): Fix prototype.
43203
43204 * include/grub/partition.h [GRUB_UTIL]
43205 (grub_gpt_partition_map_init): Add prototype.
43206 (grub_gpt_partition_map_fini): Likewise.
43207
43208 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43209 at the right place.
43210
43211 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43212 (grub_fat_read_data): Likewise.
43213 (grub_fat_find_dir): Likewise.
43214
43215 * font/manager.c (find_glyph): Make table a const.
43216 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43217
849d55d3 432182007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43219
43220 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43221 code, first search for device in /dev/mapper, then in /dev.
43222 (grub_util_get_grub_dev): New function.
43223 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43224 prototype.
43225 * util/grub-probe.c (probe): Remove check for RAID, call
43226 grub_util_get_grub_dev() instead of
43227 grub_util_biosdisk_get_grub_dev().
43228 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43229 grub_util_biosdisk_get_grub_dev().
43230 * util/i386/pc/grub-setup.c (main): Likewise.
43231
8fff7c2f 432322007-05-16 Robert Millan <rmh@aybabtu.com>
43233
43234 * DISTLIST: Update for the latest changes.
43235 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43236 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43237 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43238 grub/util/biosdisk.h.
43239 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43240 grub/util/biosdisk.h.
43241
48e12b52 432422007-05-16 Robert Millan <rmh@aybabtu.com>
43243
43244 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43245
46b9d128 432462007-05-16 Robert Millan <rmh@aybabtu.com>
43247
43248 * util/i386/efi/grub-install.in: New.
43249 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43250 newly added grub-install.
43251 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43252 include.
43253 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43254 grub/util/biosdisk.h.
43255 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43256 grub/util/biosdisk.h.
43257
2d1a40a9 432582007-05-16 Robert Millan <rmh@aybabtu.com>
43259
43260 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43261 * include/grub/util/biosdisk.h: ... here.
43262 * util/i386/pc/biosdisk.c: Moved to ...
43263 * util/biosdisk.c: ... here.
43264 * util/i386/pc/getroot.c: Moved to ...
43265 * util/getroot.c: ... here.
43266 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43267 * util/grub-mkdevicemap.c: ... here.
43268 * util/i386/pc/grub-probe.c: Moved to ...
43269 * util/grub-probe.c: ... here.
43270
9e26e3bc 432712007-05-15 Robert Millan <rmh@aybabtu.com>
43272
43273 * util/update-grub.in: Remove duplicated line in grub.cfg header
43274 message.
43275
57f96397 432762007-05-13 Robert Millan <rmh@aybabtu.com>
43277
43278 * util/update-grub.in: Fix a few assumptions about the devices holding
43279 /, /boot and /boot/grub being the same.
43280 * util/grub.d/00_header.in: Likewise.
43281 * util/grub.d/10_hurd.in: Likewise.
43282 * util/grub.d/10_linux.in: Likewise.
43283
43284 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43285 patterns. Use that to define the `.old' suffix as older than `'.
43286
43287 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43288
43289 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43290 the grub.cfg header message.
43291
2e610d62 432922007-05-11 Robert Millan <rmh@aybabtu.com>
43293
43294 * util/update-grub.in: Create device.map if it doesn't already exist,
43295 before attempting to run grub-probe.
43296 Check for grub-probe and grub-mkdevicemap with the same code
43297 grub-install is using.
43298 Remove test mode.
43299
3f6a10ef 433002007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43301
43302 * Makefile.in: Add the datarootdir autoconf variable.
43303
02e7b75e 433042007-05-09 Robert Millan <rmh@aybabtu.com>
43305
43306 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43307 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43308
75f396cc 433092007-05-07 Robert Millan <rmh@aybabtu.com>
43310
43311 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43312 determine partition map module.
43313 * util/i386/pc/grub-install.in: Use this feature to decide which
43314 partition module to load, instead of hardcoding pc and gpt.
43315
da65cb36 433162007-05-07 Robert Millan <rmh@aybabtu.com>
43317
43318 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43319 source directory differs from build directory.
43320
b57d6a91 433212007-05-05 Robert Millan <rmh@aybabtu.com>
43322
43323 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43324 initialisation.
43325
509d00f1 433262007-05-05 Robert Millan <rmh@aybabtu.com>
43327
43328 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43329
c48f23ef 433302007-05-05 Robert Millan <rmh@aybabtu.com>
43331
43332 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43333 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43334
20b97658 433352007-05-05 Robert Millan <rmh@aybabtu.com>
43336
43337 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43338 (grub_probe_SOURCES): Likewise.
43339 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43340 GPT and initialize dos_part and bsd_part accordingly.
43341 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43342 install_bsd_part.
43343 (main): Activate gpt module for use during partition identification,
43344 and deactivate it afterwards.
43345 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43346 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43347 partition identification, and deactivate it afterwards.
43348
99123174 433492007-05-05 Robert Millan <rmh@aybabtu.com>
43350
43351 * term/i386/pc/console.c (grub_console_fini): Call
43352 grub_term_set_current() before grub_term_unregister().
43353
ebd97f6e 433542007-05-04 Robert Millan <rmh@aybabtu.com>
43355
43356 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43357 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43358 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43359 and update-grub_DATA.
43360 * conf/common.rmk: Build and install update-grub components.
43361 * conf/common.mk: Regenerate.
43362 * util/update-grub.in: New. Core of update-grub.
43363 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43364 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43365 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43366 * util/grub.d/README: New. Document grub.d directory layout.
43367
b06a264d 433682007-05-01 Robert Millan <rmh@aybabtu.com>
43369
43370 * util/grub-emu.c: Move initialization functions
43371 grub_util_biosdisk_init() and grub_init_all() before
43372 grub_util_biosdisk_get_grub_dev(), which relies on them.
43373
41f0050e 433742007-04-19 Robert Millan <rmh@aybabtu.com>
43375
43376 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43377 it is used later.
43378
04582bb3 433792007-04-18 Jerone Young <jerone@gmail.com>
43380
f19dbdb7 43381 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43382 stanza.
43383
08db4632 433842007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43385
08db4632 43386 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43387 continue on and look for device node with real device name.
43388
801b76be 433892007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43390
fe6b695a 43391 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43392 ability.
43393 * Makefile.in: Add autoconf package transformation code.
43394 * util/i386/pc/grub-install.in: Likewise.
43395 * util/powerpc/ieee1275/grub-install.in: Likewise.
43396
6795c4e1 433972007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43398
43399 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43400 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43401 (EXT2_REVISION): Likewise.
43402 (EXT2_INODE_SIZE): Likewise.
43403 (struct grub_ext2_block_group): Added a missing member
43404 "used_dirs".
43405 (grub_ext2_read_inode): Divide by the inode size in a superblock
43406 instead of 128 to obtain INODES_PER_BLOCK.
43407 Use the macro EXT2_INODE_SIZE instead of directly using
43408 SBLOCK->INODE_SIZE.
43409
d70af616 434102007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43411
43412 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43413 superblock instead of the structure size to compute an
43414 offset. This fixes the problem that GRUB could not read a
43415 filesystem when inode size is different from 128-byte.
43416
3b801603 434172007-03-05 Marco Gerards <marco@gnu.org>
43418
43419 * normal/main.c (read_config_file): When "menu" is not set, create
43420 an initial context.
43421
4785bfe4 434222007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43423
43424 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43425 (HEAP_LIMIT): New macro.
43426 (grub_claim_heap): Claim memory up to `heaplimit'.
43427
a0cbb023 434282007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43429
43430 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43431 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43432 (_start): Likewise.
43433 (grub_arch_modules_addr): Return address after `_end'.
43434 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43435 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43436 (add_segments): Calculate `_end' from phdr size and location.
43437 (ALIGN_UP): Moved to ...
43438 * include/grub/misc.h: here.
43439 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43440 New macro.
43441 (GRUB_IEEE1275_MODULE_BASE): Removed.
43442
fd7d8eba 434432007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43444
43445 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43446 loop boundary.
43447
9b09e6fc 434482007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43449
43450 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43451 All users updated.
43452 (grub_elf64_load_hook_t): Likewise.
43453 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43454 debug output.
43455
3ce27299 434562007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43457
43458 * kern/mm.c: Update copyright.
43459 (grub_mm_debug): Correct syntax error.
43460 (grub_mm_dump_free): New function.
43461 (grub_debug_free): Call `grub_free'.
43462 * include/grub/mm.h: Update copyright.
43463 (grub_mm_dump_free): Add declaration.
43464
077d5fee 434652007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43466
43467 * include/grub/ieee1275/ieee1275.h: Update copyright.
43468 * kern/powerpc/ieee1275/init.c: Likewise.
43469 * kern/powerpc/ieee1275/openfw.c: Likewise.
43470
43471 * loader/powerpc/ieee1275/linux.c: Likewise.
43472 * include/grub/elfload.h: Likewise.
43473 * kern/elf.c: Likewise.
43474 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43475 callers.
43476 (grub_elf64_load): Likewise.
43477 (grub_elf32_load_segment): Move to a nested function.
43478 (grub_elf64_load_segment): Likewise.
43479
dc946850 434802007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43481
43482 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43483 prototype.
43484 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43485 (grub_heap_len): Likewise.
43486 (HEAP_SIZE): New macro.
43487 (grub_claim_heap): New function.
43488 (grub_machine_init): Don't claim heap directly. Call
43489 `grub_claim_heap'.
43490 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43491 (grub_available_iterate): New function.
43492
baa2a121 434932007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43494
43495 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43496 * configure.ac: Use it for testing the HOST and TARGET compilers.
43497
4fe9862e 434982006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43499
43500 * Makefile.in (enable_grub_emu): New variable.
43501 * configure.ac (--enable-grub-emu): New option.
43502 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43503 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43504 * conf/i386-pc.rmk: Likewise.
43505 * conf/powerpc-ieee1275.rmk: Likewise.
43506 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43507
a8aa5762 435082006-12-12 Marco Gerards <marco@gnu.org>
43509
43510 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43511
43512 * kern/env.c (grub_env_unset): Don't free the member `value' when
43513 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43514 pointer.
43515
43516 * normal/main.c (current_menu): Removed.
43517 (free_menu): Unset the `menu' environment variable.
43518 (grub_normal_menu_addentry): Make use of the environment variable
43519 `menu', instead of using the global `current_menu'. Allocate
43520 memory for the sourcecode of this entry.
43521 (read_config_file): New argument `nested', changed all callers.
43522 Only in the case of a new context, initialize a new menu. Set the
43523 `menu' environment variable.
43524 (grub_normal_execute): Don't set and unset the environment
43525 variable `menu' here anymore. Only free the menu when leaving the
43526 context.
43527
43528 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43529 leak.
43530
957b3a3e 435312006-12-11 Marco Gerards <marco@gnu.org>
43532
43533 * normal/menu_entry.c (run): Fix off by one bug so the last line
43534 is executed. Move the loader check to outside the loop.
43535
ef875714 435362006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43537
43538 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43539
4e739985 435402006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43541
43542 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43543 the number of sectors. Reported by Andrey Shuvikov
43544 <mr_hyro@yahoo.com>.
f19dbdb7 43545
790707f2 435462006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43547
43548 * kern/disk.c (grub_disk_read): When there is a read error, always
43549 try to read only the necessary data.
f19dbdb7 43550
790707f2 43551 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43552 disk/raid.c.
43553 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43554 prototype.
43555 [GRUB_UTIL] (grub_raid_fini): Likewise.
43556 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43557 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43558 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43559 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43560 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43561 and grub_raid_fini().
f19dbdb7 43562
03e58196 435632006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43564
43565 * include/grub/types.h (__unused): Rename to UNUSED.
43566 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43567 (grub_elf64_size): Likewise.
f19dbdb7 43568
ae4f23bf 435692006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43570
43571 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43572 grub_error_push and grub_error_pop in the error-handling path.
43573 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43574 length.
43575
2166cc83 435762006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43577
43578 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43579 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43581 (kernel_elf_SOURCES): Likewise.
43582 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43583 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43584 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43585 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43586 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43587 (elf_mod_SOURCES): New variable.
43588 (elf_mod_CFLAGS): Likewise.
43589 (elf_mod_LDFLAGS): Likewise.
43590 * include/grub/types.h (__unused): New macro.
43591 * include/grub/elfload.h: New file.
43592 * kern/elf.c: Likewise.
43593 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43594 (ELF32_LOADMASK): New macro.
43595 (ELF64_LOADMASK): Likewise.
43596 (vmlinux): Removed.
43597 (grub_linux_load32): New function.
43598 (grub_linux_load64): Likewise.
43599 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43600 Use grub_elf_t instead of grub_file_t.
43601
a09d5aa5 436022006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43603
43604 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43605 `catch_result' to struct set_color_args.
43606
d976fc51 436072006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43608
43609 * normal/menu.c: Include grub/script.h.
43610 * normal/menu_entry.c: Likewise.
43611 * include/grub/normal.h: Do not include grub/script.h.
43612
67507549 436132006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43614
43615 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43616
69203a99 436172006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43618
43619 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43620 disk.
43621 (grub_disk_close): Print debug messages when closing a disk.
43622 (grub_disk_read): Print debug messages when disk read fails.
43623 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43624 filesystem type.
43625 * kern/partition.c: Include misc.h.
43626 (grub_partition_iterate): Print debug messages when detecting
43627 partition type.
43628
e2b8278c 436292006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43630
43631 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43632 is negative.
43633 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43634
97b2f2ff 436352006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43636
43637 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43638 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43639
6555d655 436402006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43641
43642 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43643 instead of sizeof(lv). Patch by Michael Guntsche.
43644
4d42b77f 436452006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43646
43647 * disk/lvm.c: Rename VGS to VG_LIST.
43648 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43649 (grub_lvm_open): Likewise.
43650 Thanks to Michael Guntsche for finding this bug.
43651
5d74d927 436522006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43653
43654 * configure.ac (AC_INIT): Bumped to 1.95.
43655
a1bb27e4 436562006-10-14 Robert Millan <rmh@aybabtu.com>
43657
43658 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43659 with "/dev/.static/dev/md".
43660
e0994b8b 436612006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43662
43663 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43664 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43665 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43666 DRIVE_NAME are always freed.
43667
43668 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43669 DOS_PART, as a DOS partition is counted from one instead of zero
43670 now. Reported by Robert Millan.
43671
ddd5cee9 436722006-10-14 Robert Millan <rmh@aybabtu.com>
43673
43674 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43675 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43676 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43677 string returned by grub_guess_root_device.
43678 * util/i386/pc/grub-setup.c: Likewise.
43679 * util/i386/pc/grub-probefs.c: Likewise.
43680
43681 * util/i386/pc/grub-probefs.c: Rename to ...
43682 * util/i386/pc/grub-probe.c: ... this.
43683 * DISTLIST: Remove grub-probefs, add grub-probe.
43684 * conf/i386-efi.rmk: Likewise.
43685 * conf/i386-pc.rmk: Likewise.
43686 * util/i386/pc/grub-install.in: Likewise.
43687
43688 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43689 choose which information we want to print.
43690
2b002173 436912006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43692
43693 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43694 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43695 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43696 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43697 video/readers/tga.c and video/i386/pc/vbeutil.c.
43698
436992006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43700
43701 Added support for RAID and LVM.
f19dbdb7 43702
2b002173 43703 * disk/lvm.c: New file.
43704 * disk/raid.c: Likewise.
43705 * include/grub/lvm.h: Likewise.
f19dbdb7 43706 * include/grub/raid.h: Likewise.
2b002173 43707 * include/grub/util/lvm.h: Likewise.
43708 * include/grub/util/raid.h: Likewise.
43709 * util/lvm.c: Likewise.
43710 * util/raid.c: Likewise.
43711
43712 * include/grub/disk.h (grub_disk_dev_id): Add
43713 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43714 (grub_disk_get_size): New prototype.
43715 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43716 returns a partition.
43717 (grub_disk_get_size): New function.
f19dbdb7 43718
2b002173 43719 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43720 verbatim if grub_install_dos_part is -2.
43721
43722 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43723 and LVM devices.
43724
43725 * util/i386/pc/grub-setup.c (setup): New argument
43726 MUST_EMBED. Force embedding of GRUB when the argument is
43727 true. Close FILE before returning.
43728 (main): Add support for RAID and LVM.
f19dbdb7 43729
2b002173 43730 * conf/common.rmk: Add RAID and LVM modules.
43731 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43732 util/lvm.c.
43733 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43734
43735 * kern/misc.c (grub_strstr): New function.
43736 * include/grub/misc.h (grub_strstr): New prototype.
43737
050548d0 437382006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43739
43740 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43741
da849d2d 437422006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43743
43744 * kern/misc.c (grub_strtoull): Guess the base only if not
43745 specified.
43746
97b2f2ff 437472006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43748
43749 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43750 PowerMac support.
43751
97b2f2ff 437522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43753
43754 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43755
43756 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43757 Remove `flags' argument. All callers changed.
43758 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43759 (IEEE1275_IHANDLE_INVALID): New variable.
43760 (IEEE1275_CELL_INVALID): New variable.
43761 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43762 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43763 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43764 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43765 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43766 codes from Open Firmware. All callers updated.
43767 (grub_ieee1275_next_property): Directly return Open Firmware return
43768 code.
43769 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43770 Standardize error checking from `grub_ieee1275_get_property'.
43771 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43772 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43773
97b2f2ff 437742006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43775
43776 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43777 `instance_to_package_args' to `instance_to_path_args'.
43778
43779 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43780 `grub_ieee1275_chosen'.
43781
43782 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43783 `grub_ieee1275_interpret'.
43784
97b2f2ff 437852006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43786
43787 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43788
97b2f2ff 437892006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43790
43791 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43792 (__cmpdi): Likewise.
43793
43794 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43795 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43796 `grub_ssize_t'.
43797
02bb8acc 43798 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43799
43800 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43801 to type `grub_ssize_t'.
43802 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43803
7f9a8531 438042006-09-22 Marco Gerards <marco@gnu.org>
43805
43806 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43807 newlines.
43808
b5ef1102 438092006-09-22 Marco Gerards <marco@gnu.org>
43810
43811 * commands/echo.c: New file.
43812
43813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43814
43815 * conf/common.rmk (echo_mod_SOURCES): New variable.
43816 (echo_mod_CFLAGS): Likewise.
43817 (echo_mod_LDFLAGS): Likewise.
43818
2cff3677 438192006-09-22 Marco Gerards <marco@gnu.org>
43820
43821 * normal/main.c (get_line): Malloc memory instead of using
43822 preallocated memory. Removed the arguments `cmdline' and
43823 `max_len'. Updated all callers.
43824
6ba4688b 438252006-09-22 Marco Gerards <marco@gnu.org>
43826
43827 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43828 (normal_mod_DEPENDENCIES): Likewise.
43829
43830 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43831 (normal_mod_DEPENDENCIES): Likewise.
43832
43833 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43834
e02ac02c 438352006-09-22 Johan Rydberg <jrydberg@gnu.org>
43836
43837 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43838 programs.
43839 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43840 (normal_mod_DEPENDENCIES): Likewise.
43841 * conf/i386-pc.mk: Regenerate.
43842 * conf/i386-efi.mk: Likewise
43843 * conf/common.mk: Likewise.
43844 * conf/powerpc-ieee1275.mk: Likewise.
43845 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43846
8d252e44 438472006-09-22 Robert Millan <rmh@aybabtu.com>
43848
43849 Sync with i386 version.
43850 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43851 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43852
209bf7ac 438532006-09-21 Robert Millan <rmh@aybabtu.com>
43854
43855 Import from GRUB Legacy (lib/device.c):
43856 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43857 (init_device_map) [__linux__]: Add support for I2O devices.
43858
6b146090 438592006-09-14 Marco Gerards <marco@gnu.org>
43860
43861 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43862 `-melf_i386'.
43863
e38600a8 438642006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43865
43866 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43867 /boot/grub/*.lst.
78fa1790 43868
2952da5d 43869 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43870
2952da5d 43871 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43872 before adding it to device.map.
43873
01b82a64 438742006-08-15 Johan Rydberg <jrydberg@gnu.org>
43875
fe6b695a 43876 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43877 compiles a file; using the -MD option.
43878 * conf/common.mk: Regenerate.
43879 * conf/i386-pc.mk: Likewise.
43880 * conf/i386-efi.mk: Likewise.
43881 * conf/powerpc-ieee1275.mk: Likewise.
43882 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43883
1064790d 438842006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43885
43886 Move the prototypes of grub_setjmp and grub_longjmp to
43887 cpu/setjmp.h, so that each architecture may specify different
43888 attributes.
f19dbdb7 43889
1064790d 43890 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43891 (grub_longjmp): Likewise.
43892 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43893 (grub_longjmp): Likewise.
43894 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43895 (grub_longjmp): Likewise.
43896
43897 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43898 [!GRUB_UTIL] (grub_longjmp): Removed.
43899
29dda3ed 439002006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43901
43902 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43903 "color!" method does not return any value.
43904
ad2a06ed 439052006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43906
43907 * include/grub/bitmap.h: New file.
43908
43909 * include/grub/i386/pc/vbeutil.h: Likewise.
43910
43911 * video/bitmap.c: Likewise.
43912
43913 * video/readers/tga.c: Likewise.
43914
43915 * video/i386/pc/vbeutil.c: Likewise.
43916
43917 * commands/videotest.c: Code cleanup and updated to reflect to new
43918 video API.
43919
43920 * term/gfxterm.c: Likewise.
43921
43922 * video/video.c: Likewise.
43923
43924 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43925 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43926 (bitmap_mod_SOURCES): New entry.
43927 (bitmap_mod_CFLAGS): Likewise.
43928 (bitmap_mod_LDFLAGS): Likewise.
43929 (tga_mod_SOURCES): Likewise.
43930 (tga_mod_CFLAGS): Likewise.
43931 (tga_mod_LDFLAGS): Likewise.
43932
43933 * include/grub/video.h (grub_video_blit_operators): New enum type.
43934 (grub_video_render_target): Changed as forward declaration and moved
43935 actual definition to be video driver specific.
43936 (grub_video_adapter.blit_bitmap): Added blitting operator.
43937 (grub_video_adapter.blit_render_target): Likewise.
43938 (grub_video_blit_bitmap): Likewise.
43939 (grub_video_blit_render_target): Likewise.
43940
43941 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43942 driver specific render target definition.
43943 (grub_video_vbe_map_rgba): Added driver internal helper.
43944 (grub_video_vbe_unmap_color): Updated to use
43945 grub_video_i386_vbeblit_info.
43946 (grub_video_vbe_get_video_ptr): Likewise.
43947
43948 * include/grub/i386/pc/vbeblit.h
43949 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43950 grub_video_i386_vbeblit_info.
43951 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43952 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43953 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43954 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43955 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43956 (grub_video_i386_vbeblit_index_index): Likewise.
43957 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43958 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43959 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43960 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43961 operator.
43962 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43963 operator.
43964
43965 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43966 include/grub/i386/pc/vbeblit.h.
43967
43968 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43969 Updated to use grub_video_i386_vbeblit_info.
43970 (grub_video_i386_vbefill_R8G8B8): Likewise.
43971 (grub_video_i386_vbefill_index): Likewise.
43972 (grub_video_i386_vbefill): Added generic filler.
43973
43974 * video/i386/pc/vbefill.c: Updated to reflect changes on
43975 include/grub/i386/pc/vbefill.h.
43976
43977 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43978 grub_video_i386_vbeblit_info.
43979 (grub_video_vbe_unmap_color): Likewise.
43980 (grub_video_vbe_blit_glyph): Likewise.
43981 (grub_video_vbe_scroll): Likewise.
43982 (grub_video_vbe_draw_pixel): Removed function.
43983 (grub_video_vbe_get_pixel): Likewise.
43984 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43985 updated code to use it.
43986 (common_blitter): Added common blitter for render target and bitmap.
43987 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43988 (grub_video_vbe_blit_render_target): Likewise.
43989
bc8c036d 439902006-07-30 Johan Rydberg <jrydberg@gnu.org>
43991
43992 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43993 is in text mode if there is no console control protocol instance
43994 available.
43995
684a8eff 439962006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43997
43998 * include/grub/video.h: Code cleanup.
43999
44000 * include/grub/i386/pc/vbe.h: Likewise.
44001
44002 * video/i386/pc/vbe.c: Likewise.
44003
44004 * video/i386/pc/vbeblit.c: Likewise.
44005
44006 * video/i386/pc/vbefill.c: Likewise.
44007
44008 * video/video.c: Likewise. Also added more comments.
44009
5915059b 440102006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44011
44012 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44013 (struct grub_biosdisk_dap): Likewise.
44014
44015 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44016 linkage settings for all functions.
44017
90ce5d56 440182006-07-12 Marco Gerards <marco@gnu.org>
44019
44020 * configure.ac (--enable-mm-debug): Fix typo.
44021
44022 * genkernsyms.sh.in: Use proper quoting for `CC'.
44023
43e7f879 440242006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44025
44026 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44027 (normal_mod_ASFLAGS): Remove "-m32".
44028
4889bdec 440292006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44030
44031 * util/misc.c: Include config.h.
44032 [!HAVE_MEMALIGN]: Do not include malloc.h.
44033 (grub_memalign): Use posix_memalign, if present. Then, use
44034 memalign, if present. Otherwise, emit an error.
44035
44036 * util/grub-emu.c: Do not include malloc.h.
44037
44038 * include/grub/util/misc.h: Include unistd.h. This is required for
44039 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44040 D. Eades III <hde@foobar-qux.org>.
44041
44042 * configure.ac (AC_GNU_SOURCE): Added.
44043 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44044 type.
44045
fd39d4da 440462006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44047
44048 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44049 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44050
b786f3b5 440512006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44052
44053 * include/grub/types.h (grub_host_addr_t): Rename to
44054 grub_target_addr_t.
44055 (grub_host_off_t): Rename to grub_target_off_t.
44056 (grub_host_size_t): Rename to grub_target_size_t.
44057 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44058 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44059
44060 * include/grub/kernel.h (struct grub_module_header): Change type
44061 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44062 (grub_module_info): Likewise.
f19dbdb7 44063
051988bb 440642006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44065
44066 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44067 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44068 Velazquez <jesus.velazquez@gmail.com>.
44069
deae281b 440702006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44071
44072 Count partitions from 1 instead of 0 in the string representation
44073 of partitions. Still use 0-based internally.
f19dbdb7 44074
deae281b 44075 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44076 (sun_partition_map_iterate): Use grub_partition_t instead of
44077 struct grub_partition *. Cast DESC->START_CYLINDER to
44078 grub_uint64_t after converting the endian.
44079 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44080 (sun_partition_map_get_name): Add 1 to P->INDEX.
44081
44082 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44083 PCDATA->DOS_PART.
44084 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44085
44086 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44087 zero instead of one.
44088 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44089 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44090
44091 * partmap/apple.c (apple_partition_map_iterate): Change the type
44092 of POS to unsigned.
44093 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44094 (apple_partition_map_get_name): Add 1 into P->INDEX.
44095
44096 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44097 of POS to unsigned.
44098 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44099 calculate the offset of a partition.
44100 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44101 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44102
44103 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44104 SECTOR to grub_disk_addr_t.
44105 (acorn_partition_map_iterate): Likewise.
44106 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44107 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44108 top.
44109 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44110
44111 * kern/i386/pc/init.c (make_install_device): Add 1 into
44112 GRUB_INSTALL_DOS_PART.
44113
44114 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44115 conditional.
44116
524a1e6a 441172006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44118
44119 Clean up the code to support 64-bit addressing in disks and
44120 files. This change is not enough for filesystems yet.
f19dbdb7 44121
524a1e6a 44122 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44123 type of "start" to grub_uint64_t.
44124 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44125 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44126 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44127 convert addresses.
44128
44129 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44130 to grub_disk_addr_t.
44131
44132 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44133 string.
44134
44135 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44136
44137 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44138 to char *.
44139
44140 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44141
44142 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44143
44144 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44145
44146 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44147 to grub_off_t, to detect an error from grub_file_seek.
44148 (grub_multiboot_load_elf32): Likewise.
44149
44150 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44151 maximum unsigned long value when an overflow is detected.
44152 (grub_strtoull): New function.
44153 (grub_divmod64): Likewise.
44154 (grub_lltoa): use grub_divmod64.
44155
44156 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44157 grub_disk_addr_t.
44158 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44159 the pointer to next character. Use grub_strtoull instead of
44160 grub_strtoul.
44161 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44162 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44163 respectively.
44164
fe6b695a 44165 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44166 return value is signed.
44167 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44168 test if OFFSET is less than zero, as OFFSET is unsigned now.
44169
44170 * kern/disk.c (struct grub_disk_cache): Change the type of
44171 "sector" to grub_disk_addr_t.
44172 (grub_disk_cache_get_index): Change the type of SECTOR to
44173 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44174 unsigned after shifting.
44175 (grub_disk_cache_invalidate): Change the type of SECTOR to
44176 grub_disk_addr_t.
44177 (grub_disk_cache_unlock): Likewise.
44178 (grub_disk_cache_store): Likewise.
44179 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44180 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44181 grub_disk_addr_t and grub_uint64_t, respectively.
44182 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44183 body, as the value of OFFSET is tweaked by
44184 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44185 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44186 respectively.
44187 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44188 body, as the value of OFFSET is tweaked by
44189 grub_disk_check_range. Change the types of LEN and N to
44190 grub_size_t.
44191
44192 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44193 and "saved_offset" to grub_off_t.
44194 (test_header): Cast BUF to char *.
44195 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44196 to char *.
44197 (grub_gzio_read): Change the types of OFFSET and SIZE to
44198 grub_off_t and grub_size_t, respectively.
44199
44200 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44201 Removed.
44202 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44203 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44204 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44205 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44206 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44207
44208 * include/grub/types.h (grub_off_t): Unconditionally set to
44209 grub_uint64_t.
44210 (grub_disk_addr_t): Changed to grub_uint64_t.
44211
44212 * include/grub/partition.h (struct grub_partition): Change the
44213 types of "start", "len" and "offset" to grub_disk_addr_t,
44214 grub_uint64_t and grub_disk_addr_t, respectively.
44215 (grub_partition_get_start): Return grub_disk_addr_t.
44216 (grub_partition_get_len): Return grub_uint64_t.
44217
44218 * include/grub/misc.h (grub_strtoull): New prototype.
44219 (grub_divmod64): Likewise.
44220
44221 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44222 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44223 grub_off_t, respectively.
44224 All callers and references changed.
44225
44226 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44227 grub_size_t in "read".
44228 All callers and references changed.
44229
44230 * include/grub/file.h (struct grub_file): Change the types of
44231 "offset" and "size" to grub_off_t and grub_off_t,
44232 respectively. Change the type of SECTOR to grub_disk_addr_t in
44233 "read_hook".
44234 (grub_file_read): Change the type of LEN to grub_size_t.
44235 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44236 grub_off_t.
44237 (grub_file_size): Return grub_off_t.
44238 (grub_file_tell): Likewise.
44239 All callers and references changed.
44240
44241 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44242 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44243 "write".
44244 (struct grub_disk): Change the type of "total_sectors" to
44245 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44246 "read_hook".
524a1e6a 44247 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44248 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44249 (grub_disk_write): Likewise.
44250 All callers and references changed.
44251
44252 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44253 char * for grub_strncmp to silence gcc.
44254 (grub_iso9660_mount): Likewise.
44255 (grub_iso9660_mount): Likewise.
44256 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44257 return statement.
44258 (grub_iso9660_iterate_dir): Likewise.
44259 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44260
44261 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44262 LEN to grub_disk_addr_t and grub_size_t, respectively.
44263
44264 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44265
44266 * fs/jfs.c (grub_jfs_read_file): Likewise.
44267
44268 * fs/minix.c (grub_jfs_read_file): Likewise.
44269
44270 * fs/sfs.c (grub_jfs_read_file): Likewise.
44271
44272 * fs/ufs.c (grub_jfs_read_file): Likewise.
44273
44274 * fs/xfs.c (grub_jfs_read_file): Likewise.
44275
44276 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44277 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44278 respectively.
44279
44280 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44281 BLKNR to -1 instead of returning GRUB_ERRNO.
44282 (grub_ext2_read_file): Change the types of SECTOR and
44283 LEN to grub_disk_addr_t and grub_size_t, respectively.
44284
44285 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44286 LEN to grub_disk_addr_t and grub_size_t, respectively.
44287
44288 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44289 grub_file_read.
44290
44291 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44292 string. Do not cast SECTOR explicitly.
44293
44294 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44295 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44296 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44297 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44298 over 2TB and LBA mode is not supported, raise an error.
44299 (get_safe_sectors): New function.
44300 (grub_biosdisk_read): Use get_safe_sectors.
44301 (grub_biosdisk_write): Likewise.
44302
44303 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44304 (grub_efidisk_write): Likewise.
44305
44306 * disk/loopback.c (delete_loopback): Cosmetic changes.
44307 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44308 correctly.
44309 (grub_loopback_open): Likewise.
44310 (grub_loopback_read): Likewise. Also, change the type of POS to
44311 grub_off_t, and fix the usage of grub_memset.
44312
44313 * commands/i386/pc/play.c: Include grub/machine/time.h.
44314
44315 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44316 print FILE->SIZE.
44317
44318 * commands/configfile.c: Include grub/env.h.
44319
44320 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44321 GRUB_ERRNO directly instead. Change the type of POS to
44322 grub_off_t. Follow the coding standard.
44323
44324 * commands/blocklist.c: Include grub/partition.h.
44325 (grub_cmd_blocklist): Return an error if the underlying device is
44326 not a disk. Take the starting sector of a partition into account,
44327 if a partition is used.
44328
44329 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44330 a length field.
44331 (lba_mode): Support 64-bit addresses.
44332 (chs_mode): Likewise.
44333 (copy_buffer): Adapted to the new offsets of a length field and a
44334 segment field.
44335 (blocklist_default_start): Allocate 64-bit space.
44336
44337 * boot/i386/pc/boot.S (force_lba): Removed.
44338 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44339 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44340 space.
44341 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44342 is useless.
44343 (lba_mode): Refactored to support a 64-bit address. More size
44344 optimization.
44345 (setup_sectors): Likewise.
44346
53af98ad 443472006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44348
44349 * DISTLIST: Added include/grub/i386/linux.h. Removed
44350 include/grub/i386/pc/linux.h
44351
44352 * configure.ac (AC_INIT): Bumped to 1.94.
44353
44354 * config.guess: Updated from gnulib.
44355 * config.sub: Likewise.
44356 * install-sh: Likewise.
44357 * mkinstalldirs: Likewise.
44358
b4c1940a 443592006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44360
44361 * conf/common.rmk (grub_modules_init.lst): Depended on
44362 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44363 MODSRCFILES.
44364
44365 * genmk.rb (PModule::rule): Reverted the previous change.
44366
cfca1cfd 443672006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44368
44369 * conf/common.rmk (grub_modules_init.lst): Depends on
44370 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44371 that the target does not exist before producing.
44372 (grub_modules_init.h): Remove the target before generating.
44373 (grub_emu_init.c): Likewise.
44374
44375 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44376
aa6d7826 443772006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44378
44379 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44380 for the target-specific tests. Make sure that we also have the
44381 up-to-date target variables for those tests.
44382
26c607b9 443832006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44384
44385 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44386 (PModule::rule): Likewise.
44387
0162321a 443882006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44389
44390 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44391 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44392 target-specific flags should be prefixed.
44393 (PModule::rule): Likewise.
44394
6c826348 443952006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44396
44397 * configure.ac (CMP): Check if cmp is available explicitly.
44398
b977bf01 443992006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44400
44401 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44402 (target_cpu): New variable.
44403 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44404
b977bf01 44405 * util/i386/pc/grub-install.in (host_cpu): Removed.
44406 (target_cpu): New variable.
44407 (pkglibdir): Use target_cpu instead of host_cpu.
44408
44409 * util/genmoddep.c: Removed.
f19dbdb7 44410
b977bf01 44411 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44412 instead of GRUB_HOST_SIZEOF_VOID_P.
44413 * kern/dl.c: Likewise.
44414
44415 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44416 ...
44417 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44418 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44419 (GRUB_TARGET_SIZEOF_LONG): ... this.
44420 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44421 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44422 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44423 to ...
44424 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44425 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44426 (GRUB_TARGET_SIZEOF_LONG): ... this.
44427 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44428 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44429 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44430 to ...
44431 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44432 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44433 (GRUB_TARGET_SIZEOF_LONG): ... this.
44434 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44435 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44436
44437 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44438 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44439 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44440 instead of GRUB_HOST_SIZEOF_LONG.
44441 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44442 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44443 GRUB_CPU_WORDS_BIGENDIAN.
44444 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44445 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44446 grub_host_ssize_t.
44447
44448 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44449 (genmoddep_SOURCES): Likewise.
44450 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44451 (genmoddep_SOURCES): Likewise.
44452 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44453 (genmoddep_SOURCES): Likewise.
44454 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44455 Likewise.
44456 (genmoddep_SOURCES): Likewise.
44457
44458 * genmoddep.awk: New file.
44459
44460 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44461 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44462 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44463 (PModule::rule): Likewise.
44464 (Program::rule): Likewise.
44465 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44466 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44467 respectively.
44468
44469 * configure.ac: Rewritten intensively to use host and target
44470 instead of build and host, respectively.
44471
44472 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44473 (host_cpu): Removed.
44474 (target_cpu): New variable.
44475 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44476 (BUILD_CC): Removed.
44477 (BUILD_CFLAGS): Likewise.
44478 (BUILD_CPPFLAGS): Likewise.
44479 (TARGET_CC): New variable.
44480 (TARGET_CFLAGS): Likewise.
44481 (TARGET_CPPFLAGS): Likewise.
44482 (TARGET_LDFLAGS): Likewise.
44483 (AWK): Likewise.
44484 (include): Use target_cpu instead of host_cpu.
44485 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44486
b977bf01 44487 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44488
f09771a1 444892006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44490
44491 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44492 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44493 field 'false' to 'exec_on_false'.
44494 (grub_script_create_cmdif): Renamed argument names to reflect above
44495 changes.
44496
44497 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44498
44499 * normal/script.c (grub_script_create_cmdif): Likewise.
44500
118f4fb3 445012006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44502
44503 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44504 top.
44505 (grub_hfsplus_btree_recptr): Likewise.
44506 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44507 FILEBLOCK both to pass a block number and store next block
44508 number.
44509 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44510 overflow file correctly. Specify errors appropriately, because
44511 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44512 grub_hfsplus_btree_recptr to get the pointer to a found key.
44513 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44514 is found.
44515
44516 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44517 linux.mod.
44518 (_linux_mod_SOURCES): New variable.
44519 (_linux_mod_CFLAGS): Likewise.
44520 (_linux_mod_LDFLAGS): Likewise.
44521 (linux_mod_SOURCES): Likewise.
44522 (linux_mod_CFLAGS): Likewise.
44523 (linux_mod_LDFLAGS): Likewise.
44524
44525 * DISTLIST: Added loader/i386/efi/linux.c,
44526 loader/i386/efi/linux_normal.c and
44527 include/grub/i386/efi/loader.h.
44528
44529 * loader/i386/efi/linux.c: New file.
44530 * loader/i386/efi/linux_normal.c: Likewise.
44531 * include/grub/i386/efi/loader.h: Likewise.
44532
89a7d726 445332006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44534
44535 * commands/blocklist.c: New file.
44536
44537 * DISTLIST: Added commands/blocklist.c.
44538
44539 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44540 color for the background, and a darker color for the foreground.
89a7d726 44541 (grub_console_checkkey): Return READ_KEY.
44542 (grub_console_cls): Set the background to
44543 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44544
44545 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44546
44547 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44548 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44549
44550 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44551 prototype.
44552
44553 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44554 BG. The spec is wrong again.
44555
44556 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44557 prototype.
44558 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44559
44560 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44561 commands/blocklist.c.
44562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44563
89a7d726 44564 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44565 (blocklist_mod_SOURCES): New variable.
44566 (blocklist_mod_CFLAGS): Likewise.
44567 (blocklist_mod_LDFLAGS): Likewise.
44568
75c8f258 445692006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44570
44571 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44572 duplication.
44573 (lba_mode): Use %eax more intensively to reduce the code size.
44574
da2eb181 445752006-05-20 Marco Gerards <marco@gnu.org>
44576
44577 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44578
44579 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44580 for `menuentry'.
44581 (script): Accept leading newlines.
44582 (newlines): New rule to describe 0 or more newlines.
44583 (commands): Accept `command' with trailing newline. Fixed the
44584 order in which arguments were passed to `grub_script_add_cmd'.
44585 Accept commands separated by newlines.
44586 (function): Changed to accept newlines.
44587 (menuentry) Rewritten.
44588
44589 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44590 front of the list, instead of to the end.
44591
577b4050 445922006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44593
44594 * util/i386/pc/grub-install.in (bindir): New variable.
44595 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44596 Shaver <lbgwjl@gmail.com>.
44597
0d6e1189 445982006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44599
44600 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44601 grub/machine/linux.h
44602 * loader/i386/pc/linux.c: Likewise.
44603
44604 * include/grub/i386/pc/linux.h: Moved to ...
44605 * include/grub/i386/linux.h: ... here.
44606
44607 * include/grub/i386/linux.h (struct linux_kernel_params): New
44608 struct.
f19dbdb7 44609
31b86e9f 446102006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44611
44612 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44613 checking.
44614 (grub_video_vbe_blit_glyph): Likewise.
44615 (grub_video_vbe_blit_bitmap): Likewise.
44616 (grub_video_vbe_blit_render_target): Likewise.
44617
83b984de 446182006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44619
44620 * configure.ac (--with-platform): Properly quote the square
44621 brackets.
44622
5f0413bd 446232006-05-08 Marco Gerards <marco@gnu.org>
44624
44625 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44626 this...
44627 (kernel_elf_HEADERS): ...to this. Updated all users.
44628 (grubof_symlist.c): Renamed from this...
44629 (kernel_elf_symlist.c): ...to this. Updated all users.
44630 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44631 (grubof_SOURCES): Renamed from this...
44632 (kernel_elf_SOURCES): ...to this.
44633 (grubof_HEADERS): Renamed from this...
44634 (kernel_elf_HEADERS): ...to this.
44635 (grubof_CFLAGS): Renamed from this...
44636 (kernel_elf_CFLAGS): ...to this.
44637 (grubof_ASFLAGS): Renamed from this...
44638 (kernel_elf_ASFLAGS): ...to this.
44639 (grubof_LDFLAGS): Renamed from this...
44640 (kernel_elf_LDFLAGS): ...to this.
44641
44642 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44643 this...
44644 (kernel_elf_HEADERS): ...to this. Updated all users.
44645 (grubof_symlist.c): Renamed from this...
44646 (kernel_elf_symlist.c): ...to this. Updated all users.
44647 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44648 (grubof_SOURCES): Renamed from this...
44649 (kernel_elf_SOURCES): ...to this.
44650 (grubof_HEADERS): Renamed from this...
44651 (kernel_elf_HEADERS): ...to this.
44652 (grubof_CFLAGS): Renamed from this...
44653 (kernel_elf_CFLAGS): ...to this.
44654 (grubof_ASFLAGS): Renamed from this...
44655 (kernel_elf_ASFLAGS): ...to this.
44656 (grubof_LDFLAGS): Renamed from this...
44657 (kernel_elf_LDFLAGS): ...to this.
44658
44659 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44660 `kernel.elf' instead of `grubof'.
44661
05568c2e 446622006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44663
44664 Add --with-platform to configure. Use pkglibdir instead of
44665 pkgdatadir. This is reported by Roger Leigh.
44666
44667 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44668 (host_vendor): Likewise.
44669 (host_os): Likewise.
44670 (pkgdatadir): Likewise.
44671 (platform): New variable.
44672 (pkglibdir): Likewise.
44673 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 44674
05568c2e 44675 * util/i386/pc/grub-install.in (datadir): Removed.
44676 (host_vendor): Likewise.
44677 (host_os): Likewise.
44678 (pkgdatadir): Likewise.
44679 (platform): New variable.
44680 (pkglibdir): Likewise.
44681 Use PKGLIBDIR instead of PKGDATADIR.
44682
44683 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44684 instead of GRUB_DATADIR.
44685 (main): Likewise.
44686 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44687 (main): Likewise.
44688 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44689 (main): Likewise.
44690
44691 * configure.ac (--with-platform): New option.
44692 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44693
44694 * Makefile.in: Include a makefile based on PLATFORM instead of
44695 HOST_VENDOR.
44696 (pkgdatadir): Not appended by the machine type.
44697 (pkglibdir): Appended by the machine type.
44698 (host_vendor): Removed.
44699 (platform): New variable.
44700 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44701 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44702 (uninstall): Likewise.
44703
4e93851c 447042006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44705
44706 Use the environment context in the menu. Remove the commands
44707 "default" and "timeout", and use variables instead.
f19dbdb7 44708
4e93851c 44709 * normal/menu.c: Include grub/env.h.
44710 (print_entry): Cast TITLE to silence gcc.
44711 (get_timeout): New function.
44712 (set_timeout): Likewise.
44713 (get_entry_number): Likewise.
44714 (run_menu): Use a default entry, a fallback entry and a timeout
44715 in the environment variables "default", "fallback" and
44716 "timeout". Also, tweak the default entry if it is not within the
44717 current menu entries.
44718 (grub_menu_run): Use a fallback entry in the environment variable
44719 "fallback".
44720
44721 * normal/main.c (read_config_file): Do not initialize
44722 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44723 NEWMENU->TIMEOUT.
44724 (grub_normal_execute): Use a data slot to store the menu.
44725
44726 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44727 fallback_entry and timeout.
44728 (struct grub_menu_list): Removed.
44729 (grub_menu_list_t): Likewise.
44730 (struct grub_context): Likewise.
44731 (grub_context_t): Likewise.
44732 (grub_context_get): Likewise.
44733 (grub_context_get_current_menu): Likewise.
44734 (grub_context_push_menu): Likewise.
44735 (grub_context_pop_menu): Likewise.
44736 (grub_default_init): Likewise.
44737 (grub_default_fini): Likewise.
44738 (grub_timeout_init): Likewise.
44739 (grub_timeout_fini): Likewise.
44740
44741 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44742 and timeout.mod.
44743 (normal_mod_SOURCES): Removed normal/context.c.
44744
44745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44746 commands/default.c, commands/timeout.c and normal/context.c.
44747 (normal_mod_SOURCES): Removed normal/context.c.
44748
44749 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44750 commands/timeout.c and normal/context.c.
44751 (normal_mod_SOURCES): Removed normal/context.c.
44752
44753 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44754 commands/default.c, commands/timeout.c and normal/context.c.
44755 (normal_mod_SOURCES): Removed normal/context.c.
44756
44757 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44758 timeout.mod.
44759 (default_mod_SOURCES): Removed.
44760 (default_mod_CFLAGS): Likewise.
44761 (default_mod_LDFLAGS): Likewise.
44762 (timeout_mod_SOURCES): Removed.
44763 (timeout_mod_CFLAGS): Likewise.
44764 (timeout_mod_LDFLAGS): Likewise.
44765
44766 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44767 normal/context.c.
44768
44769 * commands/default.c: Removed.
44770 * commands/timeout.c: Likewise.
44771 * normal/context.c: Likewise.
44772
1eb9cc1d 447732006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44774
44775 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44776
385bd9c1 447772006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44778
44779 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44780 "next" to "prev" for readability.
44781 (struct grub_env_sorted_var): New struct.
44782 (grub_env_context): Renamed to ...
44783 (initial_context): ... this.
44784 (grub_env_var_context): Renamed to ...
44785 (current_context): ... this.
44786 (grub_env_find): Look only at CURRENT_CONTEXT.
44787 (grub_env_context_open): Rewritten to copy exported variables from
44788 previous context.
44789 (grub_env_context_close): Rewritten according to the new
44790 scheme. Also, add an assertion to prevent the initial context from
44791 removed.
44792 (grub_env_insert): Removed the code for the sorted list.
44793 (grub_env_remove): Likewise.
44794 (grub_env_export): Simply mark the variable with
44795 GRUB_ENV_VAR_GLOBAL.
44796 (grub_env_set): A cosmetic change for naming consistency.
44797 (grub_env_get): Likewise.
44798 (grub_env_unset): Likewise.
44799 (grub_env_iterate): Rewritten to sort variables within this
44800 function.
44801 (grub_register_variable_hook): Fixed for naming consistency. Call
44802 grub_env_find again, only if NAME is not found at the first time.
44803 (mangle_data_slot_name): New function.
44804 (grub_env_set_data_slot): Likewise.
44805 (grub_env_get_data_slot): Likewise.
44806 (grub_env_unset_data_slot): Likewise.
44807
44808 * include/grub/env.h (grub_env_var_type): New enum.
44809 (GRUB_ENV_VAR_LOCAL): New constant.
44810 (GRUB_ENV_VAR_GLOBAL): Likewise.
44811 (GRUB_ENV_VAR_DATA): Likewise.
44812 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44813 "type".
44814 (grub_env_set): Replace VAR with NAME for consistency.
44815 (grub_register_variable_hook): Likewise.
44816 (grub_env_export): Specify the name of the argument.
44817 (grub_env_set_data_slot): New prototype.
44818 (grub_env_get_data_slot): Likewise.
44819 (grub_env_unset_data_slot): Likewise.
44820
7f362539 448212006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44822
44823 Extend the loader so that GRUB can accept a loader which comes
44824 back to GRUB when a loaded image exits. Also, this change adds
44825 support for a chainloader on EFI.
f19dbdb7 44826
7f362539 44827 * term/efi/console.c: Include grub/misc.h.
44828 (grub_console_checkkey): Display a scan code on the top for
44829 debugging. This will be removed once the EFI port gets stable.
44830 Correct the scan code mapping.
44831
44832 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44833 allocate memory from larger regions, in order to reduce the number
44834 of allocated regions. Otherwise, the MacOSX loader panics.
44835 (filter_memory_map): Avoid less than 1MB for compatibility with
44836 other loaders.
44837 (add_memory_regions): Allocate from the tail of a region, if
44838 possible, to avoid allocating a region near to 1MB, for the MacOSX
44839 loader.
44840
44841 * kern/efi/init.c (grub_efi_set_prefix): Specify
44842 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44843
44844 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44845 argument IMAGE_HANDLE and specify it to get a loaded image.
44846 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44847 grub_efi_get_loaded_image.
fe6b695a 44848 (grub_efi_get_filename): Divide the length by the size of
7f362539 44849 grub_efi_char16_t.
44850 (grub_efi_get_device_path): New function.
44851 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44852 the length by the size of grub_efi_char16_t for a file path device
44853 path node.
44854
44855 * kern/loader.c (grub_loader_noreturn): New variable.
44856 (grub_loader_set): Accept a new argument NORETURN. Set
44857 GRUB_LOADER_NORETURN to NORETURN.
44858 All callers changed.
44859 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44860 grub_machine_fini.
44861
44862 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44863 prototype.
44864 (grub_efi_get_loaded_image): Take an argument to specify an image
44865 handle.
44866
44867 * include/grub/loader.h (grub_loader_set): Added one more argument
44868 NORETURN.
44869
44870 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44871 instead of grub_efi_open_protocol.
44872 (grub_efidisk_get_device_name): Likewise.
44873 (grub_efidisk_close): Print a newline.
44874 (grub_efidisk_get_device_handle): Fixed to use
44875 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44876 GRUB_EFI_DEVICE_PATH_TYPE.
44877
44878 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44879 * kern/efi/efi.c (device_path_guid): ... here.
44880
44881 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44882 chain.mod.
44883 (kernel_mod_HEADERS): Added efi/disk.h.
44884 (_chain_mod_SOURCES): New variable.
44885 (_chain_mod_CFLAGS): Likewise.
44886 (_chain_mod_LDFLAGS): Likewise.
44887 (chain_mod_SOURCES): Likewise.
44888 (chain_mod_CFLAGS): Likewise.
44889 (chain_mod_LDFLAGS): Likewise.
44890
44891 * DISTLIST: Added include/grub/efi/chainloader.h,
44892 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44893
44894 * include/grub/efi/chainloader.h: New file.
44895 * loader/efi/chainloader.c: Likewise.
44896 * loader/efi/chainloader_normal.c: Likewise.
44897
c0111d6e 448982006-04-30 Marco Gerards <marco@gnu.org>
44899
44900 * commands/configfile.c (grub_cmd_source): New function.
44901 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44902 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44903
df5341da 449042006-04-30 Marco Gerards <marco@gnu.org>
44905
44906 * normal/execute.c (grub_script_execute_cmd): Change the return
44907 type to `grub_err_t'. Correctly return the error.
44908 (grub_script_execute_cmdline): In case a command line is not a
44909 command or a function, try to interpret it as an assignment.
44910
f85934bd 449112006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44912
44913 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44914 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44915 skip a node whose name is obviously invalid as UTF-16,
44916 i.e. contains a NUL character. Stop the iteration when the last
44917 directory entry is found. Instead of using the return value of
44918 grub_hfsplus_btree_iterate_node, store the value in RET and use
44919 it, because the iterator can be stopped by the last directory
44920 entry.
44921
8f8a2cf8 449222006-04-30 Marco Gerards <marco@gnu.org>
44923
44924 * include/grub/env.h (grub_env_export): New prototype. Reported
44925 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44926
a27e84ce 449272006-04-30 Marco Gerards <marco@gnu.org>
44928
44929 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44930 size of the extents in a catalog file record.
44931
eaef0553 449322006-04-29 Marco Gerards <marco@gnu.org>
44933
44934 * commands/configfile.c (grub_cmd_configfile): Execute the
44935 configfile within its own context.
44936
44937 * include/grub/env.h (grub_env_context_open): New prototype.
44938 (grub_env_context_close): Likewise.
44939
44940 * kern/env.c (grub_env): Removed.
44941 (grub_env_sorted): Likewise.
44942 (grub_env_context): New variable.
44943 (grub_env_var_context): Likewise.
44944 (grub_env_find): Search both the active context and the global
44945 context.
44946 (grub_env_context_open): New function.
44947 (grub_env_context_close): Likewise.
44948 (grub_env_insert): Likewise.
44949 (grub_env_remove): Likewise.
44950 (grub_env_export): Likewise.
44951 (grub_env_set): Changed to use helper functions to avoid code
44952 duplication.
44953 (grub_env_iterate): Rewritten so both the current context and the
44954 global context are being used.
44955
44956 * normal/command.c (export_command): New function.
44957 (grub_command_init): Register the `export' function.
44958
7b455f4d 449592006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44960
44961 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44962 explicitly to suppress gcc's warnings.
44963 * fs/fat.c (grub_fat_find_dir): Likewise.
44964 (grub_fat_label): Likewise.
44965 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44966 (grub_xfs_mount): Likewise.
44967 (grub_xfs_label): Likewise.
44968 * fs/affs.c (grub_affs_mount): Likewise.
44969 (grub_affs_label): Likewise.
44970 (grub_affs_iterate_dir): Likewise.
44971 * fs/sfs.c (grub_sfs_mount): Likewise.
44972 (grub_sfs_iterate_dir): Likewise.
44973 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44974 * fs/hfs.c (grub_hfs_mount): Likewise.
44975 (grub_hfs_cmp_catkeys): Likewise.
44976 (grub_hfs_find_dir): Likewise.
44977 (grub_hfs_dir): Likewise.
44978 (grub_hfs_label): Likewise.
44979 * fs/jfs.c (grub_jfs_mount): Likewise.
44980 (grub_jfs_opendir): Likewise.
44981 (grub_jfs_getent): Likewise.
44982 (grub_jfs_lookup_symlink): Likewise.
44983 (grub_jfs_label): Likewise.
44984 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44985 (grub_hfsplus_iterate_dir): Likewise.
44986 (grub_hfsplus_btree_iterate_node): Made static.
44987
44988 * util/grub-emu.c (prefix): New variable.
44989 (grub_machine_set_prefix): New function.
44990 (main): Do not set the environment variable "prefix" here. Only
44991 set PREFIX, which is used later by grub_machine_set_prefix.
44992
44993 * include/grub/video.h: Do not include grub/symbol.h.
44994 (grub_video_register): Not exported. This symbol is not defined in
44995 the kernel.
44996 (grub_video_unregister): Likewise.
44997 (grub_video_iterate): Likewise.
44998 (grub_video_setup): Likewise.
44999 (grub_video_restore): Likewise.
45000 (grub_video_get_info): Likewise.
45001 (grub_video_get_blit_format): Likewise.
45002 (grub_video_set_palette): Likewise.
45003 (grub_video_get_palette): Likewise.
45004 (grub_video_set_viewport): Likewise.
45005 (grub_video_get_viewport): Likewise.
45006 (grub_video_map_color): Likewise.
45007 (grub_video_map_rgb): Likewise.
45008 (grub_video_map_rgba): Likewise.
45009 (grub_video_fill_rect): Likewise.
45010 (grub_video_blit_glyph): Likewise.
45011 (grub_video_blit_bitmap): Likewise.
45012 (grub_video_blit_render_target): Likewise.
45013 (grub_video_scroll): Likewise.
45014 (grub_video_swap_buffers): Likewise.
45015 (grub_video_create_render_target): Likewise.
45016 (grub_video_delete_render_target): Likewise.
45017 (grub_video_set_active_render_target): Likewise.
45018
45019 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45020 Undefined.
45021 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45022
45023 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45024 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45025 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45026 instead of $(srcdir)/genkernsyms.sh.
45027
45028 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45029 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45030 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45031 instead of $(srcdir)/genkernsyms.sh.
45032
45033 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45034 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45035 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45036 instead of $(srcdir)/genkernsyms.sh.
45037
45038 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45039 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45040 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45041 instead of $(srcdir)/genkernsyms.sh.
45042
45043 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45044 genkernsyms.sh.
45045
45046 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45047 genkernsyms.sh.
45048 (gensymlist.sh): New target.
45049 (genkernsyms.sh): Likewise.
45050
45051 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45052 genkernsyms.sh.in and gensymlist.sh.in.
45053
45054 * genkernsyms.sh: Removed.
45055 * gensymlist.sh: Likewise.
f19dbdb7 45056
7b455f4d 45057 * genkernsyms.sh.in: New file.
45058 * gensymlist.sh.in: Likewise.
45059
1885bb27 450602006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45061
45062 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45063 clobber "prefix", since we may have already set it manually.
45064
71538dff 450652006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45066
45067 * kern/misc.c (abort): New alias for grub_abort.
45068
2965c7cc 450692006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45070
45071 A new machine-specific function "grub_machine_set_prefix" is
45072 defined. This is called after loading modules, so that a prefix
45073 initialization can use modules. Also, this change adds an
45074 intensive debugging feature for the memory manager via the
45075 configure option "--enable-mm-debug".
f19dbdb7 45076
2965c7cc 45077 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45078 PART.LEN.
45079
45080 * kern/sparc64/ieee1275/init.c (abort): Removed.
45081 (grub_stop): Likewise.
45082 (grub_exit): New function.
45083 (grub_set_prefix): Renamed to ...
45084 (grub_machine_set_prefix): ... this.
45085 (grub_machine_init): Do not call grub_set_prefix.
45086
45087 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45088 (grub_machine_set_prefix): ... this.
45089 (grub_machine_init): Do not call grub_set_prefix.
45090
45091 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45092 (grub_machine_init): Do not set the prefix here.
45093
45094 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45095
45096 * kern/efi/init.c: Include grub/mm.h.
45097 (grub_efi_set_prefix): New function.
45098
45099 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45100 (grub_efi_get_filename): New function.
45101 (grub_print_device_path): Renamed to ...
45102 (grub_efi_print_device_path): ... this.
45103
45104 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45105 [MM_DEBUG] (grub_realloc): Likewise.
45106 [MM_DEBUG] (grub_free): Likewise.
45107 [MM_DEBUG] (grub_memalign): Likewise.
45108 [MM_DEBUG] (grub_mm_debug): New variable.
45109 [MM_DEBUG] (grub_debug_malloc): New function.
45110 [MM_DEBUG] (grub_debug_free): New function.
45111 [MM_DEBUG] (grub_debug_realloc): New function.
45112 [MM_DEBUG] (grub_debug_memalign): New function.
45113
45114 * kern/misc.c (grub_abort): Print a newline to distinguish
45115 the message.
45116
45117 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45118 grub_set_root_dev after loading modules. This is necessary when
45119 setting a prefix depends on modules.
45120
45121 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45122 (grub_efi_print_device_path): ... this.
45123 (grub_efi_get_filename): New prototype.
45124 (grub_efi_set_prefix): Likewise.
45125
45126 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45127 and grub/disk.h.
45128 (grub_efidisk_get_device_handle): New prototype.
45129 (grub_efidisk_get_device_name): Likewise.
45130
45131 * include/grub/mm.h: Include config.h.
45132 (MM_DEBUG): Removed.
45133 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45134 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45135 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45136 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45137 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45138 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45139 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45140 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45141 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45142
45143 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45144
45145 * disk/efi/efidisk.c: Include grub/partition.h.
45146 (iterate_child_devices): New function.
45147 (add_device): First, compare only last device path nodes, so that
45148 devices are sorted by the types.
45149 (grub_efidisk_get_device_handle): New function.
45150 (grub_efidisk_get_device_name): Likewise.
45151
45152 * configure.ac (--enable-mm-debug): New option to enable the
45153 memory manager debugging feature. This makes the binary much
45154 bigger, so is disabled by default.
45155
9cacaa17 451562006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45157
45158 Use grub_abort instead of grub_stop, and grub_exit must be
45159 define in each architecture now. Also, this change adds support
45160 for EFI disks.
f19dbdb7 45161
9cacaa17 45162 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45163 (grub_getkey): New function.
45164 (grub_term_get_current): Likewise.
45165
45166 * util/i386/pc/grub-setup.c: Include grub/term.h.
45167 (grub_getkey): New function.
45168 (grub_term_get_current): Likewise.
45169
45170 * util/misc.c (grub_stop): Renamed to ...
45171 (grub_exit): ... this.
45172
45173 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45174 (grub_exit): ... this.
45175 (grub_machine_init): Use grub_abort instead of abort.
45176 (grub_stop): Removed.
45177
45178 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45179 abort.
45180
45181 * kern/i386/pc/startup.S (grub_exit): New function.
45182 (cold_reboot): New label.
45183
45184 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45185 (grub_efi_init): Call grub_efidisk_init.
45186 (grub_efi_fini): Call grub_efidisk_fini.
45187
45188 * kern/efi/efi.c: Include grub/mm.h.
45189 (grub_efi_console_control_guid): Renamed to ...
45190 (console_control_guid): ... this.
45191 (grub_efi_loaded_image_guid): Renamed to ...
45192 (loaded_image_guid): ... this.
45193 (grub_efi_locate_handle): New function.
45194 (grub_efi_open_protocol): Likewise.
45195 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45196 GRUB_EFI_CONSOLE_CONTROL_GUID.
45197 (grub_efi_exit): Removed.
45198 (grub_stop): Likewise.
45199 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45200 (grub_exit): New function.
45201 (grub_print_device_path): Likewise.
45202
45203 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45204 (grub_enter_rescue_mode): Register "exit".
45205
45206 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45207 (grub_abort): New function.
45208
45209 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45210
45211 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45212
45213 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45214
45215 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45216 (grub_print_device_path): New prototype.
45217 (grub_efi_locate_handle): Likewise.
45218 (grub_efi_open_protocol): Likewise.
45219
45220 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45221 * disk/efi/efidisk.c: Likewise.
45222
45223 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45224
45225 * include/grub/efi/console_control.h
45226 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45227
45228 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45229 last 8 bytes as an array.
45230 (GRUB_EFI_DISK_IO_GUID): New macro.
45231 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45232 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45233 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45234 grub_uint8_t.
45235 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45236 (struct grub_efi_device_path): Rename the member "sub_type" to
45237 "subtype".
45238 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45239 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45240 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45241 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45242 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45243 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45244 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45245 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45246 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45247 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45248 (struct grub_efi_pci_device_path): New structure.
45249 (grub_efi_pci_device_path_t): New type.
45250 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45251 (struct grub_efi_pccard_device_path): New structure.
45252 (grub_efi_pccard_device_path_t): New type.
45253 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45254 (struct grub_efi_memory_mapped_device_path): New structure.
45255 (grub_efi_memory_mapped_device_path_t): New type.
45256 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45257 (struct grub_efi_vendor_device_path): New structure.
45258 (grub_efi_vendor_device_path_t): New type.
45259 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45260 (struct grub_efi_controller_device_path): New structure.
45261 (grub_efi_controller_device_path_t): New type.
45262 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45263 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45264 (struct grub_efi_acpi_device_path): New structure.
45265 (grub_efi_acpi_device_path_t): New type.
45266 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45267 (struct grub_efi_expanded_acpi_device_path): New structure.
45268 (grub_efi_expanded_acpi_device_path_t): New type.
45269 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45270 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45271 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45272 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45273 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45274 (struct grub_efi_atapi_device_path): New structure.
45275 (grub_efi_atapi_device_path_t): New type.
45276 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45277 (struct grub_efi_fibre_channel_device_path): New structure.
45278 (grub_efi_fibre_channel_device_path_t): New type.
45279 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45280 (struct grub_efi_1394_device_path): New structure.
45281 (grub_efi_1394_device_path_t): New type.
45282 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45283 (struct grub_efi_usb_device_path): New structure.
45284 (grub_efi_usb_device_path_t): New type.
45285 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45286 (struct grub_efi_usb_class_device_path): New structure.
45287 (grub_efi_usb_class_device_path_t): New type.
45288 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45289 (struct grub_efi_i2o_device_path): New structure.
45290 (grub_efi_i2o_device_path_t): New type.
45291 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45292 (struct grub_efi_mac_address_device_path): New structure.
45293 (grub_efi_mac_address_device_path_t): New type.
45294 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45295 (struct grub_efi_ipv4_device_path): New structure.
45296 (grub_efi_ipv4_device_path_t): New type.
45297 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45298 (struct grub_efi_ipv6_device_path): New structure.
45299 (grub_efi_ipv6_device_path_t): New type.
45300 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45301 (struct grub_efi_infiniband_device_path): New structure.
45302 (grub_efi_infiniband_device_path_t): New type.
45303 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45304 (struct grub_efi_uart_device_path): New structure.
45305 (grub_efi_uart_device_path_t): New type.
45306 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45307 (struct grub_efi_vendor_messaging_device_path): New structure.
45308 (grub_efi_vendor_messaging_device_path_t): New type.
45309 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45310 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45311 (struct grub_efi_hard_drive_device_path): New structure.
45312 (grub_efi_hard_drive_device_path_t): New type.
45313 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45314 (struct grub_efi_cdrom_device_path): New structure.
45315 (grub_efi_cdrom_device_path_t): New type.
45316 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45317 (struct grub_efi_vendor_media_device_path): New structure.
45318 (grub_efi_vendor_media_device_path_t): New type.
45319 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45320 (struct grub_efi_file_path_device_path): New structure.
45321 (grub_efi_file_path_device_path_t): New type.
45322 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45323 (struct grub_efi_protocol_device_path): New structure.
45324 (grub_efi_protocol_device_path_t): New type.
45325 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45326 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45327 (struct grub_efi_bios_device_path): New structure.
45328 (grub_efi_bios_device_path_t): New type.
45329 (struct grub_efi_disk_io): New structure.
45330 (grub_efi_disk_io_t): New type.
45331 (struct grub_efi_block_io_media): New structure.
45332 (grub_efi_block_io_media_t): New type.
45333 (struct grub_efi_block_io): New structure.
45334 (grub_efi_block_io_t): New type.
45335
45336 * include/grub/misc.h (grub_stop): Removed.
45337 (grub_exit): New prototype.
45338 (grub_abort): Likewise.
45339
45340 * include/grub/disk.h (enum grub_disk_dev_id): Added
45341 GRUB_DISK_DEVICE_EFIDISK_ID.
45342
45343 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45344 disk/efi/efidisk.c.
45345 (kernel_syms.lst): Remove the target if an error occurs.
45346
49986a9f 453472006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45348
45349 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45350 as it was simply too buggy.
45351
970d3b8a 453522006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45353
45354 * kern/misc.c (grub_lltoa): New function.
45355 (grub_vsprintf): Added support for the long long suffix,
45356 i.e. "ll".
45357
ff04ec24 453582006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45359
45360 * Makefile.in (LDFLAGS): Add variable.
45361 (LD): Remove variable.
45362 * configure.ac: Add -m32 to LDFLAGS.
45363 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45364 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45365 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45366 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45367 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45368 variables.
45369 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45370 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45371 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45372
37e5e1a4 453732006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45374
45375 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45376 length for unknown glyph.
45377
c352d8dd 453782006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45379
2eab1c0d 45380 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45381
2eab1c0d 45382 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45383 completely. Accept one more argument DIR. The caller has changed.
45384
45385 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45386
45387 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45388 (grub_efi_loaded_image_guid): New variable.
45389 (grub_efi_get_loaded_image): New function.
45390 (grub_arch_modules_addr): Likewise.
45391
45392 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45393 prototype.
45394
45395 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45396 (struct grub_efi_loaded_image): New structure.
45397 (grub_efi_loaded_image_t): New type.
45398
453992006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45400
c352d8dd 45401 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45402 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45403 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45404
6d01d6b4 454052006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45406
45407 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45408
976a4ea0 454092006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45410
45411 * DISTLIST: Added include/grub/efi/console.h,
45412 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45413 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45414
45415 * include/grub/efi/console.h: New file.
45416 * include/grub/efi/time.h: Likewise.
45417 * include/grub/i386/efi/kernel.h: Likewise.
45418 * kern/efi/init.c: Likewise.
45419 * kern/efi/mm.c: Likewise.
45420 * term/efi/console.c: Likewise.
f19dbdb7 45421
976a4ea0 45422 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45423 (grub_stop): Removed.
45424 (grub_get_rtc): Likewise.
45425 (grub_machine_init): Simply call grub_efi_init.
45426 (grub_machine_fini): Call grub_efi_fini.
45427
45428 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45429 (grub_efi_output_string): Removed.
45430 (grub_efi_stall): New function.
45431 (grub_stop): Likewise.
45432 (grub_get_rtc): Likewise.
45433
45434 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45435 (grub_efi_stall): New prototype.
45436 (grub_efi_allocate_pages): Likewise.
45437 (grub_efi_free_pages): Likewise.
45438 (grub_efi_get_memory_map): Likewise.
45439 (grub_efi_mm_init): Likewise.
45440 (grub_efi_mm_fini): Likewise.
45441 (grub_efi_init): Likewise.
45442 (grub_efi_fini): Likewise.
45443
45444 * include/grub/i386/efi/time.h: Do not include
45445 grub/symbol.h. Include grub/efi/time.h.
45446 (GRUB_TICKS_PER_SECOND): Removed.
45447 (grub_get_rtc): Likewise.
45448
45449 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45450 Added padding. The EFI spec is buggy.
45451 (GRUB_EFI_BLACK): New macro.
45452 (GRUB_EFI_BLUE): Likewise.
45453 (GRUB_EFI_GREEN): Likewise.
45454 (GRUB_EFI_CYAN): Likewise.
45455 (GRUB_EFI_RED): Likewise.
45456 (GRUB_EFI_MAGENTA): Likewise.
45457 (GRUB_EFI_BROWN): Likewise.
45458 (GRUB_EFI_LIGHTGRAY): Likewise.
45459 (GRUB_EFI_BRIGHT): Likewise.
45460 (GRUB_EFI_DARKGRAY): Likewise.
45461 (GRUB_EFI_LIGHTBLUE): Likewise.
45462 (GRUB_EFI_LIGHTGREEN): Likewise.
45463 (GRUB_EFI_LIGHTCYAN): Likewise.
45464 (GRUB_EFI_LIGHTRED): Likewise.
45465 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45466 (GRUB_EFI_YELLOW): Likewise.
45467 (GRUB_EFI_WHITE): Likewise.
45468 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45469 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45470 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45471 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45472 (GRUB_EFI_BACKGROUND_RED): Likewise.
45473 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45474 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45475 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45476 (GRUB_EFI_TEXT_ATTR): Likewise.
45477
45478 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45479 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45480 (kernel_mod_HEADERS): Added efi/time.h.
45481
83709125 454822006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45483
45484 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45485 include/grub/efi/api.h, include/grub/efi/console_control.h,
45486 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45487 include/grub/i386/efi/time.h, kern/efi/efi.c,
45488 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45489 and util/i386/efi/grub-mkimage.c.
45490
45491 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45492
45493 * genmk.rb (PModule#rule): Do not export symbols if
45494 #{prefix}_EXPORTS is set to "no".
45495
45496 * conf/i386-efi.mk: New file.
45497 * conf/i386-efi.rmk: Likewise.
45498 * include/grub/efi/api.h: Likewise.
45499 * include/grub/efi/console_control.h: Likewise.
45500 * include/grub/efi/efi.h: Likewise.
45501 * include/grub/efi/pe32.h: Likewise.
45502 * include/grub/i386/efi/time.h: Likewise.
45503 * kern/efi/efi.c: Likewise.
45504 * kern/i386/efi/init.c: Likewise.
45505 * kern/i386/efi/startup.S: Likewise.
45506 * util/i386/efi/grub-mkimage.c: Likewise.
45507
455082006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45509
45510 * include/grub/script.h: Include <grub/parser.h> and
45511 "grub_script.tab.h".
45512 (struct grub_lexer_param): New struct.
45513 (struct grub_parser_param): Likewise.
45514 (grub_script_create_arglist): Pass the state in an argument.
45515 (grub_script_add_arglist): Likewise.
45516 (grub_script_create_cmdline): Likewise.
45517 (grub_script_create_cmdblock): Likewise.
45518 (grub_script_create_cmdif): Likewise.
45519 (grub_script_create_cmdmenu): Likewise.
45520 (grub_script_add_cmd): Likewise.
45521 (grub_script_arg_add): Likewise.
45522 (grub_script_lexer_ref): Likewise.
45523 (grub_script_lexer_deref): Likewise.
45524 (grub_script_lexer_record_start): Likewise.
45525 (grub_script_lexer_record_stop): Likewise.
45526 (grub_script_mem_record): Likewise.
45527 (grub_script_mem_record_stop): Likewise.
45528 (grub_script_malloc): Likewise.
45529 (grub_script_yylex): Likewise.
45530 (grub_script_yyparse): Likewise.
45531 (grub_script_yyerror): Likewise.
45532 (grub_script_yylex): Likewise.
45533 (grub_script_lexer_init): Return the state.
45534
45535 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45536 (grub_script_lexer_done): Likewise.
45537 (grub_script_lexer_getline): Likewise.
45538 (grub_script_lexer_refs): Likewise.
45539 (script): Likewise.
45540 (newscript): Likewise.
45541 (record): Likewise.
45542 (recording): Likewise.
45543 (recordpos): Likewise.
45544 (recordlen): Likewise.
45545 (grub_script_lexer_init): Return the state instead of setting
45546 global variables.
45547 (grub_script_lexer_ref): Use the newly added argument for state
45548 instead of globals.
45549 (grub_script_lexer_deref): Likewise.
45550 (grub_script_lexer_record_start): Likewise.
45551 (grub_script_lexer_record_stop): Likewise.
45552 (recordchar): Likewise.
45553 (nextchar): Likewise.
45554 (grub_script_yylex2): Likewise.
45555 (grub_script_yylex): Likewise.
45556 (grub_script_yyerror): Likewise.
45557
45558 * normal/parser.y (func_mem): Removed variable.
45559 (menu_entry): Likewise.
45560 (err): Likewise.
45561 (%lex-param): New parser option.
45562 (%parse-param): Likewise.
45563 (script): Always return the AST.
45564 (argument): Pass the state around.
45565 (arguments): Likewise.
45566 (grubcmd): Likewise.
45567 (commands): Likewise.
45568 (function): Likewise.
45569 (menuentry): Likewise.
45570 (if_statement): Likewise.
45571 (if): Likewise.
45572
45573 * normal/script.c (grub_script_memused): Removed variable.
45574 (grub_script_parsed): Likewise.
45575 (grub_script_malloc): Added a state argument. Use that instead of
45576 global variables.
45577 (grub_script_mem_record): Likewise.
45578 (grub_script_mem_record_stop): Likewise.
45579 (grub_script_arg_add): Likewise.
45580 (grub_script_add_arglist): Likewise.
45581 (grub_script_create_cmdline): Likewise.
45582 (grub_script_create_cmdif): Likewise.
45583 (grub_script_create_cmdmenu): Likewise.
45584 (grub_script_add_cmd): Likewise.
45585 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45586
e2a8c904 455872006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45588
45589 * normal/command.c (grub_command_init): Remove the title command.
45590
45591 * normal/lexer.c (grub_script_yylex): Renamed from this...
45592 (grub_script_yylex2): ... to this.
45593 (grub_script_yylex): New function. Temporary
45594 introduced to filter some tokens.
45595 (grub_script_yyerror): Print a newline.
45596
45597 * normal/main.c (read_config_file): Output information about the
45598 lines that contain errors. Wait for a key after all lines have
45599 been processed. Don't return an empty menu.
45600
45601 * normal/parser.y (func_mem): Don't initialize.
45602 (menu_entry): Likewise.
45603 (err): New variable.
45604 (script): Don't return anything when an error was encountered.
45605 (ws, returns): Removed rules.
45606 (argument): Disabled concatenated variable support.
45607 (arguments): Remove explicit separators.
45608 (grubcmd): Likewise.
45609 (function): Likewise.
45610 (menuentry): Likewise.
45611 (if): Likewise.
45612 (commands): Likewise. Add error handling.
45613
45614 * normal/script.c (grub_script_create_cmdline): If
45615 `grub_script_parsed' is 0, assume the parser encountered an error.
45616
c9a86192 456172006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45618
45619 * configure.ac: Add support for EFI. Fix the typo
45620 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45621
70f3b243 456222006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45623
45624 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45625 foreign multibyte characters should be shown correctly.
45626
65f201ad 456272006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45628
45629 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45630 calculation.
45631 (read_config_file): Made it to close file before returning.
45632
b4b93674 456332006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45634
45635 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45636 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45637 video/i386/pc/vbefill.c.
45638
45639 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45640 video/i386/pc/vbefill.c.
45641
45642 * include/grub/video.h (grub_video_blit_format): New enum.
45643 (grub_video_mode_info): Added new member blit_format.
45644 (grub_video_get_blit_format): New function prototype.
45645
45646 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45647 function prototype.
45648 (grub_video_vbe_map_rgb): Likewise.
45649 (grub_video_vbe_unmap_color): Likewise.
45650
45651 * include/grub/i386/pc/vbeblit.h: New file.
45652
45653 * include/grub/i386/pc/vbefill.h: New file.
45654
45655 * video/video.c (grub_video_get_blit_format): New function.
45656 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45657 (grub_video_vbe_map_rgb): Likewise.
45658 (grub_video_vbe_unmap_color): Likewise.
45659
45660 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45661 optimized fills.
45662 (grub_video_vbe_blit_render_target): Changed to use more optimized
45663 blits.
45664 (grub_video_vbe_setup): Added detection for optimized settings.
45665 (grub_video_vbe_create_render_target): Likewise.
45666
45667 * video/i386/pc/vbeblit.c: New file.
45668
45669 * video/i386/pc/vbefill.c: New file.
45670
c2379b9c 456712006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45672
45673 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45674 here...
45675
45676 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45677 parsing to support both hex and dec ranges. If filename was missing
45678 show usage information.
45679
bd0d7896 456802006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45681
45682 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45683 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45684
45685 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45686 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45687 (video_mod_SOURCES): Added.
45688 (video_mod_CFLAGS): Likewise.
45689 (video_mod_LDFLAGS): Likewise.
45690 (gfxterm_mod_SOURCES): Likewise.
45691 (gfxterm_mod_CFLAGS): Likewise.
45692 (gfxterm_mod_LDFLAGS): Likewise.
45693 (videotest_mod_SOURCES): Likewise.
45694 (videotest_mod_CFLAGS): Likewise.
45695 (videotest_mod_LDFLAGS): Likewise.
45696 (vesafb_mod_SOURCES): Removed.
45697 (vesafb_mod_CFLAGS): Likewise.
45698 (vesafb_mod_LDFLAGS): Likewise.
45699 (vga_mod_SOURCES): Likewise.
45700 (vga_mod_CFLAGS): Likewise.
45701 (vga_mod_LDFLAGS): Likewise.
45702
45703 * commands/videotest.c: New file.
45704
45705 * font/manager.c (fill_with_default_glyph): Modified to use
45706 grub_font_glyph.
45707 (grub_font_get_glyph): Likewise.
45708 (fontmanager): Renamed from this...
45709 (font_manager): ... to this.
45710
45711 * include/grub/font.h (grub_font_glyph): Added new structure.
45712 (grub_font_get_glyph): Modified to use grub_font_glyph.
45713
45714 * include/grub/misc.h (grub_abs): Added as inline function.
45715
45716 * include/grub/video.h: New file.
45717
45718 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45719 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45720 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45721 (grub_vbe_get_controller_info): Renamed from this...
45722 (grub_vbe_bios_get_controller_info): ... to this.
45723 (grub_vbe_get_mode_info): Renamed from this...
45724 (grub_vbe_bios_get_mode_info): ... to this.
45725 (grub_vbe_set_mode): Renamed from this...
45726 (grub_vbe_bios_set_mode): ... to this.
45727 (grub_vbe_get_mode): Renamed from this...
45728 (grub_vbe_bios_get_mode): ... to this.
45729 (grub_vbe_set_memory_window): Renamed from this...
45730 (grub_vbe_bios_set_memory_window): ... to this.
45731 (grub_vbe_get_memory_window): Renamed from this...
45732 (grub_vbe_bios_get_memory_window): ... to this.
45733 (grub_vbe_set_scanline_length): Renamed from this...
45734 (grub_vbe_set_scanline_length): ... to this.
45735 (grub_vbe_get_scanline_length): Renamed from this...
45736 (grub_vbe_bios_get_scanline_length): ... to this.
45737 (grub_vbe_set_display_start): Renamed from this...
45738 (grub_vbe_bios_set_display_start): ... to this.
45739 (grub_vbe_get_display_start): Renamed from this...
45740 (grub_vbe_bios_get_display_start): ... to this.
45741 (grub_vbe_set_palette_data): Renamed from this...
45742 (grub_vbe_bios_set_palette_data): ... to this.
45743 (grub_vbe_set_pixel_rgb): Removed.
45744 (grub_vbe_set_pixel_index): Likewise.
45745
45746 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45747 from this...
45748 (grub_vbe_bios_get_controller_info): ... to this.
45749 (grub_vbe_get_mode_info): Renamed from this...
45750 (grub_vbe_bios_get_mode_info): ... to this.
45751 (grub_vbe_set_mode): Renamed from this...
45752 (grub_vbe_bios_set_mode): ... to this.
45753 (grub_vbe_get_mode): Renamed from this...
45754 (grub_vbe_bios_get_mode): ... to this.
45755 (grub_vbe_set_memory_window): Renamed from this...
45756 (grub_vbe_bios_set_memory_window): ... to this.
45757 (grub_vbe_get_memory_window): Renamed from this...
45758 (grub_vbe_bios_get_memory_window): ... to this.
45759 (grub_vbe_set_scanline_length): Renamed from this...
45760 (grub_vbe_set_scanline_length): ... to this.
45761 (grub_vbe_get_scanline_length): Renamed from this...
45762 (grub_vbe_bios_get_scanline_length): ... to this.
45763 (grub_vbe_set_display_start): Renamed from this...
45764 (grub_vbe_bios_set_display_start): ... to this.
45765 (grub_vbe_get_display_start): Renamed from this...
45766 (grub_vbe_bios_get_display_start): ... to this.
45767 (grub_vbe_set_palette_data): Renamed from this...
45768 (grub_vbe_bios_set_palette_data): ... to this.
45769 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45770 getting corrupted after calling it. Added more pushes and pops.
45771 (grub_vbe_bios_set_mode): Likewise.
45772 (grub_vbe_bios_get_mode): Likewise.
45773 (grub_vbe_bios_get_memory_window): Likewise.
45774 (grub_vbe_bios_set_scanline_length): Likewise.
45775 (grub_vbe_bios_get_scanline_length): Likewise.
45776 (grub_vbe_bios_get_display_start): Likewise.
45777 (grub_vbe_bios_set_palette_data): Likewise.
45778
45779 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45780 (cl_insert): Likewise.
45781 (cl_delete): Likewise.
45782
45783 * term/gfxterm.c: New file.
45784
45785 * term/i386/pc/vesafb.c: Removed file.
45786
45787 * video/video.c: New file.
45788
45789 * video/i386/pc/vbe.c (real2pm): Added new function.
45790 (grub_video_vbe_draw_pixel): Likewise.
45791 (grub_video_vbe_get_video_ptr): Likewise.
45792 (grub_video_vbe_get_pixel): Likewise
45793 (grub_video_vbe_init): Likewise.
45794 (grub_video_vbe_fini): Likewise.
45795 (grub_video_vbe_setup): Likewise.
45796 (grub_video_vbe_get_info): Likewise.
45797 (grub_video_vbe_set_palette): Likewise.
45798 (grub_video_vbe_get_palette): Likewise.
45799 (grub_video_vbe_set_viewport): Likewise.
45800 (grub_video_vbe_get_viewport): Likewise.
45801 (grub_video_vbe_map_color): Likewise.
45802 (grub_video_vbe_map_rgb): Likewise.
45803 (grub_video_vbe_map_rgba): Likewise.
45804 (grub_video_vbe_unmap_color): Likewise.
45805 (grub_video_vbe_fill_rect): Likewise.
45806 (grub_video_vbe_blit_glyph): Likewise.
45807 (grub_video_vbe_blit_bitmap): Likewise.
45808 (grub_video_vbe_blit_render_target): Likewise.
45809 (grub_video_vbe_scroll): Likewise.
45810 (grub_video_vbe_swap_buffers): Likewise.
45811 (grub_video_vbe_create_render_target): Likewise.
45812 (grub_video_vbe_delete_render_target): Likewise.
45813 (grub_video_vbe_set_active_render_target): Likewise.
45814 (grub_vbe_set_pixel_rgb): Remove function.
45815 (grub_vbe_set_pixel_index): Likewise.
45816 (index_color_mode): Remove static variable.
45817 (active_mode): Likewise.
45818 (framebuffer): Likewise.
45819 (bytes_per_scan_line): Likewise.
45820 (grub_video_vbe_adapter): Added new static variable.
45821 (framebuffer): Likewise.
45822 (render_target): Likewise.
45823 (initial_mode): Likewise.
45824 (mode_in_use): Likewise.
45825 (mode_list): Likewise.
45826
5f97350b 458272006-03-10 Marco Gerards <marco@gnu.org>
45828
45829 * configure.ac (AC_INIT): Bumped to 1.93.
45830
45831 * DISTLIST: Added `include/grub/hfs.h'.
45832
a3c5c6f8 458332006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45834
45835 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45836 18H, which might help the BIOS falling back to next boot media.
45837
6de53d26 458382006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45839
45840 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45841 Poe Chen <poe.poechen@gmail.com>.
45842
77c4a393 458432006-01-17 Marco Gerards <marco@gnu.org>
45844
45845 * include/grub/normal.h: Include <grub/script.h>.
45846 (grub_command_list): Removed struct.
45847 (grub_command_list_t): Removed type.
45848 (grub_menu_entry): Remove members `num' and `command_list'. Add
45849 members `commands' and `sourcecode'.
45850 * include/grub/script.h: Add inclusion guards.
45851 (grub_script_cmd_menuentry): New struct.
45852 (grub_script_execute_menuentry): New prototype.
45853 (grub_script_lexer_record_start): Likewise.
45854 (grub_script_lexer_record_stop): Likewise.
45855 * normal/execute.c (grub_script_execute_menuentry): New function.
45856 * normal/lexer.c (record, recording, recordpos, recordlen): New
45857 variables.
45858 (grub_script_lexer_record_start): New function.
45859 (grub_script_lexer_record_stop): Likewise.
45860 (recordchar): Likewise.
45861 (nextchar): Likewise.
45862 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45863 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45864 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45865 (current_menu): New variable.
45866 (free_menu): Mainly rewritten.
45867 (grub_normal_menu_addentry): New function.
45868 (read_config_file): Rewritten.
45869 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45870 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45871 the menu entry.
45872 (run): Mainly rewritten.
45873 * normal/parser.y (menu_entry): New variable.
45874 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45875 (menuentry): New rule.
45876 (command): Add `menuentry'.
45877 (if_statement): Allow additional returns before `fi'.
45878 * normal/script.c (grub_script_create_cmdmenu): New function.
45879
144f1f98 458802006-01-03 Marco Gerards <marco@gnu.org>
45881
45882 * INSTALL: GNU Bison is required.
45883 * configure.ac: Rewritten the test to detect Bison.
45884 * Makefile.in (YACC): New variable. Reported by Xun Sun
45885 <xun.sun.cn@gmail.com>.
45886
af4b2d89 458872006-01-03 Marco Gerards <marco@gnu.org>
45888
45889 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45890 the HFS+ filesystem to filesystem blocks.
45891 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45892 GCC warning is silenced.
45893
15643b71 458942006-01-03 Marco Gerards <marco@gnu.org>
45895
45896 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45897 read from disk from big endian to host byte order.
45898
00905879 458992006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45900
45901 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45902 documentation.
45903 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45904 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45905 embedded HFS+ filesystem.
45906 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45907 (grub_hfs_sblock): Move from here...
45908 * include/grub/hfs.h: To here... New file.
45909 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45910 documentation.
45911 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45912 New macros.
45913 (grub_hfsplus_volheader): Change type of member `magic' to
45914 `grub_uint16_t'.
45915 (grub_hfsplus_data): Add new member `embedded_offset'.
45916 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45917 returned block.
45918 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45919 Calculate the offset.
45920
8899bc3e 459212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45922
45923 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45924 Removed.
45925 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45926
ae8c0277 459272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45928
45929 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45930 ENV->NAME is NULL after allocating ENV->VALUE.
45931
07084456 459322005-12-25 Marco Gerards <marco@gnu.org>
45933
45934 * kern/env.c (grub_env_set): Rewritten the error handling code.
45935
4750f5f1 459362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45937
45938 * geninit.sh: Made more robust, and more portable.
45939
50214199 459402005-12-25 Marco Gerards <marco@gnu.org>
45941
45942 Add support for Apple HFS+ filesystems.
f19dbdb7 45943
50214199 45944 * fs/hfsplus.c: New file.
45945
45946 * DISTLIST: Added `fs/hfsplus.c'.
45947
45948 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45949 (hfsplus_mod_SOURCES): New variable.
45950 (hfsplus_mod_CFLAGS): Likewise.
45951 (hfsplus_mod_LDFLAGS): Likewise.
45952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45953 (grub_setup_SOURCES): Likewise.
45954 (grub_mkdevicemap_SOURCES): Likewise.
45955 (grub_emu_SOURCES): Likewise.
45956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45957
45958 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45959
45960 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45961
befaed6c 459622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45963
45964 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45965 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45966 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45967 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45968 normal/lexer.c, normal/parser.y, normal/script.c, and
45969 partmap/gpt.c.
45970 Removed kern/sparc64/cache.c.
45971
45972 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45973 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45974 grub_emu_init.c.
45975
45976 * configure.ac (AC_INIT): Bumped to 1.92.
45977
6a124103 459782005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45979
45980 * kern/err.c (grub_error_push): Added new function to support error
45981 stacks.
45982 (grub_error_pop): Likewise.
45983 (grub_error_stack_items): New local variable to support error stacks.
45984 (grub_error_stack_pos): Likewise.
45985 (grub_error_stack_assert): Likewise.
45986 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45987 stack depth.
45988 (grub_print_error): Added support to print errors from error stack.
45989
45990 * include/grub/err.h (grub_error_push): Added function prototype.
45991 (grub_error_pop): Likewise.
45992
be973c1b 459932005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45994
45995 * configure.ac: Accept `powerpc64' as host_cpu.
45996 (amd64): Rename to `biarch32'.
45997
45998 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45999 non-cacheline-aligned addresses.
46000
46001 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46002 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46003 if `size' is non-zero.
46004
b04216ab 460052005-12-03 Marco Gerards <mgerards@xs4all.nl>
46006
46007 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46008 and `cd' to make sure the filename is not prefixed with a
46009 directory name.
46010 (pkgdata_MODULES): Add `gpt.mod'.
46011 (gpt_mod_SOURCES): New variable.
46012 (gpt_mod_CFLAGS): Likewise.
46013 (gpt_mod_LDFLAGS): Likewise.
46014
46015 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46016
46017 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46018 New macro.
46019
46020 * partmap/gpt.c: New file.
46021
46022 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46023 GPT partition map is detected.
46024
41730ed9 460252005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46026
46027 * commands/i386/pc/play.c: New file.
46028 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46029 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46030 macros.
f19dbdb7 46031
95dc3643 460322005-11-27 Marco Gerards <mgerards@xs4all.nl>
46033
46034 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46035 ((unused))' to silence gcc warning.
46036
1569ec51 460372005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46038
46039 * configure.ac: Correct `AC_PROG_YACC' test.
46040
9abde152 460412005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46042
46043 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46044 check before installing files.
46045
44b83271 460462005-11-22 Mike Small <smallm@panix.com>
46047
46048 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46049 number regex so multidigit numbers are recognized correctly.
46050
460512005-11-22 Mike Small <smallm@panix.com>
46052
46053 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46054 debugging message before attempting to claim memory.
46055 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46056 multiple addresses in case of failure.
46057
9c12956b 460582005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46059
46060 * term/tparm.c (get_space): Remove empty `if' statement.
46061
46062 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46063
46064 * kern/parser.c (check_varstate): Rename `state' to 's'.
46065
aeaf81d9 460662005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46067
46068 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46069 variable definitions to the beginning of each function. Sort stack
46070 variables by size.
46071 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46072 `buf' argument to `char *'.
46073
79bbb63f 460742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46075
46076 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46077 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46078 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46079 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46080 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46081 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46082 configfile.mod, search.mod, gzio.mod and test.mod.
46083 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46084 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46085 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46086 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46087 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46088 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46089 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46090 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46091 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46092 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46093 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46094 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46095 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46096 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46097 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46098 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46099 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46100 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46101 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46102 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46103 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46104 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46105 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46106
46107 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46108 `grep --include'.
46109 (pkgdata_MODULES): Add test.mod.
46110
233b1628 461112005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46112
46113 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46114 appending to variables with "+=".
46115 (PModule): Use full pathname to generate *.lst filenames.
46116
46117 * Makefile.in: Fixed list rules moved from genmk.rb.
46118 (.DELETE_ON_ERROR): New special target.
46119 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46120
46121 * conf/i386-pc.rmk: Include conf/common.mk.
46122 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46123 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46124 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46125 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46126 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46127 configfile.mod, search.mod, gzio.mod and test.mod.
46128 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46129 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46130 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46131 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46132 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46133 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46134 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46135 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46136 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46137 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46138 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46139 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46140 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46141 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46142 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46143 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46144 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46145 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46146 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46147 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46148 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46149 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46150 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46151 here...
46152 * conf/common.rmk: ... to here. New file.
46153
46154 * conf/common.mk: New file.
46155
16f820c8 461562005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46157
46158 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46159 (grub_script.tab.c): ... here.
46160
46161 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46162 (grub_script.tab.c): ... here.
46163
46164 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46165 (grub_script.tab.c): ... here.
46166
46167 * normal/command.c (grub_command_find): Fixed a memory leak of
46168 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46169
63ba1554 461702005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46171
46172 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46173 "@" which marks the start of a comment on ARM.
46174 (VARIABLE): Likewise.
46175
7f67dc13 461762005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46177
79bbb63f 46178 Add support for Linux/ADFS partition tables.
7f67dc13 46179
46180 * partmap/acorn.c: New file.
46181
46182 * include/grub/acorn_filecore.h: Likewise.
46183
46184 * DISTLIST: Added `partmap/acorn.c' and
46185 `include/grub/acorn_filecore.h'.
f19dbdb7 46186
7f67dc13 46187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46188 `partmap/acorn.c'.
46189 (pkgdata_MODULES): Add `acorn.mod'.
46190 (acorn_mod_SOURCES): New variable.
46191 (acorn_mod_CFLAGS): Likewise.
46192
46193 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46194 `partmap/acorn.c'.
46195 (pkgdata_MODULES): Add `acorn.mod'.
46196 (acorn_mod_SOURCES): New variable.
46197 (acorn_mod_CFLAGS): Likewise.
46198
46199 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46200 (pkgdata_MODULES): Add `acorn.mod'.
46201 (acorn_mod_SOURCES): New variable.
46202 (acorn_mod_CFLAGS): Likewise.
46203 (acorn_mod_LDFLAGS): Likewise.
46204
46205 * include/types.h (grub_disk_addr_t): New typedef.
46206
6d099807 462072005-11-13 Marco Gerards <mgerards@xs4all.nl>
46208
46209 * geninit.sh: New file.
46210
46211 * geninitheader.sh: Likewise.
46212
46213 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46214 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46215 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46216 * commands/configfile.c (grub_configfile_init)
46217 (grub_configfile_fini): Likewise.
46218 * commands/default.c (grub_default_init, grub_default_fini):
46219 Likewise.
46220 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46221 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46222 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46223 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46224 Likewise.
46225 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46226 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46227 Likewise.
46228 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46229 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46230 Likewise.
46231 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46232 Likewise.
fe6b695a 46233 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46234 Likewise.
46235 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46236 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46237 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46238 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46239 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46240 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46241 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46242 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46243 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46244 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46245 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46246 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46247 * partmap/amiga.c (grub_amiga_partition_map_init)
46248 (grub_amiga_partition_map_fini): Likewise.
46249 * partmap/apple.c (grub_apple_partition_map_init)
46250 (grub_apple_partition_map_fini): Likewise.
46251 * partmap/pc.c (grub_pc_partition_map_init)
46252 (grub_pc_partition_map_fini): Likewise.
46253 * partmap/sun.c (grub_sun_partition_map_init,
46254 grub_sun_partition_map_fini): Likewise.
46255 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46256 Likewise.
46257
46258 * util/grub-emu.c: Include <grub_modules_init.h>.
46259 (main): Don't initialize and de-initialize any modules directly,
46260 use `grub_init_all' and `grub_fini_all' instead.
46261
46262 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46263 `grub_vesafb_mod_init'.
46264 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46265 all users.
46266 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46267 `grub_vga_mod_init'. Updated all users.
46268 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46269
6d099807 46270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46271 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46272 rules.
46273
46274 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46275 Generate a function to initialize the module in utilities.
46276 Updated all callers.
46277 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46278 initialize the module in utilities. Updated all callers.
46279
9046bcf0 462802005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46281
46282 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46283 escape sequence and a literal ^L to clear the screen.
46284
46285 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46286 when returning from Open Firmware.
46287
d13ea639 462882005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46289
46290 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46291 (grub_ofconsole_height): Likewise.
46292 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46293 manually insert a '\n'.
46294 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46295 `grub_ofconsole_height'. Return early if these are already set.
46296
a8fcf206 462972005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46298
46299 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46300 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46301 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46302 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46303 and `normal/script.c'.
46304 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46305 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46306 (test_mod_SOURCES): New variable.
46307 (test_mod_CFLAGS): Likewise.
46308 (test_mod_LDFLAGS): Likewise.
46309 (pkgdata_MODULES): Add `test.mod'.
46310 (grub_script.tab.c): New rule.
46311 (grub_script.tab.h): Likewise.
46312
b6b32745 463132005-11-07 Marco Gerards <mgerards@xs4all.nl>
46314
46315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46316 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46317 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46318 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46319 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46320 (test_mod_SOURCES): New variable.
46321 (test_mod_CFLAGS): Likewise.
46322 (pkgdata_MODULES): Add `test.mod'.
46323 (grub_script.tab.c): New rule.
46324 (grub_script.tab.h): Likewise.
46325
daac212a 463262005-11-06 Marco Gerards <mgerards@xs4all.nl>
46327
46328 Add initial scripting support.
46329
46330 * commands/test.c: New file.
46331 * include/grub/script.h: Likewise.
46332 * normal/execute.c: Likewise.
46333 * normal/function.c: Likewise.
46334 * normal/lexer.c: Likewise.
46335 * normal/parser.y: Likewise.
46336 * normal/script.c: Likewise.
46337
46338 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46339
daac212a 46340 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46341 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46342 `normal/function.c' and `normal/script.c'.
46343 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46344 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46345 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46346 variables.
daac212a 46347 (pkgdata_MODULES): Add `test.mod'.
46348 (grub_script.tab.c): New rule.
46349 (grub_script.tab.h): Likewise.
46350
46351 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46352
46353 * include/grub/normal.h (grub_test_init): New prototype.
46354 (grub_test_fini): Likewise.
f19dbdb7 46355
daac212a 46356 * normal/command.c: Include <grub/script.h>.
46357 (grub_command_execute): Rewritten.
f19dbdb7 46358
daac212a 46359 * util/grub-emu.c (main): Call `grub_test_init' and
46360 `grub_test_fini'.
46361
77500b2b 463622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46363
46364 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46365 to 0.
46366 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46367 there are no pending characters.
46368
e45deb9e 463692005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46370
46371 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46372 `grub_strndup' to drop device arguments. Replace unnecessary
46373 `grub_strndup' with `grub_strdup'.
46374
4ce32619 463752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46376
46377 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46378 `debug' environment variable has been set.
46379
463802005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46381
4ce32619 46382 * Makefile.in (install-local): Use $(DATA).
46383 (uninstall): Likewise.
46384 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46385 (sbin_UTILITIES): ... to here.
46386 (sbin_SCRIPTS): New variable.
46387 (grub_install_SOURCES): New variable.
46388 * util/powerpc/ieee1275/grub-install.in: New file.
46389 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46390 variable.
46391 (add_segments): Call `grub_util_get_path'.
46392
25fe6f03 463932005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46394
46395 From Timothy Baldwin:
46396 * commands/ls.c (grub_ls_list_files): Close FILE with
46397 grub_file_close.
46398 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46399
04ccf3ec 464002005-10-24 Marco Gerards <mgerards@xs4all.nl>
46401
46402 * include/grub/parser.h: New file.
46403
46404 * kern/parser.c: Likewise.
46405
46406 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46407 (grub_setup_SOURCES): Likewise.
46408 (grub_probefs_SOURCES): Likewise.
46409 (grub_emu_SOURCES): Likewise.
46410 (kernel_img_HEADERS): Add `parser.h'.
46411
46412 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46413 (grub_emu_SOURCES): Add `kern/parser.c'.
46414 (grubof_SOURCES): Likewise.
46415
46416 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46417 (grubof_SOURCES): Add `kern/parser.c'.
46418
46419 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46420
46421 * kern/misc.c (grub_split_cmdline): Removed function.
46422
46423 * kern/rescue.c: Include <grub/parser.h>.
46424 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46425 of `grub_split_cmdline'.
46426
46427 * normal/command.c: Include <grub/parser.h>.
46428 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46429 of `grub_split_cmdline'.
46430
46431 * normal/completion.c: Include <grub/parser.h>.
46432 (cmdline_state): New variable.
46433 (iterate_dir): End the filename with a quote depending on the
46434 command line state.
46435 (get_state): new function.
46436 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46437 split the arguments and determine the current argument. When the
46438 argument string is not quoted, escape all spaces.
46439
6d8f4b0e 464402005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46441
46442 * normal/sparc64/setjmp.S: New file.
46443
15cf03ed 464442005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46445
46446 * include/grub/sparc64/libgcc.h: New file.
46447 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46448 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46449 normal/sparc64/setjmp.c.
46450
03e8661a 464512005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46452
46453 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46454 * kern/sparc64/cache.S: New file.
46455 * kern/sparc64/cache.c: Removed.
46456 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46457 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46458 -mtune=ultrasparc.
46459 (COMMON_LDFLAGS): Add -melf64_sparc.
46460 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46461 (grubof_SOURCES): Use cache.S instead of cache.c.
46462 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46463 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46464 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46465 commented though.
46466 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46467 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46468 (linux_mod_CFLAGS): Commented out.
46469 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46470 out because module isn't built.
46471 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46472 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46473 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46474 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46475 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46476 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46477 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46478 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46479 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46480 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46481 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46482 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46483 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46484 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46485
34eeec8a 464862005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46487
46488 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46489 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46490 longer, because HFS should not be used on PC.
46491
708367a3 464922005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46493
46494 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46495 consistently within the loop.
46496
6fa1251a 464972005-10-15 Marco Gerards <mgerards@xs4all.nl>
46498
46499 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46500 directory can not be read.
46501
4801580b 465022005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46503
46504 * configure.ac (AC_INIT): Increase the version number to 1.91.
46505
46506 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46507 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46508 term/i386/pc/serial.c.
46509
219ad426 465102005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46511
46512 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46513 file size must be permitted.
46514
46515 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46516 between %ah and %al.
46517
688e5699 465182005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46519
46520 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46521 grub_uint64_t.
46522 Call the hook with a NUL-terminated filename.
46523 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46524 grub_cpu_to_be32.
46525
46526 * kern/term.c (cursor_state): New variable.
46527 (grub_term_set_current): Reset the cursor state on a new
46528 terminal.
46529 (grub_setcursor): Rewritten to use CURSOR_STATE.
46530 (grub_getcursor): New function.
46531
46532 * include/grub/term.h (grub_getcursor): New prototype.
46533
46534 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46535 integers on ARM. Reported by Timothy Baldwin
46536 <T.E.Baldwin99@members.leeds.ac.uk>.
46537
bb34586c 465382005-10-11 Marco Gerards <mgerards@xs4all.nl>
46539
46540 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46541 allocated.
46542 (grub_sfs_dir): Likewise.
46543
9a909877 465442005-10-09 Marco Gerards <mgerards@xs4all.nl>
46545
46546 Add support for the SFS filesystem.
46547
46548 * fs/sfs.c: New file.
46549
46550 * DISTLIST: Added `fs/sfs.c'.
46551
46552 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46553 (grub_probefs_SOURCES): Likewise.
46554 (grub_emu_SOURCES): Likewise.
46555 (pkgdata_MODULES): Add `sfs.mod'.
46556 (sfs_mod_SOURCES): New variable.
46557 (sfs_mod_CFLAGS): Likewise.
46558 (sfs_mod_LDFLAGS): Likewise.
46559
46560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46561 (pkgdata_MODULES): Add `sfs.mod'.
46562 (sfs_mod_SOURCES): New variable.
46563 (sfs_mod_CFLAGS): Likewise.
46564
46565 * util/grub-emu.c (main): Call `grub_sfs_init' and
46566 `grub_sfs_fini'.
46567
46568 * include/grub/fs.h (grub_sfs_init): New prototype.
46569 (grub_sfs_fini): Likewise.
46570
57bdbde3 465712005-10-07 Marco Gerards <mgerards@xs4all.nl>
46572
46573 Add support for the AFFS filesystem.
46574
46575 * fs/affs.c: New file.
46576
46577 * DISTLIST: Added `fs/affs.c'.
46578
46579 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46580 (grub_probefs_SOURCES): Likewise.
46581 (grub_emu_SOURCES): Likewise.
46582 (pkgdata_MODULES): Add `affs.mod'.
46583 (affs_mod_SOURCES): New variable.
46584 (affs_mod_CFLAGS): Likewise.
46585 (affs_mod_LDFLAGS): Likewise.
46586
46587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46588 (pkgdata_MODULES): Add `affs.mod'.
46589 (affs_mod_SOURCES): New variable.
46590 (affs_mod_CFLAGS): Likewise.
46591
46592 * util/grub-emu.c (main): Call `grub_affs_init' and
46593 `grub_affs_fini'.
46594
46595 * include/grub/fs.h (grub_affs_init): New prototype.
46596 (grub_affs_fini): Likewise.
46597
047b67e0 465982005-10-01 Marco Gerards <mgerards@xs4all.nl>
46599
46600 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46601
59b8208a 466022005-10-01 Marco Gerards <mgerards@xs4all.nl>
46603
46604 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46605 `-m32' to CFLAGS.
46606
46607 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46608 linking.
f19dbdb7 46609
59b8208a 46610 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46611 (COMMON_LDFLAGS): New variable.
46612 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46613 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46614 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46615 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46616 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46617 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46618 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46619 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46620 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46621 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46622 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46623 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46624 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46625 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46626 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46627 variables.
46628 (normal_mod_ASFLAGS): Add `-m32'.
46629
46630 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46631 (grub_host_size_t, grub_host_ssize_t): New types.
46632 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46633 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46634 `GRUB_HOST_SIZEOF_VOID_P'.
46635
46636 * include/grub/kernel.h (struct grub_module_header): Type of
46637 member offset changed to `grub_host_off_t'. Type of member size
46638 changed to `grub_host_size_t'.
46639 (struct grub_module_info): Type of member offset changed to
46640 `grub_host_off_t'. Type of member size changed to
46641 `grub_host_size_t'.
46642
b4093103 466432005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46644
46645 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46646
b4093103 46647 * kern/i386/pc/startup.S (multiboot_header): New label.
46648 (multiboot_entry): Likewise.
46649 (multiboot_trampoline): Likewise.
46650
46651 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46652 Increased to 0x4A0.
46653
46654 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46655 put parentheses after a question mark.
46656 [!GRUB_UTIL] (my_mod): New variable.
46657
46658 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46659
b2499b29 466602005-09-28 Marco Gerards <mgerards@xs4all.nl>
46661
46662 Adds support for the XFS filesystem. Btrees are not supported
46663 yet.
46664
46665 * fs/xfs.c: New file.
46666
46667 * DISTLIST: Added `fs/xfs.c'.
46668
46669 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46670 (grub_probefs_SOURCES): Likewise.
46671 (grub_emu_SOURCES): Likewise.
46672 (pkgdata_MODULES): Add `xfs.mod'.
46673 (xfs_mod_SOURCES): New variable.
46674 (xfs_mod_CFLAGS): Likewise.
46675
46676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46677 (pkgdata_MODULES): Add `xfs.mod'.
46678 (xfs_mod_SOURCES): New variable.
46679 (xfs_mod_CFLAGS): Likewise.
46680
46681 * util/grub-emu.c (main): Call `grub_xfs_init' and
46682 `grub_xfs_fini'.
46683
46684 * include/grub/fs.h (grub_xfs_init): New prototype.
46685 (grub_xfs_fini): Likewise.
46686
f19dbdb7 46687
83d37a62 466882005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46689
46690 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46691 color modes, allow greater than 16 colors to be configured as
46692 a default palette.
46693
47d2d65e 466942005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46695
46696 * normal/completion.c (complete_arguments): Add the qualifier
46697 const into OPTIONS.
46698
46699 From Omniflux <omniflux+lists@omniflux.com>:
46700 * include/grub/terminfo.h: New file.
46701 * include/grub/tparm.h: Likewise.
46702 * include/grub/i386/pc/serial.h: Likewise.
46703 * term/terminfo.c: Likewise.
46704 * term/tparm.c: Likewise.
46705 * term/i386/pc/serial.c: Likewise.
46706 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46707 serial.mod.
46708 (terminfo_mod_SOURCES): New variable.
46709 (terminfo_mod_CFLAGS): Likewise.
46710 (serial_mod_SOURCES): Likewise.
46711 (serial_mod_CFLAGS): Likewise.
46712
48b671ff 467132005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46714
46715 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46716 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46717 and kern/powerpc/ieee1275/cmain.c, respectively.
46718
46719 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46720 * kern/powerpc/ieee1275/crt0.S: ... here.
46721
46722 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46723 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46724
48b671ff 46725 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46726 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46727 instead of boot/powerpc/ieee1275/crt0.S and
46728 boot/powerpc/ieee1275/cmain.c, respectively.
46729
46730 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46731 sectors. It was not used anyway.
46732
09fc77a7 467332005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46734
46735 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46736 `unused parameter' warning.
46737
003789c7 467382005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46739
46740 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46741 function.
46742 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46743 getcharwidth.
46744
67f44c86 467452005-08-28 Marco Gerards <metgerards@student.han.nl>
46746
46747 * include/grub/normal.h (enum grub_completion_type): Added
46748 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46749
46750 * normal/cmdline.c (print_completion): Handle
46751 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46752 * normal/menu_entry.c (store_completion): Likewise.
46753
46754 * normal/completion.c (complete_arguments): New function.
46755 (grub_normal_do_completion): Call `complete_arguments' when the
46756 current words start with a dash.
46757
0b5abe02 467582005-08-27 Marco Gerards <metgerards@student.han.nl>
46759
46760 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46761 `gzio.mod' instead of `io.mod').
46762
d9864ee1 467632005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46764
46765 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46766 (DISTDIRS): Added io and video.
46767 Rewrite the search routine to make an output consistently.
46768
46769 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46770 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46771 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46772 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46773 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46774 util/powerpc/ieee1275/misc.c.
f19dbdb7 46775
d9864ee1 46776 * include/grub/gzio.h: New file.
46777 * io/gzio.c: Likewise.
f19dbdb7 46778
d9864ee1 46779 * kern/file.c (grub_file_close): Call grub_device_close only if
46780 FILE->DEVICE is not NULL.
46781
46782 * include/grub/mm.h [!NULL] (NULL): New macro.
46783
46784 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46785
46786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46787 (pkgdata_MODULES): Added gzio.mod.
46788 (gzio_mod_SOURCES): New variable.
46789 (gzio_mod_CFLAGS): Likewise.
46790
46791 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46792 (pkgdata_MODULES): Added gzio.mod.
46793 (gzio_mod_SOURCES): New variable.
46794 (gzio_mod_CFLAGS): Likewise.
46795
46796 * commands/cat.c: Include grub/gzio.h.
46797 (grub_cmd_cat): Use grub_gzfile_open instead of
46798 grub_file_open.
f19dbdb7 46799
d9864ee1 46800 * commands/cmp.c: Include grub/gzio.h.
46801 (grub_cmd_cmp): Use grub_gzfile_open instead of
46802 grub_file_open.
46803
46804 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46805 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46806 grub_file_open.
46807 (grub_rescue_cmd_module): Likewise.
46808
fa46f4b5 468092005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46810
46811 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46812 kern/sparc64/ieee1275/init.c because it contains _start.
46813 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46814
e9211b5d 468152005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46816
46817 * configure.ac: Add support for sparc64 host with ieee1275
46818 firmware.
46819 * configure: Generated from configure.ac.
46820 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46821 instead of int.
46822 (grub_ofdisk_read): Likewise.
46823 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46824 pointers as (void *) to remove a warning.
46825 (grub_ofdisk_close): Likewise.
46826 (grub_ofdisk_read): Likewise.
46827 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46828 returns, so make it return void to remove a warning.
46829 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46830 Corresponding prototype change.
46831 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46832 values, and cast the pointers as (void *) to remove a warning.
46833 (grub_mm_dump): Likewise.
46834 * conf/sparc64-ieee1275.mk: New file.
46835 * conf/sparc64-ieee1275.rmk: Likewise.
46836 * include/grub/sparc64/setjmp.h: Likewise.
46837 * include/grub/sparc64/types.h: Likewise.
46838 * include/grub/sparc64/ieee1275/console.h: Likewise.
46839 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46840 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46841 * include/grub/sparc64/ieee1275/time.h: Likewise.
46842 * kern/sparc64/cache.c: Likewise.
46843 * kern/sparc64/dl.c: Likewise.
46844 * kern/sparc64/ieee1275/init.c: Likewise.
46845 * kern/sparc64/ieee1275/openfw.c: Likewise.
46846
385c6a92 468472005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46848
46849 * util/console.c (grub_ncurses_putchar): If C is greater than
46850 0x7f, set C to a question mark.
46851 (grub_ncurses_getcharwidth): New function.
46852 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46853 getcharwidth.
46854
46855 * normal/menu.c (print_entry): Made aware of Unicode. First,
46856 convert TITLE to UCS-4, and predict the cursor position by
46857 grub_getcharwidth.
46858
46859 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46860 const to SRC.
46861 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46862
16ccb8b1 468632005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46864
46865 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46866 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46867 grub_strcat.
46868
46869 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46870 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46871 grub_strcpy and grub_strlen. Take it into account that a space
46872 character is inserted as a delimiter.
46873
6a85ce79 468742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46875
46876 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46877 invalid magic in the error.
6a85ce79 46878
46879 * commands/search.c: New file.
f19dbdb7 46880
6a85ce79 46881 * util/grub-emu.c (main): Call grub_search_init and
46882 grub_search_fini.
46883
46884 * kern/rescue.c (grub_rescue_print_disks): Removed.
46885 (grub_rescue_print_devices): New function.
46886 (grub_rescue_cmd_ls): Use grub_device_iterate with
46887 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46888 grub_rescue_print_disks.
46889
46890 * kern/partition.c (grub_partition_iterate): Return the result of
46891 PARTMAP->ITERATE instead of GRUB_ERRNO.
46892
46893 * kern/device.c: Include grub/partition.h.
46894 (grub_device_iterate): New function.
46895
46896 * include/grub/partition.h (grub_partition_iterate): Return int
46897 instead of grub_err_t.
46898
46899 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46900 prototype.
46901 [GRUB_UTIL] (grub_search_fini): Likewise.
46902
46903 * include/grub/device.h (grub_device_iterate): New prototype.
46904
46905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46906 commands/search.c.
46907 (pkgdata_MODULES): Added search.mod.
46908 (search_mod_SOURCES): New variable.
46909 (search_mod_CFLAGS): Likewise.
46910
46911 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46912 (pkgdata_MODULES): Added search.mod.
46913 (search_mod_SOURCES): New variable.
46914 (search_mod_CFLAGS): Likewise.
46915
46916 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46917 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46918 All callers changed.
46919
46920 * DISTLIST: Added commands/search.c.
46921
ef095434 469222005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46923
46924 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46925 conversion.
46926 (grub_getcharwidth): New function.
46927
46928 * kern/misc.c (grub_utf8_to_ucs4): New function.
46929
46930 * include/grub/term.h (struct grub_term): Added a new member
46931 "getcharwidth".
46932 (grub_getcharwidth): New prototype.
46933
46934 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46935
46936 * term/i386/pc/console.c (map_char): New function. Segregated from
46937 grub_console_putchar.
46938 (grub_console_putchar): Use map_char.
46939 (grub_console_getcharwidth): New function.
46940 (grub_console_term): Specified grub_console_getcharwidth as
46941 getcharwidth.
46942
46943 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46944 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46945
46946 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46947 GRUB_ERRNO.
46948 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46949 on grub_strtoul completely.
46950 (write_char): Declare local variables in the beginning of the
46951 function.
46952 (grub_vesafb_getcharwidth): New function.
46953 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46954 getcharwidth.
46955
1f0a95e4 469562005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46957
46958 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46959 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46960 commands/i386/pc/vbetest.c.
46961
46962 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46963 call grub_vbe_get_controller_info again, because the returned
46964 information is volatile.
46965 (grub_vbe_set_video_mode): Mostly rewritten.
46966 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46967 grub_vbe_status_t correctly.
46968 (grub_vbe_get_video_mode_info): Likewise.
46969 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46970 several if statements.
46971
46972 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46973 * commands/i386/pc/vbeinfo.c: ... this.
46974
46975 * commands/i386/pc/vbe_test.c: Renamed to ...
46976 * commands/i386/pc/vbetest.c: ... this.
46977
46978 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46979 ...
46980 (grub_cmd_vbeinfo): ... this. Save video modes before
46981 iterating. Skip a video mode, if it is not available, not enough
46982 information is given or it is monochrome. Show the memory
46983 model. Leave the interpretation of MODEVAR to grub_strtoul
46984 completely.
46985 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46986 (GRUB_MOD_FINI): Likewise.
46987
46988 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46989 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46990 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46991 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46992 grub_strtoul completely.
46993 (real2pm): Removed.
46994 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46995 (GRUB_MOD_FINI): Likewise.
46996
46997 * normal/misc.c: Include grub/mm.h.
46998
46999 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47000 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47001 (vbe_list_modes_mod_SOURCES): Removed.
47002 (vbe_list_modes_mod_CFLAGS): Likewise.
47003 (vbe_test_mod_SOURCES): Likewise.
47004 (vbe_test_mod_CFLAGS): Likewise.
47005 (vbeinfo_mod_SOURCES): New variable.
47006 (vbeinfo_mod_CFLAGS): Likewise.
47007 (vbetest_mod_SOURCES): Likewise.
47008 (vbetest_mod_CFLAGS): Likewise.
47009
992ffbbe 470102005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47011
47012 * normal/misc.c: New file.
47013
47014 * DISTLIST: Added normal/misc.c.
f19dbdb7 47015
992ffbbe 47016 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47017 DISK to HOOK. Call HOOK with DISK.
47018 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47019 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47020 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47021
47022 * normal/menu_entry.c (struct screen): Added a new member
47023 "completion_shown".
47024 (completion_buffer): New global variable.
47025 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47026 (store_completion): New function.
47027 (complete): Likewise.
47028 (clear_completions): Likewise.
47029 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47030 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47031 a tab, call complete.
47032
47033 * normal/completion.c (disk_dev): Removed.
47034 (print_simple_completion): Likewise.
47035 (print_partition_completion): Likewise.
47036 (print_func): New global variable.
47037 (add_completion): Do not take the arguments WHAT or PRINT any
47038 longer. Added a new argument TYPE. Instead of printing directly,
47039 call PRINT_FUNC if not NULL.
47040 All callers changed.
47041 (complete_device): Use a local variable DEV instead of
47042 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47043 (grub_normal_do_completion): Take a new argument HOOK. Do not
47044 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47045 empty string, return NULL instead.
47046 All callers changed.
47047
47048 * normal/cmdline.c (print_completion): New function.
47049
47050 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47051 to HOOK.
47052 All callers changed.
47053
47054 * kern/disk.c (grub_print_partinfo): Removed.
47055
47056 * include/grub/partition.h (struct grub_partition_map): Add a new
47057 argument DISK into HOOK of ITERATE.
47058 (grub_partition_iterate): Add a new argument DISK to HOOK.
47059
47060 * include/grub/normal.h (enum grub_completion_type): New enum.
47061 (grub_completion_type_t): New type.
47062 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47063 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47064 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47065 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47066 (grub_normal_do_completion): Added a new argument HOOK.
47067 (grub_normal_print_device_info): New prototype.
47068
47069 * include/grub/disk.h (grub_print_partinfo): Removed.
47070
47071 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47072 (normal_mod_SOURCES): Likewise.
47073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47074 (normal_mod_SOURCES): Likewise.
47075
47076 * commands/ls.c (grub_ls_list_disks): Use
47077 grub_normal_print_device_info instead of grub_print_partinfo. Free
47078 PNAME.
47079 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47080 duplicating the code.
47081
0bd41162 470822005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47083
47084 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47085 follow GCS more precisely.
47086 * commands/i386/pc/vbe_test.c: Likewise.
47087 * include/grub/i386/pc/vbe.h: Likewise.
47088 * term/i386/pc/vesafb.c: Likewise.
47089 * video/i386/pc/vbe.c: Likewise.
0bd41162 47090
6323696a 470912005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47092
47093 * DISTLIST: Added term/i386/pc/vesafb.c
47094 DISTLIST: Added video/i386/pc/vbe.c
47095 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47096 DISTLIST: Added commands/i386/pc/vbe_test.c.
47097 * commands/i386/pc/vbe_list_modes.c: New file.
47098 * commands/i386/pc/vbe_test.c: Likewise.
47099 * term/i386/pc/vesafb.c: Likewise.
47100 * video/i386/pc/vbe.c: Likewise.
47101 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47102 (grub_vbe_probe) Added prototype.
47103 (grub_vbe_set_video_mode) Likewise.
47104 (grub_vbe_get_video_mode) Likewise.
47105 (grub_vbe_get_video_mode_info) Likewise.
47106 (grub_vbe_set_pixel_rgb) Likewise.
47107 (grub_vbe_set_pixel_index) Likewise.
47108 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47109 (pkgdata_MODULES): Added vesafb.mod.
47110 (pkgdata_MODULES): Added vbe_list_modes.mod.
47111 (pkgdata_MODULES): Added vbe_test.mod.
47112 (vbe_mod_SOURCES): Added.
47113 (vbe_mod_CFLAGS): Likewise.
47114 (vesafb_mod_SOURCES): Likewise.
47115 (vesafb_mod_CFLAGS): Likewise.
47116 (vbe_list_modes_mod_SOURCES): Likewise.
47117 (vbe_list_modes_mod_CFLAGS): Likewise.
47118 (vbe_test_mod_SOURCES): Likewise.
47119 (vbe_test_mod_CFLAGS): Likewise.
47120
0a74e62f 471212005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47122
0a74e62f 47123 * normal/command.c (grub_command_execute): If INTERACTIVE is
47124 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47125 CMDLINE. Disable the pager if INTERACTIVE is true.
47126 All callers are changed.
47127
47128 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47129 before reading a config file.
47130 * normal/main.c (read_config_file): Even if a command is not
47131 found, register it if it is within an entry.
47132
47133 * util/grub-emu.c: Include sys/types.h and unistd.h.
47134 (options): Added --hold.
47135 (struct arguments): Added a new member "hold".
47136 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47137 missing.
47138 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47139 cleared by a debugger, if it is not zero.
47140
47141 * include/grub/normal.h (grub_command_execute): Add an argument
47142 INTERACTIVE.
47143
e51f85ae 471442005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47145
47146 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47147
e9c6f39b 471482005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47149
47150 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47151 program with another one, because the old one didn't detect a bug
47152 in gcc-3.4. Always use regparm 2, because the new test is still
47153 not enough for gcc-4.0. Someone must investigate a simple test
47154 case which detects a bug in gcc-4.0.
47155
8de3495c 471562005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47157
47158 * DISTLIST: Added normal/completion.c.
47159
47160 * normal/completion.c: New file.
f19dbdb7 47161
8de3495c 47162 * term/i386/pc/console.c (grub_console_getwh): New function.
47163 (grub_console_term): Assign grub_console_getwh to getwh.
47164
47165 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47166 function is defined in normal/completion.c as
47167 grub_normal_do_completion.
47168 (grub_cmdline_get): Use grub_normal_do_completion instead of
47169 grub_tab_complete.
47170
47171 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47172 returns non-zero, otherwise return 0.
47173 (grub_partition_iterate): First, probe the partition map. Then,
47174 call ITERATE only for this partition map.
47175
47176 * kern/misc.c (grub_strncmp): Rewritten.
47177
47178 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47179 returns non-zero. Otherwise return 0.
47180
47181 * include/grub/partition.h (grub_partition_map_iterate): Return
47182 int instead of void.
47183
47184 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47185
47186 * include/grub/misc.h (grub_strncmp): Change the type of N to
47187 grub_size_t.
47188
47189 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47190 of void.
47191
47192 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47193 unsigned explicitly before comparing it with I.
8de3495c 47194
47195 * kern/main.c (grub_env_write_root): Add the attribute unused into
47196 VAR.
47197
47198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47199 normal/completion.c.
47200 (normal_mod_SOURCES): Likewise.
47201 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47202 (normal_mod_SOURCES): Likewise.
47203
47204 * normal/command.c (grub_iterate_commands): If ITERATE returns
47205 non-zero, return one immediately.
47206
e85e144b 472072005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47208
47209 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47210 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47211 descriptions.
47212 (grub_vbe_get_controller_info): New function.
47213 (grub_vbe_get_mode_info): Likewise.
47214 (grub_vbe_set_mode): Likewise.
47215 (grub_vbe_get_mode): Likewise.
47216 (grub_vbe_set_memory_window): Likewise.
47217 (grub_vbe_get_memory_window): Likewise.
47218 (grub_vbe_set_scanline_length): Likewise.
47219 (grub_vbe_get_scanline_length): Likewise.
47220 (grub_vbe_set_display_start): Likewise.
47221 (grub_vbe_get_display_start): Likewise.
47222 (grub_vbe_set_palette_data): Likewise.
47223 * include/grub/i386/pc/vbe.h: New file.
47224
c46153d2 472252005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47226
47227 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47228 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47229 * DISTLIST: Likewise.
47230 * kern/ieee1275/of.c: Moved to ...
47231 * kern/ieee1275/ieee1275.c: ... here.
47232
0cb90c45 472332005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47234
47235 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47236 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47237 Pass 0 as `end' parameter to grub_strtoul().
47238
a19fb360 472392005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47240
47241 * include/grub/powerpc/ieee1275/console.h: Do not include
47242 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47243 ifdef.
47244 (grub_console_cur_color): Remove i386-specific prototype.
47245 (grub_console_real_putchar): Likewise.
47246 (grub_console_checkkey): Likewise.
47247 (grub_console_getkey): Likewise.
47248 (grub_console_getxy): Likewise.
47249 (grub_console_gotoxy): Likewise.
47250 (grub_console_cls): Likewise.
47251 (grub_console_setcursor): Likewise.
47252 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47253 Include <grub/machine/console.h>.
47254 * term/ieee1275/ofconsole.c: Likewise.
47255
4ac9bd04 472562005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47257
47258 * Makefile.in (LIBLZO): New variable.
47259
47260 * configure.ac: Check for LZO version 2.
47261
47262 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47263 lzo/lzo1x.h instead of lzo1x.h.
47264
47265 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47266 of -llzo.
47267
47268 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47269 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47270
47271 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47272 copying the data from PARTITION to P.
47273
f4917dfd 472742005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47275
47276 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47277 negative, unload the module.
47278
47279 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47280 map is "pc_partition_map" but not "pc".
47281 (usage): Fix the description. The options are --boot-image and
47282 --core-image but not --boot-file or --core-file.
47283 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47284 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47285 DEFAULT_DIRECTORY.
47286
47287 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47288 --core-file. Specify INSTALL_DEVICE as an argument.
47289
47290 * util/console.c: Include config.h.
47291 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47292 [HAVE_NCURSES_H]: Include ncurses.h.
47293 [HAVE_CURSES_H]: Include curses.h.
47294 [!A_NORMAL] (A_NORMAL): Defined as zero.
47295 [!A_STANDOUT] (A_STANDOUT): Likewise.
47296
47297 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47298 -lncurses.
47299 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47300
47301 * configure.ac: Check for curses libraries and headers.
47302
47303 * Makefile.in (LIBCURSES): New variable.
47304
47305 * genmk.rb (Script::rule): Set the executable bits.
47306
47307 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47308 name of the PC partition map is "pc_partition_map" but not "pc".
47309
0e143073 473102005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47311
47312 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47313 (modules): Likewise.
47314 (usage): Added descriptions for --modules and --grub-probefs.
47315 Handle --modules and --grub-probefs. Save the arguments in MODULES
47316 and GRUB_PROBEFS, respectively.
47317 Auto-detect a filesystem module against GRUBDIR. If the result is
47318 empty and modules are not specified explicitly, abort the
47319 installation. Add the result to MODULES.
47320
47321 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47322 disk/powerpc/ieee1275/ofdisk.c,
47323 include/grub/powerpc/ieee1275/init.h and
47324 term/powerpc/ieee1275/ofconsole.c.
47325 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47326 term/ieee1275/ofconsole.c.
47327
47328 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47329
47330 * COPYING: Upgraded to the latest version. Only the address of the
47331 FSF office has changed.
f19dbdb7 47332
efd6e6d5 473332005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47334
47335 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47336 kern/ieee1275.c with kern/ieee1275/of.c.
47337
47338 * kern/ieee1275.c: Moved to ...
47339 * kern/ieee1275/of.c: ... here.
47340
8ceafda2 473412005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47342
47343 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47344 readability.
8ceafda2 47345
47346 * config.guess: Updated to the latest version from gnulib.
47347 * config.sub: Likewise.
47348 * install.sh: Likewise.
47349 * mkinstalldirs: Likewise.
47350
47351 * include/grub/console.h: Removed. This file is arch-specific. Do
47352 not put this in include/grub.
47353
47354 * include/grub/i386/pc/console.h: Resurrected.
47355
47356 * util/console.c: Include grub/machine/console.h instead of
47357 grub/console.h.
47358 * util/grub-emu.c: Likewise.
47359
267f6cd9 473602005-08-04 Marco Gerards <metgerards@student.han.nl>
47361
47362 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47363 hardcoded value.
f19dbdb7 47364
267f6cd9 47365 From Vincent Pelletier <subdino2004@yahoo.fr>
47366 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47367 Redefined to use grub_getwh.
47368 (grub_term): New member named getwh.
47369 (grub_getwh): New prototype.
47370 * kern/term.c (grub_getwh): New function.
47371 * term/i386/pc/console.c (grub_console_getwh): New function.
47372 (grub_console_term): New member `getwh'.
47373 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47374 (grub_vga_term): New member `getwh'.
0b5abe02 47375 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47376 grub_ssize_t.
47377 (grub_ofconsole_getw): New function.
47378 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47379 (grub_ofconsole_term): New field named getwh and new initial
47380 value.
47381
3be7266d 473822005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47383
47384 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47385 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47386 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47387 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47388 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47389 of <grub/machine/ieee1275.h>.
47390 * commands/ieee1275/reboot.c: Likewise.
47391 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47392 * kern/ieee1275.c: ... to here. All users updated. Change all
47393 parameter structs to use new type `grub_ieee1275_cell_t'.
47394 * term/powerpc/ieee1275/ofconsole.c: Move ...
47395 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47396 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47397 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47398 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47399 to return int.
47400 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47401 Remove unused prototypes. All users updated.
47402 * include/grub/powerpc/ieee1275/console.h: Removed.
47403 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47404 `grub_ieee1275_cell_t'.
47405 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47406 Cast comparisons with -1 to the correct type.
47407 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47408 type to match `grub_ieee1275_entry_fn'.
47409
8b5f3938 474102005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47411
47412 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47413
47414 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47415 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47416 partmap/sun.c.
47417 (grub_probefs_SOURCES): New variable.
47418
47419 * util/i386/pc/grub-probefs.c: New file.
47420
47421 * util/i386/pc/grub-setup.c (main): Call
47422 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47423 grub_hfs_init and grub_jfs_init to initialize the system. Call
47424 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47425 grub_pc_partition_map_fini to finish the system.
47426
ea409713 474272005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47428
47429 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47430 function.
47431 (grub_multiboot_load_elf32): Likewise.
47432 (grub_multiboot_is_elf64): Likewise.
47433 (grub_multiboot_load_elf64): Likewise.
47434 (grub_multiboot_load_elf): Likewise.
47435 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47436 an ELF32 or ELF64 file.
47437 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47438
47439 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47440 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47441 NULL before calling FS->LABEL.
47442 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47443 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47444 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47445 before calling FS->LABEL.
47446
141a288b 474472005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47448
47449 * util/i386/pc/grub-install.in (datadir): New variable.
47450 (libdir): Removed.
47451 (pkgdatadir): New variable.
47452 (pkglibdir): Removed.
47453
0d5f8a54 474542005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47455
47456 * DISTLIST: Added util/i386/pc/grub-install.in.
47457
47458 * util/i386/pc/grub-install.in: New file.
47459
47460 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47461 (grub_install_SOURCES): Likewise.
47462
47463 * genmk.rb: Added support for scripts.
47464 (Script): New class.
47465 (scripts): New variable.
47466
47467 * Makefile.in (install-local): Install sbin_SCRIPTS by
47468 INSTALL_SCRIPT.
47469 (uninstall): Remove sbin_SCRIPTS.
47470
47471 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47472 device, try to get a GRUB device by
47473 grub_util_biosdisk_get_grub_dev.
47474 Free DEST_DEV.
47475
47476 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47477 description for --device-map.
47478
5f968e1e 474792005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47480
47481 Change the semantics of variable hooks. They now return strings
47482 instead of error values.
f19dbdb7 47483
5f968e1e 47484 * util/i386/pc/grub-setup.c: Include grub/env.h.
47485 (setup): Use grub_device_set_root instead of grub_env_set.
47486
47487 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47488 grub_env_get instead of grub_device_set_root and
47489 grub_device_get_root, respectively.
47490
47491 * kern/main.c (grub_env_write_root): New function.
47492 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47493 grub_env_set instead of grub_device_set_root.
47494
47495 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47496 many variables.
47497 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47498 rather than calling ENV->WRITE_HOOK afterwards.
47499 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47500 passing a pointer of a pointer.
47501 (grub_register_variable_hook): Change the types of "read_hook" and
47502 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47503 respectively.
47504 Allocate the default empty string on the heap, because this string
47505 may be freed later.
47506
47507 * kern/device.c: Include grub/env.h.
47508 (grub_device_set_root): Removed.
47509 (grub_device_get_root): Likewise.
47510 (grub_device_open): Use grub_env_get instead of
47511 grub_device_get_root.
47512
47513 * include/grub/env.h (grub_env_read_hook_t): New type.
47514 (grub_env_write_hook_t): Likewise.
47515 (grub_env_var): Change the types of "read_hook" and "write_hook"
47516 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47517 (grub_register_variable_hook): Likewise.
47518
47519 * include/grub/device.h (grub_device_set_root): Removed.
47520 (grub_device_set_root): Likewise.
47521
47522 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47523 make sure that DIRNAME terminates with '/', so that
47524 grub_fat_find_dir will fail if PATH is not a directory.
47525
47526 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47527 from DIRNAME.
47528 Use the qualifier auto for print_files and print_files_long.
47529 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47530 as a regular file.
47531 Put a newline only if there is no error.
47532 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47533 used.
47534
896f0afd 475352005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47536
47537 * kern/partition.c (grub_partition_probe): Initialize PART to
47538 NULL. Otherwise, when no partition map is registered, this returns
47539 a garbage.
47540
b28b81b2 475412005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47542
47543 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47544 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47545 valid.
47546
5f3607e0 475472005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47548
47549 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47550 information on each device, if it does not have partitions. Print
47551 "Device" instead of "Disk", because this function is not specific
47552 to disk devices.
47553
47554 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47555 static to ensure that it is put on the memory rather than a
47556 register.
47557
502c87e8 475582005-07-17 Yoshinori Okuji <okuji@enbug.org>
47559
47560 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47561 (grub_cat_init): Likewise.
47562 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47563 (options): Likewise.
47564 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47565 (grub_configfile_init): Likewise.
47566 * font/manager.c (GRUB_MOD_INIT): Likewise.
47567 * commands/help.c (GRUB_MOD_INIT): Likewise.
47568 (grub_help_init): Likewise.
47569 * normal/command.c (grub_command_init): Likewise.
47570 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47571 * disk/loopback.c (grub_loop_init): Likewise.
47572 (GRUB_MOD_INIT): Likewise.
47573 * commands/ls.c (grub_ls_init): Likewise.
47574 (GRUB_MOD_INIT): Likewise.
47575 (options): Likewise.
47576 * commands/boot.c (grub_boot_init): Likewise.
47577 (GRUB_MOD_INIT): Likewise.
47578 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47579 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47580 (GRUB_MOD_INIT): Likewise.
47581 * commands/cmp.c (grub_cmp_init): Likewise.
47582 (GRUB_MOD_INIT): Likewise.
47583
47584 * normal/arg.c: Use <> instead of "" to include header files.
47585 (SHORT_ARG_HELP): New macro.
47586 (SHORT_ARG_USAGE): Likewise.
47587 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47588 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47589 descriptions.
47590 (find_short): Check if C is 'h' or 'u' explicitly.
47591 (grub_arg_show_help): Use space characters instead of tabs. Treat
47592 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47593 are shown with --help and --usage only if they are not used for
47594 the command itself.
47595 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47596 'h' and 'u'.
47597
47598 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47599 const into "longarg". Change the type of "shortarg" to int.
47600
f806d18e 476012005-07-17 Yoshinori Okuji <okuji@enbug.org>
47602
47603 * boot/i386/pc/boot.S (boot_drive_check): New label.
47604
47605 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47606 macro.
47607
47608 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47609 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47610
e293232b 476112005-07-17 Yoshinori Okuji <okuji@enbug.org>
47612
47613 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47614 When turning off Gate A20, skip the check and return immediately,
47615 because this is not fatal usually.
47616
ebedfd00 476172005-07-17 Yoshinori Okuji <okuji@enbug.org>
47618
47619 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47620 be 0x7C00 instead of 0x8000.
47621
47622 * boot/i386/pc/pxeboot.S: Rewritten.
47623
47624 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47625 EXT_C.
47626 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47627 result.
47628
654fc59f 476292005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47630
47631 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47632 robustness. This routine now supports a BIOS call and System
47633 Control Port A to modify the gate A20.
47634
47635 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47636 Increased to 0x440.
47637
09f9923f 476382005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47639
47640 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47641 device path and resulting ihandle.
47642 (grub_ofdisk_close): dprintf the ihandle being closed.
47643 (grub_ofdisk_read): dprintf function parameters.
47644 * kern/mm.c (grub_mm_init_region): Likewise.
47645 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47646 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47647 size, and boot arguments.
47648 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47649 before loading into memory.
47650 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47651 before loading into memory.
47652
7ef504d8 476532005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47654
47655 * kern/mm.c: Added much documentation.
47656 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47657 8, set to 5 instead of 8.
47658
e0f050c2 476592005-07-10 Yoshinori Okuji <okuji@enbug.org>
47660
47661 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47662
47663 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47664 (grub_mkdevicemap_SOURCES): New variable.
47665
47666 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47667 lib/device.c of GRUB Legacy.
47668
7224189a 476692005-07-10 Yoshinori Okuji <okuji@enbug.org>
47670
47671 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47672 instead of PATH is NULL.
47673
68c864eb 476742005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47675
47676 * commands/cmp.c (BUFFER_SIZE): New macro.
47677 (grub_cmd_cmp): Close the right file at the right time. Compare
47678 only data just read. Don't report files of different size as
47679 identical. Dynamically allocate buffers. Move variable
47680 declarations at the beginning of function.
47681
e6f3e614 476822005-07-09 Yoshinori Okuji <okuji@enbug.org>
47683
47684 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47685 reverse.
47686
f8f1559a 476872004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47688
47689 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47690 when backspace is pressed at beginning of line.
47691
39c9d41d 476922005-07-03 Yoshinori Okuji <okuji@enbug.org>
47693
47694 * DISTLIST: Added genfslist.sh.
47695
47696 * normal/main.c (fs_module_list): New variable.
47697 (autoload_fs_module): New function.
47698 (read_fs_list): Likewise.
47699 (grub_normal_execute): Call read_fs_list.
47700
47701 * kern/fs.c (grub_fs_autoload_hook): New variable.
47702 (grub_fs_probe): Added support for auto-loading.
47703
47704 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47705 (grub_fs_module_list_t): New type.
47706
47707 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47708 (grub_fs_autoload_hook): New prototype.
47709
47710 * genfslist.sh: New file.
f19dbdb7 47711
39c9d41d 47712 * genmk.rb: Added a rule to generate a filesystem list.
47713
121c1d83 477142005-06-30 Marco Gerards <metgerards@student.han.nl>
47715
47716 * configure.ac: Fix the test for cross-compiling.
47717
47718 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47719 define GRUB_UTIL anymore.
47720
47721 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47722 so this function works on other systems than just big endian.
47723 (load_modules): Likewise.
47724 (add_segments): Likewise.
47725
e75d76e1 477262005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47727
47728 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47729 contains `l' modifier, get a long from va_arg().
47730
50b5a0a7 477312005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47732
47733 * kern/mm.c (grub_free): If the next free block which is being
47734 merged is the first free block, set the first block to the block
47735 being freed.
47736 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47737
89371b20 477382005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47739
47740 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47741 `grub_ieee1275_chosen'.
47742
168d6e58 477432005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47744
47745 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47746 (grub_ieee1275_chosen): New variable.
47747 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47748 `chosen'.
47749 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47750 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47751 Rename first argument to `phandle' for consistency.
47752 (grub_ieee1275_get_property_length): Likewise.
47753 (grub_ieee1275_next_property): Likewise. Change type of first argument
47754 to grub_ieee1275_phandle_t.
47755 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47756 Move export next to declaration.
47757 (grub_ieee1275_chosen): New variable.
47758 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47759 Correct cosmetic typo.
47760 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47761 `grub_ieee1275_chosen'.
47762 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47763 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47764 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47765 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47766 `grub_ieee1275_chosen'.
47767
ca5baa3f 477682005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47769
47770 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47771 /chosen/bootargs.
47772 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47773 /chosen/bootargs as "variable=value" pairs.
47774
708b345f 477752005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47776
47777 * include/grub/misc.h (grub_dprintf): New macro.
47778 (grub_real_dprintf): New prototype.
47779 (grub_strword): Likewise.
47780 (grub_iswordseparator): Likewise.
47781 * kern/misc.c (grub_real_dprintf): New function.
47782 (grub_strword): Likewise.
47783 (grub_iswordseparator): Likewise.
47784
f4c5e67c 477852005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47786
47787 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47788 (roundup): Remove macro.
47789 (grub_ieee1275_flags): Make static.
47790 (grub_ieee1275_realmode): Remove.
47791 (grub_ieee1275_test_flag): New function.
47792 (grub_ieee1275_set_flag): Likewise.
47793 (find_options): Rename to `grub_ieee1275_find_options'; update
47794 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47795 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47796 (cmain): New prototype.
47797 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47798 `grub_ieee1275_flags' directly.
47799 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47800 machine/biosdisk.h.
47801 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47802 Don't include grub/machine/init.h.
47803 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47804 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47805 Remove prototype.
47806 (grub_ieee1275_realmode): Likewise.
47807 (grub_ieee1275_flag): New enum.
47808 (grub_ieee1275_test_flag): New prototype.
47809 (grub_ieee1275_set_flag): New prototype.
47810 * include/grub/powerpc/ieee1275/init.h: Remove file.
47811 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47812 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47813 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47814 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47815 comment.
47816 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47817 `grub_ieee1275_test_flag'.
47818 (grub_ieee1275_encode_devname): Likewise.
47819
ed16607e 478202005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47821
47822 * include/grub/powerpc/ieee1275/ieee1275.h
47823 (grub_ieee1275_encode_devname): New prototype.
47824 (grub_ieee1275_get_filename): Likewise.
47825 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47826 function.
47827 (grub_set_prefix): Likewise.
47828 (grub_machine_init): Call grub_set_prefix.
47829 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47830 (grub_parse_type): New enum.
47831 (grub_ieee1275_get_devargs): New function.
47832 (grub_ieee1275_get_devname): Likewise.
47833 (grub_ieee1275_parse_args): Likewise.
47834 (grub_ieee1275_get_filename): Likewise.
47835 (grub_ieee1275_encode_devname): Likewise.
47836
be369920 478372005-03-30 Marco Gerards <metgerards@student.han.nl>
47838
47839 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47840 `grub_loader_unset'.
47841
a5ce3a4a 478422005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47843
47844 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47845 instead of grub_ieee1275_interpret.
47846 (grub_halt_init): New function.
47847 (grub_halt_fini): Likewise.
47848 (GRUB_MOD_INIT): Correct message grammar.
47849 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47850 instead of grub_ieee1275_interpret.
47851 (grub_reboot_init): New function.
47852 (grub_reboot_fini): Likewise.
47853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47854 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47855 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47856 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47857 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47858 function.
47859 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47860 Add prototype.
47861 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47862 prototype.
47863 (grub_halt): Likewise.
47864 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47865 (cmain): Remove __attribute__((unused)).
47866 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47867 (grub_heap_len): Likewise.
47868 (grub_machine_fini): New function.
47869 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47870 (grub_halt): Likewise.
47871 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47872 function.
47873 * util/powerpc/ieee1275/misc.c: New file.
47874
0058f771 478752005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47876
47877 * DISTLIST: New file.
47878 * gendistlist.sh: Likewise.
f19dbdb7 47879
0058f771 47880 * Makefile.in (COMMON_DISTFILES): Removed.
47881 (BOOT_DISTFILES): Likewise.
47882 (CONF_DISTFILES): Likewise.
47883 (DISK_DISTFILES): Likewise.
47884 (FS_DISTFILES): Likewise.
47885 (INCLUDE_DISTFILES): Likewise.
47886 (KERN_DISTFILES): Likewise.
47887 (LOADER_DISTFILES): Likewise.
47888 (TERM_DISTFILES): Likewise.
47889 (UTIL_DISTFILES): Likewise.
47890 (DISTFILES): Likewise.
47891 (uninstall): Uninstall files in $(pkgdata_DATA).
47892 (DISTLIST): New target.
47893 (distdir): Use the contents of the file DISTLIST to get a list of
47894 distributed files.
47895
46b3b8a5 478962005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47897
47898 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47899 descriptor. This is ported from GRUB Legacy.
47900
47901 * gencmdlist.sh: Added an extra semicolon to make it work with
47902 old sed versions. Reported by Robert Bihlmeyer
47903 <robbe@orcus.priv.at>.
47904
5822ff87 479052005-03-08 Yoshinori Okuji <okuji@enbug.org>
47906
47907 Automatic loading of commands is supported.
f19dbdb7 47908
5822ff87 47909 * normal/main.c (read_command_list): New function.
47910 (grub_normal_execute): Call read_command_list.
47911
47912 * normal/command.c (grub_register_command): Return zero or CMD.
47913 Allocate CMD->NAME from the heap.
47914 Initialize CMD->MODULE_NAME to zero.
47915 Find the same name as well. If the same command is found and it is
47916 a dummy command, overwrite members. If it is not a dummy command,
47917 return zero.
47918 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47919 (grub_command_find): If a dummy command is found, load a module
47920 and retry to find a command only once.
47921
47922 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47923 make sure that each command is loaded.
47924
47925 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47926 macro.
47927 (struct grub_command): Remove const from the member `name'.
47928 Add a new member `module_name'.
47929 (grub_register_command): Return grub_command_t.
47930
47931 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47932 sure that each command is loaded.
47933
47934 * genmk.rb (PModule::rule): Specify a module name without the
47935 suffix ".mod" to gencmdlist.sh.
47936
7b1f4b57 479372005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47938
47939 * gencmdlist.sh: New file.
f19dbdb7 47940
7b1f4b57 47941 * genmk.rb (PModule::rule): Generate a rule for a command list.
47942 Clean command.lst.
47943 Generate command.lst from $(COMMANDFILES).
47944
47945 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47946 (DATA): Added $(pkgdata_DATA).
47947 (install-local): Install files in $(pkgdata_DATA).
47948
062aaf39 479492005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47950
47951 * term/i386/pc/vga.c (debug_command): Removed.
47952 (GRUB_MOD_INIT): Do not register the command "debug".
47953
47954 From Hollis Blanchard:
47955 * commands/configfile.c: New file.
47956 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47957 commands/configfile.c.
47958 (pkgdata_MODULES): Added configfile.mod.
47959 (configfile_mod_SOURCES): New variable.
47960 (configfile_mod_CFLAGS): Likewise.
47961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47962 commands/configfile.c.
47963 (pkgdata_MODULES): Added configfile.mod.
47964 (configfile_mod_SOURCES): New variable.
47965 (configfile_mod_CFLAGS): Likewise.
47966 * util/grub-emu.c (main): Call grub_configfile_init and
47967 grub_configfile_fini.
47968 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47969 prototype.
47970 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47971
cee01aa6 479722005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47973
47974 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47975 address.
47976
47977 * commands/help.c (grub_cmd_help): Do not print newlines after
47978 the last command in print_command_help.
47979
93f3a1d8 479802005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47981
47982 * commands/default.h: New file.
47983 * commands/timeout.h: Likewise.
47984 * normal/context.c: Likewise.
f19dbdb7 47985
93f3a1d8 47986 * util/misc.c: Do not include sys/times.h.
47987 Include sys/time.h and grub/machine/time.h.
47988 (grub_get_rtc): Rewritten with gettimeofday.
47989
47990 * util/grub-emu.c (main): Call grub_default_init and
47991 grub_timeout_init before grub_normal_init, and call
47992 grub_timeout_fini and grub_default_fini after grub_main.
47993
47994 * util/console.c (grub_ncurses_checkkey): Return the read
47995 character or -1.
47996
47997 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47998 timeouts.
47999
48000 * normal/main.c (read_config_file): Push MENU. If this fails,
48001 print an error and wait for a user input.
48002 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48003 If a menu is empty or an error occurs, pop MENU.
48004 (grub_normal_execute): Pop and free MENU after grub_menu_run
48005 returns.
48006
48007 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48008
48009 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48010 include time.h.
48011 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48012 without GRUB_UTIL.
48013 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48014 time.h.
48015 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48016 without GRUB_UTIL.
48017
48018 * include/grub/normal.h (struct grub_menu_list): New struct.
48019 (grub_menu_list_t): New type.
48020 (struct grub_context): New struct.
48021 (grub_context_t): New type.
48022 (grub_register_command): Got rid of EXPORT_FUNC.
48023 (grub_unregister_command): Likewise.
48024 (grub_context_get): New prototype.
48025 (grub_context_get_current_menu): Likewise.
48026 (grub_context_push_menu): Likewise.
48027 (grub_context_pop_menu): Likewise.
48028 [GRUB_UTIL] (grub_default_init): Likewise.
48029 [GRUB_UTIL] (grub_default_fini): Likewise.
48030 [GRUB_UTIL] (grub_timeout_init): Likewise.
48031 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48032
48033 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48034 commands/timeout.c and normal/context.c.
48035 (pkgdata_MODULES): Added default.mod and timeout.mod.
48036 (normal_mod_SOURCES): Added normal/context.c.
48037 (default_mod_SOURCES): New variable.
48038 (default_mod_CFLAGS): Likewise.
48039 (timeout_mod_SOURCES): Likewise.
48040 (timeout_mod_CFLAGS): Likewise.
48041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48042 conf/i386-pc.rmk.
48043 (pkgdata_MODULES): Added default.mod and timeout.mod.
48044 (normal_mod_SOURCES): Added normal/context.c.
48045 (default_mod_SOURCES): New variable.
48046 (default_mod_CFLAGS): Likewise.
48047 (timeout_mod_SOURCES): Likewise.
48048 (timeout_mod_CFLAGS): Likewise.
48049
48050 * Makefile.in (all-local): Added $(MKFILES).
48051
4ed2e1dd 480522005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48053
48054 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48055 (grub_emu_SOURCES): Likewise.
48056 (pkgdata_MODULES): Add `sun.mod'.
48057 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48059 `partmap/sun.c'.
48060 (pkgdata_MODULES): Add `sun.mod'.
48061 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48062 * include/grub/partition.h (grub_sun_partition_map_init): New
48063 prototype.
48064 (grub_sun_partition_map_fini): Likewise.
48065 * partmap/sun.c: New file.
48066 * util/grub-emu.c (main): Initialize and de-initialize the sun
48067 partitionmap support.
48068
4d4e372e 480692005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48070
48071 This implements an Emacs-like menu entry editor.
f19dbdb7 48072
4d4e372e 48073 * normal/menu_entry.c: New file.
f19dbdb7 48074
4d4e372e 48075 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48076 characters to ASCII.
48077 (saved_char): New variable.
48078 (grub_ncurses_checkkey): Rewritten completely.
48079 (grub_ncurses_getkey): Likewise.
48080 (grub_ncurses_init): Call raw instead of cbreak.
48081
48082 * normal/menu.c (print_entry): Do not put a space.
48083 (init_page): Renamed to ...
48084 (grub_menu_init_page): ... this. All callers changed.
48085 (edit_menu_entry): Removed.
48086 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48087
48088 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48089
48090 * kern/misc.c (grub_vprintf): Call grub_refresh.
48091
48092 * normal/menu.c (DISP_LEFT): Renamed to ...
48093 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48094 * normal/menu.c (DISP_UP): Renamed to ...
48095 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48096 * normal/menu.c (DISP_RIGHT): Renamed to ...
48097 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48098 * normal/menu.c (DISP_DOWN): Renamed to ...
48099 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48100 * normal/menu.c (DISP_HLINE): Renamed to ...
48101 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48102 * normal/menu.c (DISP_VLINE): Renamed to ...
48103 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48104 * normal/menu.c (DISP_UL): Renamed to ...
48105 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48106 * normal/menu.c (DISP_UR): Renamed to ...
48107 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48108 * normal/menu.c (DISP_LL): Renamed to ...
48109 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48110 * normal/menu.c (DISP_LR): Renamed to ...
48111 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48112 * normal/menu.c (TERM_WIDTH): Renamed to ...
48113 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48114 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48115 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48116 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48117 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48118 * normal/menu.c (TERM_MARGIN): Renamed to ...
48119 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48120 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48121 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48122 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48123 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48124 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48125 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48126 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48127 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48128 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48129 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48130 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48131 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48132 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48133 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48134 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48135 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48136 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48137 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48138 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48139 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48140 All callers changed.
48141
48142 * include/grub/normal.h: New prototype.
48143
48144 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48145 normal/menu_entry.c.
48146 (normal_mod_SOURCES): Likewise.
48147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48148 (normal_mod_SOURCES): Likewise.
48149
e6b92c8a 481502005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48151
48152 * include/grub/normal.h (grub_halt_init): New prototype.
48153 (grub_halt_fini): Likewise.
48154 (grub_reboot_init): Likewise.
48155 (grub_reboot_fini): Likewise.
48156
48157 * util/grub-emu.c: Include signal.h.
48158 (main_env): New global variable.
48159 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48160 catch C-c.
48161 (grub_machine_fini): New function.
48162 (main): Call grub_halt_init and grub_reboot_init before
48163 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48164 Call setjmp with MAIN_ENV to go back afterwards.
48165 Call grub_machine_fini right before return.
48166
48167 * include/grub/util/misc.h: Include setjmp.h.
48168 (main_env): New prototype.
48169
48170 * include/grub/kernel.h (grub_machine_fini): New prototype.
48171 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48172 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48173
48174 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48175 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48176 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48177
e6b92c8a 48178 * util/i386/pc/misc.c: New file.
f19dbdb7 48179
e6b92c8a 48180 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48181 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48182 commands/i386/pc/reboot.c.
48183
c642636f 481842005-02-14 Guillem Jover <guillem@hadrons.org>
48185
48186 * include/grub/dl.h (grub_dl_check_header): New prototype.
48187 (grub_arch_dl_check_header): Change return type to grub_err_t,
48188 remove size parameter and export function. Update all callers.
48189 * kern/dl.c (grub_dl_check_header): New function.
48190 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48191 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48192 are inside the core.
48193 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48194 independent ELF header checks.
48195 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48196 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48197 `grub_dl_check_header' instead of explicit checks. Check for the
48198 ELF type.
48199 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48200 `grub_dl_check_header' instead of explicit checks. Remove arch
48201 specific ELF header checks.
48202
e6b92c8a 48203 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48204 argument SIZE.
48205
5eabe94b 482062005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48207
48208 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48209 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48210
1b14a681 482112005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48212
48213 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48214 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48215 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48216 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48217 * partmap/amiga.c (amiga_partition_map_iterate): Return
48218 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48219 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48220
aca108aa 482212005-02-01 Guillem Jover <guillem@hadrons.org>
48222
48223 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48224 help info.
48225
c9f9c556 482262005-01-31 Marco Gerards <metgerards@student.han.nl>
48227
48228 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48229 Removed prototype.
48230 (grub_rescue_cmd_linux): New prototype.
48231 (grub_rescue_cmd_initrd): Likewise.
48232 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48233 `bi_rec'.
48234 (grub_linux_release_mem): Release the memory for the initrd.
48235 (grub_load_linux): Renamed from this...
48236 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48237 Changed `entry' not to be static. Loop over memory regions to
48238 find another one when the default fails.
48239 (grub_rescue_cmd_initrd): New function.
48240 (grub_linux_init): Remove function.
48241 (grub_linux_fini): Likewise.
48242 (GRUB_MOD_INIT): Register `initrd'.
48243 (GRUB_MOD_FINI): Unregister `initrd'.
48244 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48245 Function removed.
48246 (grub_linux_normal_fini): Likewise.
48247 (GRUB_MOD_INIT): Register `initrd'.
48248 (GRUB_MOD_FINI): Unregister `initrd'.
48249
990cf3aa 482502005-01-31 Marco Gerards <metgerards@student.han.nl>
48251
48252 * commands/help.c: New file.
48253 * normal/arg.c (show_help): Renamed to...
48254 (grub_arg_show_help): ... this.
48255 * commands/i386/pc/halt.c: New file.
48256 * commands/i386/pc/reboot.c: Likewise.
48257 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48258 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48259 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48260 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48261 variables.
48262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48263 `commands/help.c'.
48264 (pkgdata_MODULES): Add `help.mod'.
48265 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48266 * grub/i386/pc/init.h (grub_reboot): New prototype.
48267 (grub_halt): Likewise.
48268 * include/grub/normal.h (grub_arg_show_help): New prototype.
48269 (grub_help_init): Likewise.
48270 (grub_help_fini): Likewise.
48271 * util/grub-emu.c (main): Initialize and deinitialize the help
48272 command.
48273
48274 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48275
48276 * normal/command.c (grub_command_init): Fixed the description of
48277 the `set' and `unset' commands.
48278
482792005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48280
48281 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48282 function.
48283 * commands/ieee1275/halt.c: New file.
48284 * commands/ieee1275/reboot.c: Likewise.
48285 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48286 `__attribute__ ((unused))'. Some GCS related fixed.
48287 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48288 (grub_suspend_fini): Likewise.
48289 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48290 and `halt.mod'.
48291 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48292 (halt_mod_CFLAGS): New variables.
48293 * include/grub/powerpc/ieee1275/ieee1275.h
48294 (grub_ieee1275_interpret): New prototype.
48295
1ab09cc7 482962005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48297
48298 * include/grub/misc.h (memmove): New prototype.
48299 (memcpy): Likewise.
48300
8b8cbdb2 483012005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48302
48303 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48304 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48305
e3741a27 483062005-01-22 Marco Gerards <metgerards@student.han.nl>
48307
48308 * kern/misc.c (grub_strndup): Function rewritten.
48309
776bd780 483102005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48311
48312 * normal/menu.c (TERM_WIDTH): Macro redefined.
48313 (TERM_TOP_BORDER_Y): Likewise.
48314 (draw_border): Replaced while-loop by a for-loop. Make the number
48315 of lines consistent with the number of lines displayed in
48316 print_entries. Added a margin below the rectangle.
48317 (print_entry): Make the entry fit in the rectangle.
48318 (print_entries): Display the scroll arrows next to the right
48319 border.
48320
78026bce 483212005-01-21 Marco Gerards <metgerards@student.han.nl>
48322
48323 * fs/minix.c (grub_minix_find_file): Reserve more space for
48324 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48325 `grub_strncpy' to copy `path' into it.
48326
67bbaf0f 483272005-01-21 Marco Gerards <metgerards@student.han.nl>
48328
48329 Add the loopback device, a device via which files can be accessed
48330 as devices.
f19dbdb7 48331
67bbaf0f 48332 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48333 (pkgdata_MODULES): Add loopback.mod.
48334 (loopback_mod_SOURCES): New variable.
48335 (loopback_mod_CFLAGS): Likewise.
48336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48337 `disk/loopback.c'.
48338 (pkgdata_MODULES): Add loopback.mod.
48339 (loopback_mod_SOURCES): New variable.
48340 (loopback_mod_CFLAGS): Likewise.
48341 * disk/loopback.c: new file.
48342 * include/grub/normal.h (grub_loop_init): New prototype.
48343 (grub_loop_fini): New prototype.
48344 * util/grub-emu.c (main): Initialize and de-initialize loopback
48345 support.
48346 * include/grub/disk.h (grub_disk_dev_id): Add
48347 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48348
6f1c18bd 483492005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48350
48351 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48352 function.
48353 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48354 (suspend_mod_SOURCES): New variable.
48355 (suspend_mod_CFLAGS): Likewise.
48356 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48357 New prototype.
48358 * commands/ieee1275/suspend.c: New file.
48359
b38551da 483602005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48361
48362 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48363 ((unused))' to `__attribute__ ((used))'.
b38551da 48364 (GRUB_MOD_FINI): Likewise.
48365 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48366 * genmk.rb (PModule): Assign space to common symbols when linking
48367 modules.
48368
777aff39 483692005-01-20 Marco Gerards <metgerards@student.han.nl>
48370
48371 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48372 `unsigned' arguments to `grub_size_t'.
48373 (grub_malloc): Likewise.
48374 (grub_realloc): Likewise.
48375 (grub_memalign): Likewise.
48376 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48377 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48378 * util/misc.c (grub_malloc): Likewise.
48379 (grub_realloc): Likewise.
48380 * kern/mm.c (get_header_from_pointer): Change the casts to
48381 `unsigned' into a cast to `grub_size_t'.
48382
48383 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48384 point to `currnode' when `currnode' is changed.
48385
48386 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48387 Schottelius <nico-linux@schottelius.org>.
48388
d0ff18e1 483892005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48390
48391 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48392 (note_path): Remove variable.
48393 (GRUB_IEEE1275_NOTE_NAME): New macro.
48394 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48395 (grub_ieee1275_note_hdr): New structure.
48396 (grub_ieee1275_note_desc): Likewise.
48397 (grub_ieee1275_note): Likewise.
48398 (load_note): Remove `dir' argument. All callers updated. Remove
48399 `note_img' and `path'. Do not load a file from `note_path'.
48400 Initialize a struct grub_ieee1275_note and write that to `out'.
48401 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48402
4ca7004c 484032005-01-05 Marco Gerards <metgerards@student.han.nl>
48404
48405 * util/misc.c (grub_util_read_image): Revert last change. It
48406 called `grub_util_read_at', which seeks from the beginning of the
48407 file.
48408
0b412211 484092005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48410
48411 * TODO: Add note about endianness in grub-mkimage.
48412 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48413 section.
48414 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48415 (grub_mkimage_SOURCES): New target.
48416 * include/grub/kernel.h (grub_start_addr): Remove variable.
48417 (grub_end_addr): Likewise.
48418 (grub_total_module_size): Likewise.
48419 (grub_kernel_image_size): Likewise.
48420 (GRUB_MODULE_MAGIC): New constant.
48421 (grub_module_info): New structure.
48422 (grub_arch_modules_addr): New prototype.
48423 (grub_get_end_addr): Remove prototype.
48424 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48425 * include/grub/powerpc/ieee1275/kernel.h: New file.
48426 * include/grub/util/misc.h (grub_util_get_fp_size): New
48427 prototype.
48428 (grub_util_read_at): Likewise.
48429 (grub_util_write_image_at): Likewise.
48430 * kern/main.c (grub_get_end_addr): Remove function.
48431 (grub_load_modules): Call grub_arch_modules_addr instead of using
48432 grub_end_addr. Look for a grub_module_info struct in memory. Use
48433 the grub_module_info fields instead of calling grub_get_end_addr
48434 as loop conditions. Move grub_add_unused_region code here.
48435 (grub_add_unused_region): Remove function.
48436 * kern/i386/pc/init.c: Include grub/cache.h.
48437 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48438 one call to add_mem_region.
48439 (grub_arch_modules_addr): New function.
48440 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48441 (grub_total_module_size): Likewise.
48442 Include grub/machine/kernel.h.
48443 (grub_arch_modules_addr): New function.
48444 * util/grub-emu.c (grub_end_addr): Remove variable.
48445 (grub_total_module_size): Likewise.
48446 (grub_arch_modules_addr): New function.
48447 * util/misc.c: Include unistd.h.
48448 (grub_util_get_fp_size): New function.
48449 (grub_util_read_at): Likewise.
48450 (grub_util_write_image_at): Likewise.
48451 (grub_util_read_image): Call grub_util_read_at.
48452 (grub_util_write_image): Call grub_util_write_image_at.
48453 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48454 additional memory in kernel_img for a struct grub_module_info.
48455 Fill in that grub_module_info.
48456 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48457
458786f8 484582005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48459
48460 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48461 New function.
48462 * include/grub/powerpc/ieee1275/ieee1275.h
48463 (grub_ieee1275_milliseconds): New prototype.
48464 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48465 Change to 1000.
48466 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48467 grub_ieee1275_milliseconds.
48468
ac507d1b 484692005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48470
48471 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48472 variable.
48473 (find_options): New function.
48474 (cmain): Call find_options.
48475 * include/grub/powerpc/ieee1275/ieee1275.h
48476 (grub_ieee1275_realmode): New extern variable.
48477 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48478 grub_map if grub_ieee1275_realmode is false.
48479
6b8fd1c4 484802004-12-29 Marco Gerards <metgerards@student.han.nl>
48481
48482 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48483 lines are inserted and make it work like readline. Reported by
48484 Vincent Pelletier <subdino2004@yahoo.fr>.
48485
8514a1e0 484862004-12-28 Marco Gerards <metgerards@student.han.nl>
48487
48488 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48489
48490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48491 `kern/powerpc/cache.S'.
48492
924b6140 484932004-12-27 Marco Gerards <metgerards@student.han.nl>
48494
48495 * genmk.rb: Handle the `Program' class in the main loop. Written
48496 by Johan Rydberg <jrydberg@gnu.org>.
48497 (Program): New class.
48498 (programs): New variable.
48499 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48500 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48501 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48502 (help_arch): Function removed.
48503 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48504 `powerpc/libgcc.h' and `loader.h'.
48505 (pkgdata_PROGRAMS): New variable.
48506 (sbin_UTILITIES): Variable removed.
48507 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48508 (grubof_SOURCES): Variable re-defined so it only includes the
48509 core functionality.
48510 (grubof_CFLAGS): Remove `-DGRUBOF'.
48511 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48512 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48513 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48514 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48515 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48516 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48517 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48518 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48519 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48520 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48521 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48522 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48523 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48524 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48525 (pc_mod_CFLAGS): New variables.
48526 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48527 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48528 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48529 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48530 Moved from here...
48531 * include/grub/i386/pc/init.h (grub_os_area_addr)
48532 (rub_os_area_size): ... to here.
48533 * include/grub/powerpc/ieee1275/ieee1275.h
48534 (grub_ieee1275_entry_fn): Export symbol.
48535 * include/grub/powerpc/ieee1275/init.h: New file.
48536 * include/grub/powerpc/libgcc.h: Likewise.
48537 * include/grub/cache.h: Likewise.
48538 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48539 <hollis@penguinppc.org>.
48540 * kern/dl.c: Include <grub/cache.h>.
48541 (grub_dl_flush_cache): New function.
48542 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48543 for this module.
48544 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48545 (grub_console_init): Removed prototypes.
48546 (grub_machine_init): Don't initialize the modules anymore.
48547 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48548 static.
48549 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48550 Macro undef removed.
48551 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48552 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48553 relocation `R_PPC_REL32'. Return an error when the relocation is
48554 unknown.
48555 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48556 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48557 * util/misc.c (grub_arch_sync_caches): Likewise.
48558
e4b47e0c 485592004-12-19 Marco Gerards <metgerards@student.han.nl>
48560
48561 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48562 `symlist.c', add `grubof_symlist.c'.
48563 (symlist.c): Variable removed.
48564 (grubof_HEADERS): Variable added.
48565 (grubof_symlist.c): New target.
48566 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48567 `kernel_img_HEADERS'.
48568 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48569 * kern/powerpc/dl.c: New file.
48570 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48571 Function removed.
48572 (grub_arch_dl_relocate_symbols): Likewise.
48573 (grub_register_exported_symbols): Likewise.
48574
4ceb3636 485752004-12-13 Marco Gerards <metgerards@student.han.nl>
48576
48577 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48578 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48579 to fail instead. Reported by Vincent Pelletier
48580 <subdino2004@yahoo.fr>.
48581
48582 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48583 it is not allocated. Reported by Vincent Pelletier
48584 <subdino2004@yahoo.fr>.
48585
48586 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48587 output so the output looks better.
f19dbdb7 48588
3f1578fe 485892004-12-04 Marco Gerards <metgerards@student.han.nl>
48590
48591 Modulize the partition map support and add support for the amiga
48592 partition map.
f19dbdb7 48593
3f1578fe 48594 * commands/ls.c: Include <grub/partition.h> instead of
48595 <grub/machine/partition.h>.
48596 * kern/disk.c: Likewise.
48597 * kern/rescue.c: Likewise.
48598 * loader/i386/pc/chainloader.c: Likewise.
48599 * normal/cmdline.c: Likewise.
48600 * kern/powerpc/ieee1275/init.c: Likewise.
48601 (grub_machine_init): Call `grub_pc_partition_map_init',
48602 `grub_amiga_partition_map_init' and
48603 `grub_apple_partition_map_init'.
48604 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48605 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48606 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48607 `partition.h' and `pc_partition.h'.
48608 (grub_setup_SOURCES): Remove
48609 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48610 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48611 (grub_emu_SOURCES): Likewise.
48612 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48613 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48614 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48616 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48617 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48618 (grubof_SOURCES): Likewise.
48619 * disk/i386/pc/partition.c: File removed.
48620 * disk/powerpc/ieee1275/partition.c: Likewise.
48621 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48622 * include/grub/i386/pc/partition.h: Likewise.
48623 * kern/partition.c: New file.
48624 * partmap/amiga.c: Likewise.
48625 * partmap/apple.c: Likewise.
48626 * partmap/pc.c: Likewise.
48627 * include/grub/partition.h: Likewise..
48628 * include/grub/pc_partition.h: Likewise.
48629 * util/grub-emu.c: Include <grub/partition.h> instead of
48630 <grub/machine/partition.h>.
48631 (main): Call `grub_pc_partition_map_init',
48632 `grub_amiga_partition_map_init' and
48633 `grub_apple_partition_map_init' and deinitialize afterwards.
48634 * util/i386/pc/biosdisk.c: Include `#include
48635 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48636 `<grub/machine/partition.h>'.
48637 * util/i386/pc/grub-setup.c: Likewise.
48638 * util/i386/pc/biosdisk.c: Likewise.
48639 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48640 partition information in case of a PC partition.
48641 * util/i386/pc/grub-setup.c: Include `#include
48642 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48643 `<grub/machine/partition.h>'.
48644 (setup): Only access the PC specific partition information in case
48645 of a PC partition.
48646
0ef4ced9 486472004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48648
0ef4ced9 48649 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48650 (grub_longjmp): Likewise.
48651 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48652 20.
48653 * normal/powerpc/setjmp.S: New file.
48654 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48655 `normal/powerpc/setjmp.S'.
48656 (grubof_CFLAGS): Add `-DGRUBOF'.
48657 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48658 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48659
19950e29 486602004-11-16 Marco Gerards <metgerards@student.han.nl>
48661
48662 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48663 property named `name'. Correctly handle the error returned by
48664 `grub_ieee1275_finddevice' if a device can not be opened.
48665
a2fea427 486662004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48667
48668 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48669 `actual' for negativity.
48670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48671 kern/fshelp.c.
48672
41ea0ea3 486732004-11-01 Marco Gerards <metgerards@student.han.nl>
48674
48675 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48676 (PAGE_OFFSET): New macro.
48677 (CRTC_ADDR_PORT): Likewise.
48678 (CRTC_DATA_PORT): Likewise.
48679 (START_ADDR_HIGH_REGISTER): Likewise.
48680 (START_ADDR_LOW_REGISTER): Likewise.
48681 (GRAPHICS_ADDR_PORT): Likewise.
48682 (GRAPHICS_DATA_PORT): Likewise.
48683 (READ_MAP_REGISTER): Likewise.
48684 (INPUT_STATUS1_REGISTER): Likewise.
48685 (INPUT_STATUS1_VERTR_BIT): Likewise.
48686 (page): New variable.
48687 (wait_vretrace): New function.
48688 (set_read_map): Likewise.
48689 (set_start_address): Likewise.
48690 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48691 the right page.
48692 (check_vga_mem): Take the page into account.
48693 (write_char): Likewise.
48694 (write_cursor): Likewise.
48695 (scroll_up): Likewise. Copy the page to the page that is not
48696 shown and switch between both pages.
48697 (grub_vga_putchar): Fix off by one error.
48698 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48699 account.
48700
ad0bd20b 487012004-11-01 Marco Gerards <metgerards@student.han.nl>
48702
48703 Add support for iso9660 (including rockridge).
f19dbdb7 48704
ad0bd20b 48705 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48706 (iso9660_mod_SOURCES): New variable.
48707 (iso9660_mod_CFLAGS): Likewise.
48708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48709 * include/grub/fs.h (grub_iso9660_init): New prototype.
48710 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48711 * fs/iso9660.c: New file.
48712
48713 * include/grub/misc.h (grub_strncat): New prototype.
48714 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48715
ad0bd20b 48716 * fs/hfs.c (grub_hfs_mount): Translate the error
48717 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48718 * fs/jfs.c (grub_jfs_mount): Likewise.
48719 * fs/ufs.c (grub_ufs_mount): Likewise.
48720
a5477a59 487212004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48722
48723 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48724 which initialized BAT registers.
48725 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48726 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48727 Move from here...
48728 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48729 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48730 ... to here.
48731 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48732 (grub_mapclaim): Likewise.
48733 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48734 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48735 hand.
48736
9304c1f8 487372004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48738
48739 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48740 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48741 -ffreestanding and -msoft-float.
48742
86f4ae25 487432004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48744
48745 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48746 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48747 set in grub_ieee1275_flags.
48748
38912228 487492004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48750
48751 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48752 prototype.
48753 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48754 grub_console_init first.
48755 Change the memory range used for grub_ieee1275_claim and
48756 grub_mm_init_region.
48757 Print an error message if the claim fails.
48758 Include <grub/misc.h>.
48759
d1923dc8 487602004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48761
48762 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48763 Call grub_children_iterate for device nodes of type `scsi',
48764 `ide', or `ata'.
48765 (grub_ofdisk_open): Remove manual device alias resolution.
48766 Fix memory leak when device cannot be opened.
f19dbdb7 48767 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48768 (grub_children_iterate): New prototype.
48769 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48770 New function.
48771 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48772 Return -1 if args.size was -1.
48773
4512e4f3 487742004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48775
48776 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48777 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48778 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48779 Open Firmware's memory for it; claim memory from _start to _end.
48780 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48781 (_end): New extern.
48782 (_start): Zero BSS from __bss_start to _end.
48783 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48784 New extern.
48785 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48786
4d61feb0 487872004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48788
ad0bd20b 48789 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48790 -1 if args.base was -1.
4d61feb0 48791
026fa2f9 487922004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48793
48794 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48795 escape sequence instead of a literal ^L. Also call
48796 grub_ofconsole_gotoxy.
48797
9f2220ef 487982004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48799
48800 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48801 void * arguments to grub_addr_t. All callers updated. Also make
48802 the `result' argument optional.
48803 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48804 All callers updated.
48805
8a572cd7 488062004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48807
48808 * commands/ls.c (grub_ls_list_files): Use the string following the
48809 initial ')', if present, as the filesystem path.
48810 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48811
48812 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48813
18aa81f2 488142004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48815
48816 Make the source code of the menu interface more readable.
f19dbdb7 48817
18aa81f2 48818 * normal/menu.c: Include grub/mm.h.
48819 (TERM_WIDTH): New macro.
48820 (TERM_HEIGHT): Likewise.
48821 (TERM_INFO_HEIGHT): Likewise.
48822 (TERM_MARGIN): Likewise.
48823 (TERM_SCROLL_WIDTH): Likewise.
48824 (TERM_TOP_BORDER_Y): Likewise.
48825 (TERM_LEFT_BORDER_X): Likewise.
48826 (TERM_BORDER_WIDTH): Likewise.
48827 (TERM_MESSAGE_HEIGHT): Likewise.
48828 (TERM_BORDER_HEIGHT): Likewise.
48829 (TERM_NUM_ENTRIES): Likewise.
48830 (TERM_FIRST_ENTRY_Y): Likewise.
48831 (TERM_ENTRY_WIDTH): Likewise.
48832 (TERM_CURSOR_X): Likewise.
48833 (draw_border): Use macros instead of magic numbers.
48834 (print_entry): Likewise.
48835 (print_entries): Likewise.
48836 (run_menu): Likewise. Also, handle the key 'e'.
48837 (run_menu_entry): Ignore empty command lines.
48838 (print_message): Added a new argument EDIT. If EDIT is true,
48839 print a different message.
48840 (init_page): Likewise.
48841 (edit_menu_entry): New function. Not implemented yet.
48842
b47efe30 488432004-09-17 Marco Gerards <metgerards@student.han.nl>
48844
48845 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48846 can be loaded from normal mode.
f19dbdb7 48847
b47efe30 48848 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48849 `multiboot.mod'.
48850 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48851 (multiboot_mod_CFLAGS): New variables.
48852 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48853 * loader/i386/pc/multiboot_normal.c: Likewise.
48854
b47efe30 48855 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48856 attribute `unused'.
f19dbdb7 48857
b47efe30 48858 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48859 `fdiro' to read the mode information from instead of `diro'.
48860
48861 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48862 looking up a symlink.
48863
48864 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48865 macro.
48866 * normal/command.c (grub_command_execute): Don't parse the
48867 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48868 flags of the command.
48869
48870 * normal/menu.c (grub_menu_run): Fix typo.
48871
da75ac71 488722004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48873
48874 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48875
48876 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48877 `y + 1' instead of `y - 1'.
48878
48879 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48880
062b24c2 488812004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48882
48883 From Hollis Blanchard <hollis@penguinppc.org>:
48884 * kern/misc.c (memmove): New alias for grub_memmove.
48885 (memcmp): New alias for grub_memcmp.
48886 (memset): New alias for grub_memset.
f19dbdb7 48887 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48888 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48889 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48890 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48891
8ddad845 488922004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48893
48894 Added normal mode command `chainloader' as module chain.mod, which
48895 depends on normal.mod and _chain.mod.
f19dbdb7 48896
8ddad845 48897 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48898 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48899 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48900 Deleted prototype.
48901 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48902 but arguments parsing moved to ...
48903 (grub_chainloader_cmd): ... here. New function.
48904 * include/grub/i386/pc/chainloader.h: New file.
48905 * loader/i386/pc/chainloader_normal.c: Likewise.
48906
2c1f4ce3 489072004-09-11 Marco Gerards <metgerards@student.han.nl>
48908
48909 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48910 (grub_mkimage_LDFLAGS): Likewise.
48911 (grub_emu_SOURCES): Likewise.
48912 (kernel_img_HEADERS): Added fshelp.h.
48913 * fs/ext2.c: Include <grub/fshelp.h>.
48914 (FILETYPE_REG): New macro.
48915 (FILETYPE_INO_REG): Likewise.
48916 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48917 Changed all users.
48918 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48919 all users.
48920 (grub_fshelp_node): New struct.
48921 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48922 to a pointer.
48923 (grub_ext2_get_file_block): Removed function.
48924 (grub_ext2_read_block): New function.
48925 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48926 This function was written.
48927 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48928 (grub_ext2_find_file): Removed function.
48929 (grub_ext2_read_symlink): New function.
48930 (grub_ext2_iterate_dir): Likewise.
48931 (grub_ext2_open): Rewritten.
48932 (grub_ext2_dir): Rewritten.
48933 * include/grub/fshelp.h: New file.
48934 * fs/fshelp.c: Likewise.
48935
3c52136a 489362004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48937
48938 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48939 (print_message): Add a missing newline.
48940 (run_menu): Added timeout support.
48941 (run_menu_entry): New local function.
48942 (grub_menu_run): Added support for booting.
48943
48944 * kern/loader.c (grub_loader_is_loaded): New function.
48945
48946 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48947 (grub_get_rtc): Exported.
48948
48949 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48950 (grub_get_rtc): Exported.
48951
48952 * include/grub/normal.h (struct grub_command_list): Remove
48953 constant from the member `command'.
48954
48955 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48956
48957 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48958
48959 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48960
aa033560 489612004-08-28 Marco Gerards <metgerards@student.han.nl>
48962
48963 Add support for the JFS filesystem.
48964
48965 * fs/jfs.c: New file.
48966 * include/grub/fs.h (grub_jfs_init): New prototype.
48967 (grub_jfs_fini): New prototype.
48968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48969 (grub_emu_SOURCES): Likewise.
48970 (pkgdata_MODULES): Add jfs.mod.
48971 (jfs_mod_SOURCES): New variable.
48972 (jfs_mod_CFLAGS): Likewise.
48973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48974 (grubof_SOURCES): Likewise.
48975 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48976
48977 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48978 endian to the host endian.
48979 (grub_fat_utf16_to_utf8): Move function from there...
48980 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48981 the endianness of the source string anymore.
aa033560 48982 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48983
94bc45af 489842004-08-24 Marco Gerards <metgerards@student.han.nl>
48985
48986 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48987 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48988 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48989 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48990
94bc45af 48991 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48992 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48993 for `node_found' and `it_dir'.
48994 (grub_hfs_dir): Add prototype for `dir_hook'.
48995
48996 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48997 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48998 and `indir32' to silence a gcc warning.
48999
49000 * include/grub/fs.h (grub_hfs_init): New prototype.
49001 (grub_hfs_fini): Likewise.
f19dbdb7 49002
49003
97543f08 490042004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49005
49006 Each disk device has its own id now. This is useful to make use
49007 of multiple disk devices.
f19dbdb7 49008
97543f08 49009 * include/grub/disk.h (grub_disk_dev_id): New enum.
49010 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49011 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49012
49013 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49014 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49015
49016 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49017 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49018
49019 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49020 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49021
49022 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49023 "id" which is used by the cache manager.
49024
49025 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49026 of just "GRUB".
49027
64372eb4 490282004-08-18 Marco Gerards <metgerards@student.han.nl>
49029
49030 * fs/hfs.c: New file.
49031 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49032 (grub_emu_SOURCES): Likewise.
49033 (pkgdata_MODULES): Add hfs.mod.
49034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49035 (grubof_SOURCES): Likewise.
49036 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49037
49038 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49039 * kern/misc.c (grub_strncasecmp): Add function.
49040
cc61b58f 490412004-08-14 Marco Gerards <metgerards@student.han.nl>
49042
49043 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49044 with parentheses.
49045
49046 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49047 (grub_ext2_dir): In case the directory entry type is unknown, read
49048 it from the inode.
49049
0ef123f6 490502004-08-02 Peter Bruin <pjbruin@dds.nl>
49051
49052 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49053 grub_load_linux instead of grub_rescue_cmd_linux as second
49054 argument of grub_rescue_register_command.
49055
49056 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49057
a447c5df 490582004-07-27 Marco Gerards <metgerards@student.han.nl>
49059
49060 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49061 function.
49062 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49063 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49064 `loader/powerpc/ieee1275/linux.c',
49065 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49066 * include/grub/powerpc/ieee1275/ieee1275.h
49067 (grub_ieee1275_release): New prototype.
49068 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49069 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49070 normal, boot, linux and linux_normal.
49071 * loader/powerpc/ieee1275/linux.c: New file.
49072 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49073
5a9e3546 490742004-07-12 Marco Gerards <metgerards@student.han.nl>
49075
49076 * normal/arg.c (grub_arg_parse): Correct error handling after
49077 reallocating the argumentlist (check if `argl' is not null instead
49078 of checking if `args' is not null).
49079 * kern/mm.c (grub_realloc): Return the same pointer when using the
49080 same region, instead of returning the header address.
49081
e15199cb 490822004-07-11 Marco Gerards <metgerards@student.han.nl>
49083
49084 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49085 one block instead of two when looking for the initial partition.
49086 (grub_partition_probe): Initialize the local variable `p' with 0.
49087 Use base 10 for the grub_strtoul call.
49088 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49089 need for one local variable.
49090 (grub_strtoul): Don't add the new value to `num', instead of that
49091 just assign it.
49092
020616c2 490932004-07-11 Marco Gerards <metgerards@student.han.nl>
49094
49095 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49096 (pxeboot_img_SOURCES): New variable.
49097 (pxeboot_img_ASFLAGS): Likewise.
49098 (pxeboot_img_LDFLAGS): Likewise.
49099 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49100 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49101 <lode_leroy@hotmail.com>.
49102
6c51eb64 491032004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49104
49105 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49106 there was no input.
49107
cfb12aff 491082004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49109
49110 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49111 the history buffer logic.
49112
6eabba74 491132004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49114
49115 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49116 (FILETYPE_INO_SYMLINK): New macros.
49117 (grub_ext2_find_file): Check if the node is a directory using the
49118 inode stat information instead of using the filetype in the
49119 dirent. Exclude the first character of an absolute symlink.
49120 (grub_ext2_dir): Mask out the filetype part of the mode member of
49121 the inode.
49122
66e19ef8 491232004-05-24 Marco Gerards <metgerards@student.han.nl>
49124
49125 Add support for UFS version 1 and 2. Add support for the minix
49126 filesystem version 1 and 2, both the variants with 14 and 30 long
49127 filenames.
f19dbdb7 49128
66e19ef8 49129 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49130 fs/minix.c.
49131 (grub_emu_SOURCES): Likewise.
49132 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49133 (ufs_mod_SOURCES): New variable.
49134 (ufs_mod_CFLAGS): Likewise.
49135 (minix_mod_SOURCES): Likewise.
49136 (minix_mod_CFLAGS): Likewise.
49137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49138 fs/minix.c.
49139 (grubof_SOURCES): Likewise.
49140 * fs/ufs.c: New file.
49141 * fs/minix.c: New file.
49142 * include/grub/fs.h (grub_ufs_init): New prototype.
49143 (grub_ufs_fini): Likewise.
49144 (grub_minix_init): Likewise.
49145 (grub_minix_fini): Likewise.
49146 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49147 minix fs.
49148
cc2e748a 491492004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49150
49151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49152 commands/ls.c, commands/terminal.c, commands/boot.c,
49153 commands/cmp.c and commands/cat.c.
49154 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49155
49156 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49157 "env.h"
49158
4b13b216 491592004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49160
49161 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49162 and grub_, respectively. Because the conversion is trivial and
49163 mechanical, I omit the details here. Please refer to the CVS
49164 if you need more information.
49165
6a142551 491662004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49167
49168 * include/pupa: Renamed to ...
49169 * include/grub: ... this.
49170 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49171 * util/i386/pc/grub-mkimage.c: ... this.
49172 * util/i386/pc/pupa-setup.c: Renamed to ...
49173 * util/i386/pc/grub-setup.c: ... this.
49174 * util/pupa-emu.c: Renamed to ...
49175 * util/grub-emu.c: ... this.
49176
e56cdf21 491772004-03-29 Marco Gerards <metgerards@student.han.nl>
49178
49179 Add support for the newworld apple macintosh (PPC). This has been
49180 tested on the powerbook 2000 only. It only adds support for
49181 generic ieee1275 functions, console and disk support. This should
49182 be easy to port to other architectures with support for Open
49183 Firmware.
f19dbdb7 49184
e56cdf21 49185 * configure.ac: Accept the powerpc as host_cpu. In the case of
49186 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49187 specific tests are only executed while building for the i386.
49188 Inverse test for crosscompile.
49189 * genmk.rb (Utility): Allow assembler files.
49190 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49191 * conf/powerpc-ieee1275.rmk: New file.
49192 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49193 * disk/powerpc/ieee1275/partition.c: Likewise.
49194 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49195 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49196 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49197 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49198 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49199 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49200 * include/pupa/powerpc/ieee1275/loader.h
49201 * include/pupa/powerpc/setjmp.h: Likewise.
49202 * include/pupa/powerpc/types.h: Likewise.
49203 * kern/powerpc/ieee1275/init.c: Likewise.
49204 * kern/powerpc/ieee1275/openfw.c: Likewise.
49205 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49206
49207 These files were written by Johan Rydberg
49208 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49209
e56cdf21 49210 * boot/powerpc/ieee1275/cmain.c: New file.
49211 * boot/powerpc/ieee1275/crt0.S: Likewise.
49212 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49213 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49214
8c8cc205 492152004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49216
49217 * Makefile.in: Update copyright.
49218 * genmodsrc.sh: Likewise.
49219 * gensymlist.sh: Likewise.
49220 * term/i386/pc/vga.c: Indent correctly.
49221
49222 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49223 bugreporting address.
49224 * util/i386/pc/pupa-setup.c (usage): Likewise,
49225 (main): Call pupa_ext2_init and pupa_ext2_fini.
49226
f19dbdb7 49227 * fs/fat.c (log2): Renamed to ...
8c8cc205 49228 (fat_log2): ... this.
49229 All callers changed.
49230 * kern/misc.c (memcpy): Alias to pupa_memmove.
49231 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49232 lvalue cast.
49233 * util/console.c (pupa_ncurses_fini): Return 0.
49234
49235 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49236 Move fail label here.
49237 [__GNU__]: Don't warn when using stat.
49238 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49239 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49240 long int. Use strtol instead of strtoul.
f19dbdb7 49241
db1771cf 492422004-03-14 Marco Gerards <metgerards@student.han.nl>
49243
49244 * commands/boot.c: New file.
49245 * commands/cat.c: Likewise.
49246 * commands/cmp.c: Likewise.
49247 * commands/ls.c: Likewise.
49248 * commands/terminal.c: Likewise.
49249 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49250 (pupa_register_command): Changed interface to match the new
49251 argument parser.
49252 (pupa_command_execute): Changed (almost rewritten) so it uses
49253 pupa_split_command. Added support for setting variables using the
49254 syntax `foo=bar'.
49255 (rescue_command): Changed to work with the new argument parser.
49256 (terminal_command): Moved from here to commands/terminal.c.
49257 (set_command): New function.
49258 (unset_command): New function.
49259 (insmod_command): New function.
49260 (rmmod_command): New function.
49261 (lsmod_command): New function.
49262 (pupa_command_init): Don't initialize the command terminal
49263 anymore. Initialize the commands set, unset, insmod, rmmod and
49264 lsmod.
49265 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49266 (kernel_img_HEADERS): Add arg.h and env.h.
49267 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49268 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49269 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49270 normal/arg.c.
49271 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49272 terminal.mod.
49273 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49274 (boot_mod_SOURCES): New variable.
49275 (terminal_mod_SOURCES): Likewise.
49276 (ls_mod_SOURCES): Likewise.
49277 (cmp_mod_SOURCES): Likewise.
49278 (cat_mod_SOURCES): Likewise.
49279
49280 * normal/arg.c: New file.
49281 * kern/env.c: Likewise.
49282 * include/pupa/arg.h: Likewise.
49283 * include/pupa/env.h: Likewise.
49284 * font/manager.c (font_command): Changed to match argument parsing
49285 interface changes.
49286 (PUPA_MOD_INIT): Likewise.
49287 * hello/hello.c (pupa_cmd_hello): Likewise.
49288 (PUPA_MOD_INIT): Likewise.
49289 * include/pupa/disk.h: Include <pupa/device.h>.
49290 (pupa_print_partinfo): New prototype.
49291 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49292 (pupa_dl_get_prefix): Likewise.
49293 * include/pupa/misc.h: Include <pupa/err.h>.
49294 (pupa_isgraph): New prototype.
49295 (pupa_isdigit): Likewise.
49296 (pupa_split_cmdline): Likewise.
49297 * include/pupa/normal.h: Include <pupa/arg.h>.
49298 (pupa_command): Changed the prototype of the member `func' to
49299 match the argument parsing interface. Added member `options'.
49300 (pupa_register_command): Updated to match function.
49301 (pupa_arg_parse): New prototype.
49302 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49303 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49304 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49305 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49306 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49307 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49308 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49309 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49310 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49311 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49312 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49313 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49314 * kern/disk.c: Include <pupa/file.h>.
49315 (pupa_print_partinfo): New function.
49316 * kern/dl.c: Include <pupa/env.h>.
49317 (pupa_dl_dir): Variable removed.
49318 (pupa_dl_load): Use the environment variable `prefix' instead of
49319 the variable pupa_dl_dir.
49320 (pupa_dl_set_prefix): Function removed.
49321 (pupa_dl_get_prefix): Likewise.
49322 * kern/i386/pc/init.c: Include <pupa/env.h>.
49323 (pupa_machine_init): Use the environment variable `prefix' instead of
49324 using pupa_dl_set_prefix to set the prefix.
49325 * kern/main.c: Include <pupa/env.h>.
49326 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49327 using pupa_dl_get_prefix to get the prefix.
49328 * kern/misc.c: Include <pupa/env.h>.
49329 (pupa_isdigit): New function.
49330 (pupa_isgraph): Likewise.
49331 (pupa_ftoa): Likewise.
49332 (pupa_vsprintf): Added support for printing values of the type
49333 `double'. Make it possible to format variable output when using
49334 formatting like `%1.2%f'.
49335 (pupa_split_cmdline): New function.
49336 * kern/rescue.c: Include <pupa/env.h>.
49337 (next_word): Removed function.
49338 (pupa_rescue_cmd_prefix): Likewise.
49339 (pupa_rescue_cmd_set): New function.
49340 (pupa_rescue_cmd_unset): New function.
49341 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49342 split the command line instead of splitting it here. Added
49343 support for setting variables using the syntax `foo=bar'. Don't
49344 initialize the prefix command anymore. Initialized the set and
49345 unset commands.
49346 * normal/cmdline.c: Include <pupa/env.h>.
49347 (pupa_tab_complete): Added prototypes for print_simple_completion,
49348 print_partition_completion, add_completion, iterate_commands,
49349 iterate_dev, iterate_part and iterate_dir. Moved code to print
49350 partition information from here to kern/disk.c.
fe6b695a 49351 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49352 * normal/main.c: Include <pupa/env.h>.
49353 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49354 instead of using pupa_dl_get_prefix to get the prefix.
49355 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49356 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49357 warning.
49358 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49359 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49360 ((unused))' to silence a gcc warning.
49361 (pupa_vga_setcolor): Likewise.
49362 (debug_command): Changed to match argument parsing
49363 interface changes.
49364 * util/pupa-emu.c: Include <pupa/env.h>.
49365 (options): Added 0's for unused fields to silence a gcc warning.
49366 (argp): Likewise.
49367 (main): Use the environment variable `prefix' instead of using
49368 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49369 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49370 and terminal.
49371
49372 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49373 * util/misc.c: Include <malloc.h>.
49374 (pupa_malloc): Rewritten so errors are correctly reported.
49375 (pupa_realloc): Likewise.
49376 (pupa_memalign): Likewise.
49377 (pupa_mm_init_region): Declare unused variables with
49378 `__attribute__ ((unused))' to silence a gcc warning.
49379 * normal/i386/setjmp.S: Remove tab at the end of the file to
49380 silence a gcc warning.
49381 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49382 variables with `__attribute__ ((unused))' to silence a gcc
49383 warning.
49384 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49385 local variable i unsigned to silence a gcc warning.
49386
49387 * kern/term.c: Include <pupa/misc.h>.
49388 (pupa_more_lines): New variable.
49389 (pupa_more): Likewise.
49390 (pupa_putcode): When the pager is active pause at the end of every
49391 screen.
49392 (pupa_set_more): New function.
49393 * include/pupa/term.h (pupa_set_more): New prototype.
49394
49395
3b1139cb 493962004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49397
49398 Now this project is GRUB 2 rather than PUPA. The location of
49399 the CVS repository was moved to GRUB's.
f19dbdb7 49400
3b1139cb 49401 * configure.ac: Use bug-grub as the reporting address.
49402 Use GRUB instead of PUPA.
49403 Change the version number to 1.90.
49404
8367695c 494052004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49406
49407 * genkernsyms.sh: Updated copyright information.
49408 * genmk.rb: Likewise.
49409 * genmodsrc.sh: Likewise.
49410 * gensymlist.sh: Likewise.
49411 * boot/i386/pc/boot.S: Likewise.
49412 * boot/i386/pc/diskboot.S: Likewise.
49413 * disk/i386/pc/biosdisk.c: Likewise.
49414 * disk/i386/pc/partition.c: Likewise.
49415 * font/manager.c: Likewise.
49416 * fs/ext2.c: Likewise.
49417 * fs/fat.c: Likewise.
49418 * include/pupa/boot.h: Likewise.
49419 * include/pupa/device.h: Likewise.
49420 * include/pupa/disk.h: Likewise.
49421 * include/pupa/dl.h: Likewise.
49422 * include/pupa/elf.h: Likewise.
49423 * include/pupa/err.h: Likewise.
49424 * include/pupa/file.h: Likewise.
49425 * include/pupa/font.h: Likewise.
49426 * include/pupa/fs.h: Likewise.
49427 * include/pupa/kernel.h: Likewise.
49428 * include/pupa/loader.h: Likewise.
49429 * include/pupa/misc.h: Likewise.
49430 * include/pupa/mm.h: Likewise.
49431 * include/pupa/net.h: Likewise.
49432 * include/pupa/normal.h: Likewise.
49433 * include/pupa/rescue.h: Likewise.
49434 * include/pupa/setjmp.h: Likewise.
49435 * include/pupa/symbol.h: Likewise.
49436 * include/pupa/term.h: Likewise.
49437 * include/pupa/types.h: Likewise.
49438 * include/pupa/i386/setjmp.h: Likewise.
49439 * include/pupa/i386/types.h: Likewise.
49440 * include/pupa/i386/pc/biosdisk.h: Likewise.
49441 * include/pupa/i386/pc/boot.h: Likewise.
49442 * include/pupa/i386/pc/console.h: Likewise.
49443 * include/pupa/i386/pc/init.h: Likewise.
49444 * include/pupa/i386/pc/kernel.h: Likewise.
49445 * include/pupa/i386/pc/linux.h: Likewise.
49446 * include/pupa/i386/pc/loader.h: Likewise.
49447 * include/pupa/i386/pc/memory.h: Likewise.
49448 * include/pupa/i386/pc/multiboot.h: Likewise.
49449 * include/pupa/i386/pc/partition.h: Likewise.
49450 * include/pupa/i386/pc/time.h: Likewise.
49451 * include/pupa/i386/pc/vga.h: Likewise.
49452 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49453 * include/pupa/util/getroot.h: Likewise.
49454 * include/pupa/util/misc.h: Likewise.
49455 * include/pupa/util/resolve.h: Likewise.
49456 * kern/device.c: Likewise.
49457 * kern/disk.c: Likewise.
49458 * kern/dl.c: Likewise.
49459 * kern/err.c: Likewise.
49460 * kern/file.c: Likewise.
49461 * kern/fs.c: Likewise.
49462 * kern/loader.c: Likewise.
49463 * kern/main.c: Likewise.
49464 * kern/misc.c: Likewise.
49465 * kern/mm.c: Likewise.
49466 * kern/rescue.c: Likewise.
49467 * kern/term.c: Likewise.
49468 * kern/i386/dl.c: Likewise.
49469 * kern/i386/pc/init.c: Likewise.
49470 * kern/i386/pc/lzo1x.S: Likewise.
49471 * kern/i386/pc/startup.S: Likewise.
49472 * loader/i386/pc/chainloader.c: Likewise.
49473 * loader/i386/pc/linux.c: Likewise.
49474 * loader/i386/pc/multiboot.c: Likewise.
49475 * normal/cmdline.c: Likewise.
49476 * normal/command.c: Likewise.
49477 * normal/main.c: Likewise.
49478 * normal/menu.c: Likewise.
49479 * normal/i386/setjmp.S: Likewise.
49480 * term/i386/pc/console.c: Likewise.
49481 * term/i386/pc/vga.c: Likewise.
49482 * util/console.c: Likewise.
49483 * util/genmoddep.c: Likewise.
49484 * util/misc.c: Likewise.
49485 * util/pupa-emu.c: Likewise.
49486 * util/resolve.c: Likewise.
49487 * util/unifont2pff.rb: Likewise.
49488 * util/i386/pc/biosdisk.c: Likewise.
49489 * util/i386/pc/getroot.c: Likewise.
49490 * util/i386/pc/pupa-mkimage.c: Likewise.
49491 * util/i386/pc/pupa-setup.c: Likewise.
49492
e6eced71 494932004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49494
49495 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49496 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49497 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49498 reading and reset it after reading.
49499 (pupa_ext2_close): Return PUPA_ERR_NONE.
49500
49501 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49502 Correct value.
49503 (struct linux_kernel_header): Add kernel_version and
49504 initrd_addr_max.
49505 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49506 pupa_file_read succeeds.
49507 (pupa_rescue_cmd_initrd): Implement.
49508
5aded270 495092003-12-03 Marco Gerards <metgerards@student.han.nl>
49510
49511 * fs/ext2.c (pupa_ext2_label): New function.
49512 (pupa_ext2_fs): Added label.
49513 * fs/fat.c (pupa_fat_label): New function.
49514 (pupa_fat_fs): Added label.
49515 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49516
49517 * kern/misc.c (pupa_strndup): New function.
49518 * include/pupa/misc.h (pupa_strndup): New prototype.
49519
49520 * include/pupa/normal.h: Include <pupa/err.h>.
49521 (pupa_set_history): New prototype.
49522 (pupa_iterate_commands): New prototype.
49523 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49524 <pupa/disk.h>, <pupa/file.h>.
49525 (hist_size): New variable.
49526 (hist_lines): Likewise.
49527 (hist_end): Likewise.
49528 (hist_used): Likewise.
49529 (pupa_set_history): New function.
49530 (pupa_history_get): Likewise.
49531 (pupa_history_add): Likewise.
49532 (pupa_history_replace): Likewise.
49533 (pupa_tab_complete): Likewise.
49534 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49535 completion shows partitionnames while completing partitions, this
49536 feature was suggested by Jeff Bailey.
49537 * normal/command.c (pupa_iterate_commands): New function.
49538 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49539 (pupa_normal_init): Initialize history buffer.
49540 (PUPA_MOD_INIT): Likewise.
49541 (pupa_normal_fini): Free the history buffer.
49542 (PUPA_MOD_FINI): Likewise.
49543
49544 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49545 key.
49546
49547 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49548 * configure.ac [i386]: Check for regparam bug.
49549 (NESTED_FUNC_ATTR) [! i386]: Defined.
49550
1f7315a3 495512003-11-17 Marco Gerards <metgerards@student.han.nl>
49552
49553 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49554 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49555 (pupa_emu_SOURCES): New variable.
49556 (pupa_emu_LDFLAGS): Likewise.
49557 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49558 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49559 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49560 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49561 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49562 (pupa_jmp_buf): New typedef.
49563 (pupa_setjmp) [PUPA_UTIL]: New macro.
49564 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49565 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49566 (pupa_refresh): New prototype.
49567 * include/pupa/util/getroot.h: New file.
49568 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49569 it.
49570 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49571 (pupa_rescue_cmd_cat): Likewise.
49572 (pupa_rescue_cmd_ls): Likewise.
49573 (pupa_rescue_cmd_testload): Likewise.
49574 (pupa_rescue_cmd_lsmod): Likewise.
49575 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49576 * normal/menu.c (run_menu): Likewise.
49577 * kern/term.c (pupa_cls): Likewise.
49578 (pupa_refresh): New function.
49579 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49580 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49581 * util/console.c: New file.
f19dbdb7 49582
1f7315a3 49583 * util/i386/pc/getroot.c: New file.
49584 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49585 (pupa_putchar): New function.
49586 (pupa_refresh): Likewise.
49587 (xgetcwd): Function moved to ...
49588 (strip_extra_slashes): Likewise.
49589 (get_prefix): Likewise.
f19dbdb7 49590 * util/i386/pc/getroot.c: ... here.
1f7315a3 49591 (find_root_device): Function moved and renamed to...
49592 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49593 Changed all callers.
49594 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49595 and renamed to...
49596 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49597 Changed all callers.
49598 * util/misc.c (pupa_memalign): New function.
49599 (pupa_mm_init_region): Likewise.
49600 (pupa_register_exported_symbols): Likewise.
49601 (pupa_putchar): Function removed.
49602 * util/pupa-emu.c: New file.
49603
9a5c1ade 496042003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49605
49606 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49607 (_multiboot_mod_SOURCES): New variable.
49608 (_multiboot_mod_CFLAGS): Likewise.
49609 * loader/i386/pc/multiboot.c: New file.
49610 * include/pupa/i386/pc/multiboot.h: Likewise.
49611 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49612 (pupa_multiboot_real_boot): New function.
49613 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49614 (pupa_multiboot_real_boot): New prototype.
49615 (pupa_rescue_cmd_multiboot): Likewise
49616 (pupa_rescue_cmd_module): Likewise.
49617
49618 * kern/loader.c (pupa_loader_set): Continue when
49619 pupa_loader_unload_func() fails.
49620 (pupa_loader_unset): New function.
49621 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49622
49623 * kern/misc.c (pupa_stpcpy): New function.
49624 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49625
8e72a9c0 496262003-11-12 Marco Gerards <metgerards@student.han.nl>
49627
49628 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49629 for available extensions.
49630
49631 * include/pupa/i386/pc/time.h: New file.
49632 * kern/disk.c: Include <pupa/machine/time.h>.
49633 (PUPA_CACHE_TIMEOUT): New macro.
49634 (pupa_last_time): New variable.
49635 (pupa_disk_open): Flush the cache when there was a timeout.
49636 (pupa_disk_close): Reset the timer.
49637 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49638 pupa_currticks.
49639 * util/misc.c: Include <sys/times.h>
49640 (pupa_get_rtc): New function.
49641
c4adbd32 496422003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49643
49644 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49645 as blocks.
49646 (pupa_ext2_get_file_block): Use blocks member.
49647
49648 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49649 first block. Return -1 instead of pupa_errno on error.
49650
bfd30f06 496512003-10-27 Marco Gerards <metgerards@student.han.nl>
49652
49653 * README: In the pupa-mkimage example use _chain instead of chain
49654 and ext2 instead of fat.
49655 * TODO: Replace ext2fs with jfs as an example. Add an item for
49656 adding journal playback for ext2fs.
49657 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49658 (pkgdata_MODULES): Added ext2.mod.
49659 (ext2_mod_SOURCES): New variable.
49660 (ext2_mod_CFLAGS): Likewise.
49661 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49662 * include/pupa/misc.h (pupa_strncpy): New prototype.
49663 (pupa_strcat): Likewise.
49664 (pupa_strncmp): Likewise.
49665 * kern/misc.c (pupa_strcat): Enable function.
49666 (pupa_strncpy): New function.
49667 (pupa_strncmp): Likewise.
49668 * fs/ext2.c: New file.
f19dbdb7 49669
bfd30f06 49670 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49671 when the read failed before retrying.
49672 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49673 (_FILE_OFFSET_BITS): Likewise.
49674 * configure.ac: Added AC_SYS_LARGEFILE.
49675
98d15063 496762003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49677
49678 * genmk.rb (PModule#rule): Make sure to get only symbol names
49679 from the output of nm.
59cad637 49680 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 49681
18d9c7cd 496822003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49683
49684 I forgot to check in these changes for a long time. This adds
49685 incomplete support for VGA console, and this is still very
49686 buggy. Also, a lot of consideration is required for I18N,
49687 UNICODE, and VGA font issues. Therefore, assume that this is
49688 such that "better than nothing".
f19dbdb7 49689
18d9c7cd 49690 * font/manager.c: New file.
49691 * include/pupa/font.h: Likewise.
49692 * include/pupa/i386/pc/vga.h: Likewise.
49693 * term/i386/pc/vga.c: Likewise.
49694 * util/unifont2pff.rb: Likewise.
49695
49696 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49697 (pkgdata_MODULES): Added vga.mod and font.mod.
49698 (vga_mod_SOURCES): New variables.
49699 (vga_mod_CFLAGS): Likewise.
49700 (font_mod_SOURCES): Likewise.
49701 (font_mod_CFLAGS): Likewise.
49702
49703 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49704
49705 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 49706 (struct pupa_term): Added init and fini.
18d9c7cd 49707 Changed the argument of putchar to pupa_uint32_t.
49708
49709 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49710 (pupa_console_real_putchar): New prototype.
49711 (pupa_console_putchar): Removed.
49712 (pupa_console_checkkey): Exported.
49713 (pupa_console_getkey): Likewise.
49714
49715 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49716 characters.
49717
49718 * kern/term.c (pupa_term_set_current): Rewritten.
49719 (pupa_putchar): Likewise.
49720 (pupa_putcode): New function.
49721
49722 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49723 (pupa_console_real_putchar): ... this.
49724 (pupa_vga_set_mode): New function.
49725 (pupa_vga_get_font): Likewise.
49726
49727 * normal/command.c: Include pupa/term.h.
49728 (terminal_command): New function.
49729 (pupa_command_init): Register the command "terminal".
49730
49731 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49732 (DISP_UP): Likewise.
49733 (DISP_RIGHT): Likewise.
49734 (DISP_DOWN): Likewise.
49735 (DISP_HLINE): Likewise.
49736 (DISP_VLINE): Likewise.
49737 (DISP_UL): Likewise.
49738 (DISP_UR): Likewise.
49739 (DISP_LL): Likewise.
49740 (DISP_LR): Likewise.
49741
49742 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49743
977329f5 497442003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49745
49746 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49747 FIX. Reverse the path_list.
49748
49749 * include/pupa/normal.h: Export pupa_register_command and
49750 pupa_unregister_command.
49751
49752 * hello/hello.c (pupa_cmd_hello): New module.
49753 * conf/i386-pc.rmk: Added hello.mod.
49754
1f5ab428 497552003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49756
49757 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49758
1f5ab428 49759 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49760 (compress_kernel): New variable.
49761 (generate_image): Heavily modified to support compressing a
49762 large part of the core image.
49763
49764 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49765 leak.
49766 (pupa_util_load_image): New function.
49767
49768 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49769 (pupa_compressed_size): New variable.
49770 (codestart): Enable Gate A20 here.
49771 Decompress the compressed part of the core image.
49772 Rearrange the code to put functions and variables which are
49773 required for initialization in the non-compressed part.
49774 Include lzo1x.S.
49775
49776 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49777 here.
49778
49779 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49780
f19dbdb7 49781 * include/pupa/i386/pc/kernel.h
1f5ab428 49782 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49783 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49784 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49785 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49786 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49787
49788 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49789
49790 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49791 (Utility#rule): Likewise.
49792
49793 * configure.ac: Check if LZO is available.
49794
ce5bf700 497952003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49796
49797 * include/pupa/normal.h: New file.
49798 * include/pupa/setjmp.h: Likewise.
49799 * include/pupa/i386/setjmp.h: Likewise.
49800 * normal/cmdline.c: Likewise.
49801 * normal/command.c: Likewise.
49802 * normal/main.c: Likewise.
49803 * normal/menu.c: Likewise.
49804 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49805
ce5bf700 49806 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49807 (pupa_rescue_cmd_initrd): Likewise.
49808
49809 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49810 Likewise.
49811
49812 * kern/i386/pc/startup.S (translation_table): New variable.
49813 (translate_keycode): New function.
49814 (pupa_console_getkey): Call translate_keycode.
49815
49816 * kern/rescue.c (attempt_normal_mode): New function.
49817 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49818 it failed, print a message.
49819
49820 * kern/mm.c (pupa_real_malloc): Print more information when a
49821 free magic is broken.
49822 (pupa_free): If the first free header is not free actually, set
49823 it to P.
49824
49825 * kern/main.c (pupa_load_normal_mode): Just load the module
49826 "normal".
49827 (pupa_main): Don't print the message
49828 "Entering into rescue mode..." here.
49829
49830 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49831 Declared.
49832 (pupa_rescue_cmd_initrd): Likewise.
49833 (pupa_rescue_cmd_initrd): Likewise.
49834
49835 * include/pupa/symbol.h (FUNCTION): Specify the type.
49836 (VARIABLE): Likewise.
49837
49838 * include/pupa/err.h (pupa_err_t): Added
49839 PUPA_ERR_UNKNOWN_COMMAND.
49840
49841 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49842 (pupa_dl_get_prefix): Likewise.
49843
49844 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49845 Added _chain.mod and _linux.mod instead of chain.mod and
49846 linux.mod.
49847 (chain_mod_SOURCES): Renamed to ...
49848 (_chain_mod_SOURCES): ... this.
49849 (chain_mod_CFLAGS): Renamed to ...
49850 (_chain_mod_CFLAGS): ... this.
49851 (linux_mod_SOURCES): Renamed to ...
49852 (_linux_mod_SOURCES): ... this.
49853 (linux_mod_CFLAGS): Renamed to ...
49854 (_linux_mod_CFLAGS): ... this.
49855 (normal_mod_SOURCES): New variable.
49856 (normal_mod_CFLAGS): Likewise.
49857 (normal_mod_ASFLAGS): Likewise.
49858
498592003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49860
49861 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49862 possible.
49863
fe6b695a 49864 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49865 recursively.
49866 (pupa_dl_unref): Unrefer depending modules recursively.
49867 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49868 a module is unloaded before one depending on that module is
49869 unloaded.
49870 (pupa_dl_unload): Unload depending modules explicitly,
49871 if possible.
49872
c04da074 498732003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49874
49875 * include/pupa/i386/pc/linux.h: New file.
49876 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49877
c04da074 49878 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49879 Removed.
49880 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49881 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49882 of PUPA_CHAINLOADER_BOOT_SECTOR.
49883
49884 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49885 (pupa_linux_prot_size): New variable.
49886 (pupa_linux_tmp_addr): Likewise.
49887 (pupa_linux_real_addr): Likewise.
49888 (pupa_linux_boot_zimage): New function.
49889 (pupa_linux_boot_bzimage): Likewise.
49890
49891 * kern/i386/pc/init.c (struct mem_region): New structure.
49892 (MAX_REGIONS): New macro.
49893 (mem_regions): New variable.
49894 (num_regions): Likewise.
49895 (pupa_os_area_addr): Likewise.
49896 (pupa_os_area_size): Likewise.
49897 (pupa_lower_mem): Likewise.
49898 (pupa_upper_mem): Likewise.
49899 (add_mem_region): New function.
49900 (compact_mem_regions): Likewise.
49901 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49902 the size of the conventional memory and that of so-called upper
49903 memory (before the first memory hole).
49904 Instead of adding each found region to free memory, use
49905 add_mem_region and add them after removing overlaps.
49906 Also, add only 1/4 of the upper memory to free memory. The rest
49907 is used for loading OS images. Maybe this is ad hoc, but this
49908 makes it much easier to relocate OS images when booting.
49909
49910 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49911 (pupa_enter_rescue_mode): Don't register initrd and module.
49912
49913 * kern/mm.c: Include pupa/dl.h.
49914
49915 * kern/main.c: Include pupa/file.h and pupa/device.h.
49916
49917 * kern/loader.c (pupa_loader_load_module_func): Removed.
49918 (pupa_loader_load_module): Likewise.
49919
49920 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49921 ``.o''.
49922
49923 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49924 (pupa_linux_tmp_addr): Likewise.
49925 (pupa_linux_real_addr): Likewise.
49926 (pupa_linux_boot_zimage): Likewise.
49927 (pupa_linux_boot_bzimage): Likewise.
49928
49929 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49930 (pupa_upper_mem): Likewise.
49931 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49932 module is too dangerous.
49933
49934 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49935 (pupa_os_area_size): Likewise.
49936 (pupa_loader_set): Remove the first argument. Loader doesn't
49937 manage modules or initrd any longer.
49938 (pupa_loader_load_module): Removed.
49939
49940 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49941 (linux_mod_SOURCES): New variable.
49942 (linux_mod_CFLAGS): Likewise.
49943
a13f9237 499442003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49945
49946 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49947 the length of a blocklist correctly.
49948
49949 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49950 Use ioctl only if the OS file is a block device.
49951 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49952 not very useful for normal files.
49953
49954 * kern/main.c (pupa_set_root_dev): New function.
49955 (pupa_load_normal_mode): Likewise.
49956 (pupa_main): Call those above.
49957
49958 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49959 pupa_uint16_t.
49960
49961 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49962
a5ffe966 499632003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49964
49965 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49966 (setup): Configure the installed partition information and the
49967 dl prefix.
49968
49969 * loader/i386/pc/chainloader.c (my_mod): New variable.
49970 (pupa_chainloader_unload): New function.
49971 (pupa_rescue_cmd_chainloader): Refer itself.
49972 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49973
49974 * kern/i386/pc/startup.S (install_partition): Removed.
49975 (version_string): Likewise.
49976 (config_file): Likewise.
49977 (pupa_install_dos_part): New variable.
49978 (pupa_install_bsd_part): Likewise.
49979 (pupa_prefix): Likewise.
49980 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49981
49982 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49983 and pupa/misc.h.
49984 (make_install_device): New function.
49985 (pupa_machine_init): Set the dl prefix.
49986
49987 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49988 (buf): Renamed to ...
49989 (linebuf): ... this.
49990 (pupa_rescue_cmd_prefix): New function.
49991 (pupa_rescue_cmd_insmod): Likewise.
49992 (pupa_rescue_cmd_rmmod): Likewise.
49993 (pupa_rescue_cmd_lsmod): Likewise.
49994 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49995 rmmod and lsmod.
49996
49997 * kern/mm.c (pupa_memalign): If failed even after invalidating
49998 disk caches, unload unneeded modules and retry.
49999
50000 * kern/misc.c (pupa_memmove): New function.
50001 (pupa_memcpy): Removed.
50002 (pupa_strcpy): New function.
50003 (pupa_itoa): Made static.
50004
50005 * kern/dl.c (pupa_dl_iterate): New function.
50006 (pupa_dl_ref): Likewise.
50007 (pupa_dl_unref): Likewise.
50008 (pupa_dl_unload): Return if succeeded or not.
50009 (pupa_dl_unload_unneeded): New function.
50010 (pupa_dl_unload_all): Likewise.
50011 (pupa_dl_init): Renamed to ...
50012 (pupa_dl_set_prefix): ... this.
50013 (pupa_dl_get_prefix): New function.
50014
50015 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50016 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50017 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50018 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50019 (pupa_install_dos_part): Declared.
50020 (pupa_install_bsd_part): Likewise.
50021 (pupa_prefix): Likewise.
50022 (pupa_boot_drive): Likewise.
50023
50024 * include/pupa/types.h: Fix a typo.
50025
50026 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50027 pupa_memmove.
50028 (pupa_memmove): Declared.
50029 (pupa_strcpy): Likewise.
50030
50031 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50032 pupa_mod_init takes one argument, its own module.
50033 (pupa_dl_unload_unneeded): Declared.
50034 (pupa_dl_unload_all): Likewise.
50035 (pupa_dl_ref): Likewise.
50036 (pupa_dl_unref): Likewise.
50037 (pupa_dl_iterate): Likewise.
50038 (pupa_dl_init): Renamed to ...
50039 (pupa_dl_set_prefix): ... this.
50040 (pupa_dl_get_prefix): Declared.
50041
50042 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50043 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50044 unloaded.
50045 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50046 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50047
50048 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50049 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50050
012d7999 500512003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50052
50053 * util/i386/pc/pupa-setup.c (setup): Define the internal
50054 function find_first_partition_start at the top level, because GCC
50055 3.0.x cannot compile internal functions in deeper scopes
50056 correctly.
50057 (find_root_device): Use lstat instead of stat.
50058 Don't follow symbolic links.
50059 Fix the path-constructing code.
50060
50061 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50062 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50063 by a BLKGETSIZE ioctl first, because block devices don't fill
50064 the member st_mode of the structure stat on Linux.
50065 [__linux__] (linux_find_partition): Use a temporary buffer
50066 REAL_DEV for the working space. Copy it to DEV before returning.
50067 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50068 buffer cache consistent.
50069 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50070 strncmp. The previous value was merely wrong.
50071 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50072
50073 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50074 FAT size is 12. The previous value was merely wrong.
50075
50076 * kern/main.c (pupa_main): Don't split the starting message from
50077 newlines.
50078
50079 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50080 LF, because BIOS goes crazy about character attributes in this
50081 case.
50082
1cc73a62 500832003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50084
50085 * include/i386/pc/util/biosdisk.h: New file.
50086 * util/i386/pc/biosdisk.c: Likewise.
50087 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50088
1cc73a62 50089 * Makefile.in (INCLUDE_DISTFILES): Added
50090 include/pupa/i386/pc/util/biosdisk.h.
50091 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50092 directory util/i386/pc.
50093 (install-local): Added a rule for sbin_UTILITIES.
50094 (uninstall): Likewise.
50095
50096 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50097
50098 * util/misc.c (xrealloc): New function.
50099 (pupa_malloc): Likewise.
50100 (pupa_free): Likewise.
50101 (pupa_realloc): Likewise.
50102 (pupa_stop): Likewise.
50103 (pupa_putchar): Likewise.
50104
50105 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50106
50107 * include/pupa/util/misc.h (xrealloc): Declared.
50108
50109 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50110 macro.
50111 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50112 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50113
50114 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50115 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50116
50117 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50118 way should be implemented.
50119 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50120
50121 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50122 the size of NAME for safety.
50123 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50124 0x88.
50125
50126 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50127 (pupa_setup_SOURCES): Likewise.
50128
50129 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50130
08b70fe8 501312002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50132
50133 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50134 bunch of pushl's from pusha, because this destroys the return
50135 value.
50136
62ddcc8f 501372002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50138
50139 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50140 This means that any missing prototypes could be fatal. Also, you
50141 must take care when writing assembly code. See the comments at
50142 the beginning of startup.S, for more details.
f19dbdb7 50143
62ddcc8f 50144 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50145 compilation mechanism.
50146 (pupa_chainloader_real_boot): Likewise.
50147 (pupa_biosdisk_rw_int13_extensions): Likewise.
50148 (pupa_biosdisk_rw_standard): Likewise.
50149 (pupa_biosdisk_check_int13_extensions): Likewise.
50150 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50151 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50152 (pupa_get_memsize): Likewise.
50153 (pupa_get_mmap_entry): Likewise.
50154 (pupa_console_putchar): Likewise.
50155 (pupa_console_setcursor): Likewise.
50156 (pupa_getrtsecs): Use pushl instead of push.
50157
50158 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50159 memory instead of the stack for a mmap entry, because some
50160 BIOSes may ignore the maximum size and overflow.
50161
50162 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50163
50164 * genmk.rb (PModule#rule): Compile automatically generated
50165 sources with module-specific CFLAGS as well as other sources.
50166
9962ed99 501672002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50168
50169 * configure.ac: Check ld.
50170 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50171 respectively, before checking endianness and sizes.
50172
50173 * Makefile.in (LD): New variable.
f19dbdb7 50174
abdfc3c5 501752002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50176
50177 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50178
6a161fa9 501792002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50180
50181 * Changelog: New file.
50182